LINUX系统开启故障排错及linux-4.16.8内核编译安装

1、破解root口令,并为grub设置保护功能

1).进入单用户模式 在 GRUB 启动菜单里使用 “e” 操作按键进入 CentOS 的启动菜单向界面 ,移动光标至“kernel”配置项一行,在末尾加入single,ctrl+x,然后进入bash#页面
2).进入单用户模式后,不需要输入用户名和口令,系统启动完成后将直接获得管理员 root 的权限,控制台的提示符为“#”,需要以rw方式挂载/ mount -o remount rw /
3).输入passwd命令,键入两次新密码即可完成更改。破解root口令
4).vi /boot/grub/grub.conf
password --md5 passwd #grub-crypt 键入两次新密码即可完成生成MD5加密密码passwd,下次系统进入grub引导需要密码才能进入

2、破坏本机grub stage1,而后在救援模式下修复之

1).reboot后按下ESC,即可通过光盘引导,进入救援环境mbr446字节被破坏,备份数据到/data/mbr,采用dd命令
2)dd if=/data/mbr of=/dev/sda1 bs=1 count=446

3、删除vmlinuz和initramfs文件后无法启动,两种方法恢复之

reboot后按下ESC,即可通过光盘引导,进入救援环境

mkdir /mnt/cdrom
mount /dev/sr0 /mnt/cdrom
chroot /mnt/sysimage   #切换/
mkinitrd /boot/initramfs-`uname -r`.img `uname -r `
cp /mnt/cdrom/isolinux/vmlinuz  /boot/vmlinuz-`uname -r`
sync
sync #写入磁盘

方法二、

mkdir /mnt/cdrom
mount /dev/sr0 /mnt/cdrom
rpm -ivh /mnt/cdrom/Packages/kernel-2.6.32-696.e16.x86_64.rpm --root=/mnt/sysimage/ --force
ls /mnt/sysimage/boot

4、增加新硬盘,在其上制作能单独运行kernel和bash的系统

fdisk /dev/sdb
mkfs.ext4 /dev/sdb1  #/dev/sdb1对应/boot /dev/sdb2对应根 /
mkfs.ext4 /dev/sdb2
mkdir /mnt/boot
mount /dev/sdb1 /mnt/boot
grub-install --root-directory=/mnt /dev/sdb
cp /boot/vmlinuz-2.6.32-642.el6.x86_64 /mnt/boot/
cp /boot/initramfs-2.6.32-642.el6.x86_64.img /mnt/boot
cat >> /mnt/boot/grub.conf <<EOF
title wanglinux
root (hd0,0)
kernel /vmlinuz-2.6.32-642.el6.x86_64 root=/dev/sda2 selinux=0 init=/bin/bash
initrd /initramfs-2.6.32-642.el6.x86_64.img
EOF

chroot /mnt/sysroot
mkdir /mnt/sysroot
mount /dev/sdb2 /mnt/sysroot
mkdir –pv
/mnt/sysroot/{etc,lib,lib64,bin,sbin,tmp,var,usr,sys,proc,opt,home,root,boot,dev,mnt,media}
#复制bash和相关库文件
#复制相关命令及相关库文件

?5、在U盘上定制linux,使其可启动系统,并具有网络功能

6、删除/etc/fstab和/boot目录的所有文件,并恢复之

1).reboot后按下ESC,即可通过光盘引导,进入救援环境
fdisk -l  #查找对应的根在那个硬盘分区
mkdir /mnt/rsroot
mount /dev/sda2 /mnt/rsroot
cat >> /mnt/rsroot/etc/fstab <<EOF
/dev/sda2  /  exrt4  defaults 0 0
/dev/sda1 /boot exrt4  defaults 0 0 #临时恢复fstab文件
EOF
sync
exit

2).恢复fstab后,reboot后按下ESC,即可通过光盘再次引导,进入救援环境
mkdir /mnt/cdrom
mount /dev/sr0 /mnt/cdrom
rpm -ivh /mnt/cdrom/Packages/kernel-2.6.32-696.e16.x86_64.rpm --root=/mnt/sysimage/ --force
ls /mnt/sysimage/boot

chroot /mnt/sysimage #切根/
grub-install -- /dev/sda
cat > /boot/grub.conf
default=0
timmeout=5
title linux
    root(hd0,0)
    kernel /vmlinuz-2.6.32-696.el6.x86_64 ro root=/dev/sda3
    initrd /initramfs-2.6.32-696.el6.x86_64.img

ps:/boot/grub的配置文件:除了grub.conf ,splash.xpm.gz,系统干净的情况下,其他文件可以不存在;2.经过grub-install 后,/boot/grub所有文件都和启动相关,不可破坏

7、编译安装kernel,启用支持ntfs文件系统功能

下载 linux-4.16.8.tar.xz

tar -xvf linux-4.16.8.tar.xz
cd linux-4.16.8
cp /boot/config-3.10.0-862.el7.x86_64 .config
yum gruopinstall "Development Tools"
yum install ncurses
make menuinstall  #报错的可以安装一下,yum install ncurses ,基于curses的文本窗口 ,第一次编译安装的时候,yum gruopinstall "Development Tools"
#  General setup  --->  Local version - append to kernel release ---> enter,修改内核版本号相关参数
#  File systems  --->   DOS/FAT/NT Filesystems  --->  NTFS file system support ,修改linux可以支持NTFS文件系统
#  exti 保存
make -j [#]  ##代表cpu数量,越多编译速度越快,最后大概生成10-11G文件,全部编译
{
#只编译某子目录中的相关代码
cd /usr/src/linux
#make dir/
#只编译一个特定的模块
cd /usr/src/linux
#make dir/file.ko
make drivers/net/ethernet/intel/e1000/e1000.ko
}
make modules_install
#cp 相关模块到/lib/mouduls
make install
#安装bzImage为/boot/vmlinuz-VERSION-RELEASE
#生成initramfs文件
#编辑grub的配置文件
make clean #清理大多数编译生成的文件,但会保留config文件等
make mrproper #:清理所有编译生成的文件、config及某些备份文件
make distclean #mrproper、patches以及编辑器备份文件
reboot #开始新内核之旅吧

原文地址:http://blog.51cto.com/13698281/2115455

时间: 2024-10-07 21:33:28

LINUX系统开启故障排错及linux-4.16.8内核编译安装的相关文章

Linux启动和故障排错

Linux启动和故障排错 系统启动流程: 系统初始化:POST --> BootSequence (BIOS) --> Bootloader(MBR) -->kernel(ramdisk) -->rootfs(只读) -->init(systemd)init程序的类型:Upstart: init,CentOS 6配置文件:/etc/inittab, /etc/init/*.confSystemd:systemd, CentOS 7配置文件:/usr/lib/systemd/s

Linux系统的理解及学习Linux内核的心得

作业列表      linux内核分析作业:以一简单C程序为例,分析汇编代码理解计算机如何工作 linux内核分析作业:操作系统是如何工作的进行:完成一个简单的时间片轮转多道程序内核代码 linux内核分析作业3:跟踪分析Linux内核的启动过程 linux内核分析作业4:使用库函数API和C代码中嵌入汇编代码两种方式使用同一个系统调用 linux内核分析作业5:分析system_call中断处理过程 linux内核分析作业6:分析Linux内核创建一个新进程的过程 Linux内核分析作业7:L

Linux系统初学-第三课 Linux网络配置

Linux系统初学-第三课 Linux网络配置 1.动态IP配置 配置文件路径 /etc/sysconfig/network-scripts/ ls查看网卡eth0,其中HWADDR值得获取:ifconfig eht0 | grep HWaddr,保存之后,service network restart. c BOOTPROTO 网络配置参数,BOOTPROTO=dhcp 动态IP,BOOTPROTO=static 静态IP,BOOTPROTO=none 无(不指定) NETMASK 网络掩码,

linux笔记 14课linux内核参数设定及内核编译安装

1.linux内核参数设定及initramfs的生成 2.linux内核编译安装 一.回顾启动流程 post--引导次序(BIOS)--bootloader(MBR)--Kernel+ramdisk--根切换(footfs)--/sbin/init(配置文件)配置文件:设置默认运行级别--制定系统初始化脚本进行系统初始化--启动服务(/etc/rc.d/re#.d,/etc/rc.d/init.d)--/etc/rc.d/rc.local--设置Ctrlaltdel组合键--启动终端(minge

一次误操作引起的linux系统网络故障

1.故障描述 接到用户报障,生产某系统无法访问.同事接到报障后立即排查,经测试,系统确实无法访问,并且无法ping通服务器. 2.故障处理 由于客户端无法ping通服务器,需要进入机房查看.经查看,服务器硬件无报警,系统无重启.登录系统使用ifconfig命令查看,IP丢失(eth0不存在),紧接打开网卡配置目录/etc/sysconfig/network-scripts,发现网卡文件ifcfg-eth0丢失,只存在之前备份的ifcfg-eth0.bak文件和ifcfg-peth0文件.根据先抢

《Linux操作系统分析》之Linux系统的理解及学习Linux内核的心得

经过这一段时间的学习,自己对linux也有了一定的认识,今天这篇博客对以往的知识进行一个总结吧. 以往linux学习的博客,从上而下是学习深入的过程,我的博客链接如下: 第一篇:<Linux操作系统分析>之分析计算机如何启动以及如何工作运行 第二篇:<Linux操作系统分析>之分析精简的Linux的内核中断和时间片轮询 第三篇:<Linux操作系统分析>之跟踪分析Linux内核的启动过程 第四篇:<Linux操作系统分析>之使用库函数API和C代码中嵌入汇编

查看linux系统常用的命令,Linux查看系统配置常用命令

一.linux CPU大小  cat /proc/cpuinfo |grep "model name" && cat /proc/cpuinfo |grep "physical id" 说明:Linux下可以在/proc/cpuinfo中看到每个cpu的详细信息.但是对于双核的cpu,在cpuinfo中会看到两个cpu.常常会让人误以为是两个单核的cpu.其实应该通过Physical Processor ID来区分单核和双核.而Physical Pr

几个用来了解Linux系统的性能概况的Linux命令

Linux系统有一些基础的命令可以很好的用于服务器的监测. 只作简单介绍,具体用法可通过–help查看或查阅相关资料 网络:ifconfig,netstat 磁盘:df CPU:w 进程:ps 内存:free I/O:iostat ifconfig 输入ifconfig,输出结果为: eth0: flags=4163<UP,BROADCAST,RUNNING,MULTICAST> mtu 1500 inet 10.144.81.226 netmask 255.255.240.0 broadca

自制linux系统——打造属于自己的linux系统

很多时候我们直接使用别人帮我们打包好的一个linux系统,总感觉某些工具或者命令多余或者效果不好,那我们是否可以自制一个比较符合自己需求的linux系统出来了,答案是肯定的,而且实现这个目标也并困难,需要的时间也不会太长.接下来就给大家分享如何自制的过程. 环境需求: 1.Vmware虚拟机 2.Centos6.8光盘镜像IS0文件 3.Vmware上安装一份Centos6.8的操作系统 第一步:装载一块新硬盘到虚拟机的Centos6.8系统上,并保证系统正常读取 [[email protect