如果系统中很多重要的部分被删除了例如/boot下的所有东西,则可以通过救援模式
[root@dazzle1 桌面]# mkdir /backup
[root@dazzle1 桌面]# cp /etc/fstab /backup/fstab //先备份以下fstab文件,也可以不备份自己写
[root@dazzle1 桌面]# rm -rf /boot/* //删除/boot下的所有文件
[root@dazzle1 桌面]# rm -f /etc/fstab //删除fstab
[root@dazzle1 桌面]# rm -f /etc/inittab //删除启动级别文件
[root@dazzle1 桌面]# rm -f /etc/rc.d/rc.sysinit
[root@dazzle1 桌面]# rm -f /etc/rc.d/rc.local
[root@dazzle1 桌面]# dd if=/dev/zero of=/dev/sda bs=446 count=1 //将sda磁盘中的第一个446字节扇区清0
然后reboot
类似一个winpe系统进来之后一路选择然后continue之后选择shell
注意此时的根目录并不是之前linux的根目录,因为以及删除了fstab无法识别出原来的根分区
ls看不到之前创建的backup文件夹
先用fdisk -l查看一下磁盘数据还在不在,如果不在了直接重装吧
先将之前的根目录sda2挂载一下
然后将backup里面的fstab复制回原位/etc/fstab
然后exit到reboot重新进入救援模式
会发现识别出了之前的system分区并且帮你挂载到了/mnt/sysimage下,并且告知我们可以通过chroot /mnt/sysimage来进入我们系统的root环境(根目录变回了之前)然后继续进入shell
光盘中内核的包可以重装,先挂载光盘
然后rpm安装内核(主要需要用--root指明根目录,因为默认是安装在目前这个小系统的根目录里)
然后用chroot到原来的根目录,使用grub-install /dev/sda修复/grub目录下的文件
并且重写/boot/grub/grub.conf文件,文件名可以通过末行模式r! ls /boot/vm补全
然后重装inittab,rc.sysinit,rc.local三个文件,通过rpm -qf来查询包含的包
然后exit重启,登陆,修复完之后发现进入的是3启动级别(带网络的多用户模式)
修改成5然后reboot或者init 5进入图形化模式,到此修复完成。