系统排错
1.硬盘引导阶段
模拟问题:dd if=/dev/zero of=/dev/vda bs=446 count=1 硬盘引导字节丢失
解决方法:
(1)使用虚拟机管理器添加光盘驱动,并设置开机时使用光盘启动,进入rescue模式(挽救模式)
(2)输入命令:
chroot /mnt/sysimage 切换根目录至真实环境
grub2-install xxx(启动分区所在的硬盘)
grub2-install /dev/vda 启动硬盘
exit 退出真实环境
exit 退出挽救环境
(3)使用虚拟机管理器取消开机时使用光盘启动
(4)重新启动
2.文件引导阶段
(1)引导文件丢失
模拟问题:rm -fr /boot/grub2/grub.cfg 开机引导文件丢失
解决方法:
当丢失后系统没有重新启动时,执行命令即可恢复:
grub2-mkconfig > /boot/grub2/grub.cfg 导入开机引导文件
当丢失后系统重新之后:
开机时会出现以下界面:
此时需要输入命令引导开机:
grub > set root=‘hd0,msdos1’ 引导更改第一个磁盘的第一个分区
grub > linux16 /boot/vmlinuz-3.10.0-123.el7.x86_64 root=/dev/vda1 引导内核文件至驱动设备
grub > initrd16 /boot/initramfs-3.10.0-123.el7.x86_64.img 引导初始化镜像文件
grub > boot 开机
开机后执行命令导入开机引导文件:
grub2-mkconfig > /boot/grub2/grub.cfg 导入开机引导文件
(2)内核文件丢失
模拟问题:rm -fr /boot/vmlinuz-3.10.0-123.el7.x86_64 丢失内核文件
解决方法:
(1)使用虚拟机管理器添加光盘驱动,并设置开机时使用光盘启动,进入rescue模式(挽救模式)
方法同问题 1 ,在此不再演示
(2)执行命令:
chroot /mnt/sysimagfe 切换根目录从挽救环境进入系统真实环境
mkdir /rhel7 建立目录
mount /dev/sr0 rhel7 挂载光驱
cd /rhel7/Packages 进入安装包库
cp kernel-3.10.0-123.el7.x86_64.rpm /mnt 拷贝相关文件安装包到/mnt下
cd /mnt 进入/mnt目录
rpm2cpio kernel-3.10.0-123.el7.x86_64.rpm | cpio -id 拆解安装包找到相关内核文件
cd boot 进入boot/
cp vmlinuz-3.10.0-123.el7.x86_64 /boot 拷贝内核文件到/boot下
exit
exit 两次退出重新启动(退出真实环境、退出挽救环境)
(3)使用虚拟机管理器取消开机时使用光盘启动
方法同问题 1 ,在此不再演示
(4)重新启动
(3)初始化镜像文件丢失
模拟问题:rm -fr /boot/initramfs-3.10.0-123.el7.x86_64.img 丢失初始化镜像文件
解决方法:
当系统没有重启时,执行以下命令即可解决:
mkinitrd /boot/initramfs-$(uname -r).img $(uname -r) 添加初始化镜像文件
当系统已经重启时
(1)使用虚拟机管理器添加光盘驱动,并设置开机时使用光盘启动,进入rescue模式(挽救模式)
方法同问题 1 ,在此不再演示
(2)输入命令:
chroot /mnt/sysimage 切换根目录至真实环境
mkinitrd /boot/initramfs-$(uname -r).img $(uname -r) 添加初始化镜像文件
exit
exit 两次退出重新启动(退出真实环境、退出挽救环境)
(3)使用虚拟机管理器取消开机时使用光盘启动
方法同问题 1 ,在此不再演示
(4)重新启动
3.当/boot分区被删掉
模拟问题:rm -fr /boot
解决方法:
(1)使用虚拟机管理器添加光盘驱动,并设置开机时使用光盘启动,进入rescue模式
(2)执行命令:
chroot /mnt/sysimage 切换根目录至真实环境
mkdir /boot 创建新的/boot目录
grub2-install /dev/vda 启动硬盘设备
mount /dev/sr0 /mnt 挂载光驱
rpm -ivh /mnt/Packages/kernel-3.10.0-123.el7.x86_64.rpm --force 拆解安装内核安装包
grub2-mkconfig > /boot/grub2/grub.cfg 重新导入引导文件
exit
exit 两次退出重新启动(退出真实环境、退出挽救环境)
(3)使用虚拟机管理器取消开机时使用光盘启动
方法同问题 1 ,在此不再演示
(4)重新启动
4.开机启动级别被篡改
模拟问题:systemctl set-default reboot.target 改写开机启动级别
解决方法:
(1)开机时按上下键停止读秒
(2)按e进行编辑
(3)选择内核启动行,进行修改:
将
linux16 /vmlinuz-xxxxx ro xxxxx
改为:
linux16 /vmlinuz-xxxxx rw rd.break
(4)按“ctrl+x”完成修改
(5)执行命令:
chroot /sysroot 切换家目录
rm -fr /etc/systemd/system/default.target 删除被篡改的文件
ln -s /lib/systemd/system/graphical.target /etc/systemd/system/default.target 创建新的文件
exit
exit 两次退出重新启动(退出真实环境、退出挽救环境)