大家都知道/boot很重要,里面存放着内核和BootLoader的引导文件,如果这个目录被删除了,那系统肯定起不来,下图就是删除后的启动状态(此次以centos6为例):

BiOS 的BOOT被删 bios删了怎么办_/boot分区被删怎么修复


要修复/boot,就要修复里面最重要的几个文件:

  • /boot/vmlinuz --内核文件
  • /boot/initramfs --虚拟内存盘,
  • /boot/grub/grub.conf --grub2 stage2的核心配置文件

有两种修复方式,都是进入救援模式,怎么进救援模式呢?如果是虚拟机的话,在第一个进度条那里快速按一下键盘上的ESC,进入启动选择界面,如下,在这里选择第3项,进入光盘引导,再选择第3项,进入Rescue模式。

BiOS 的BOOT被删 bios删了怎么办_/boot分区被删怎么修复_02


BiOS 的BOOT被删 bios删了怎么办_配置文件_03


先来看方式一

BiOS 的BOOT被删 bios删了怎么办_根目录_04


(这里省了几个截图,一路点下去就是)此时系统默认的根为/boot所在分区,而原来的分区被挂载到了/mnt/sysimage下,所以第一步就是要切换根,挂载光盘,因为内核文件在安装系统时是直接从光盘中拷贝过来的,所以这个文件再从光盘中拷贝过来就是:

# chroot /mnt/sysimage
# mkdir -p /mnt/cdrom
# mount /dev/sr0 /mnt/cdrom
# cp /mnt/cdrom/isolinux/vmlinuz /boot/vmlinuz-`uname -r`

第二步,生成initramfs文件,

# mkinitrd /boot/initramfs-`uname -r`.img `uname -r`

贴个图(只需看其中关键的几行即可):

BiOS 的BOOT被删 bios删了怎么办_配置文件_05


第三步,用grub-install生成/boot/grub下的文件:

# grub-install /dev/sda 此时检查一下/boot目录下,是否该有的文件都有了

BiOS 的BOOT被删 bios删了怎么办_根目录_06


好了,还差最后一个grub stage2的配置文件grub.conf,手动建一个,也可以从光盘中拷贝过来,我这里就拷贝一个,

# cp /mnt/cdrom/isolinux/grub.conf /boot/grub/

复制过来的文件是这样:

BiOS 的BOOT被删 bios删了怎么办_配置文件_07


修改为如下,注意:这里需要指定根目录,如果不清楚根目录在哪个分区,可执行df查看

BiOS 的BOOT被删 bios删了怎么办_BiOS 的BOOT被删_08

在这里插入图片描述]()

保存后退出,执行两次exit,回到线这个页面重启

BiOS 的BOOT被删 bios删了怎么办_/boot分区被删怎么修复_09


Ok,正常进入桌面

BiOS 的BOOT被删 bios删了怎么办_/boot分区被删怎么修复_10


再来看方法二,和方法一不同的地方就是vmlinuz、initramfs这两个文件是靠安装内核包自动生成的。具体请看下文:

  1. 进入Rescue模式,
  2. 挂载光盘(先不切根)
  3. 安装kernel
# rpm -ivh /mnt/cdrom/Packages/kernel-`uname -r`.rpm --root=/mnt/sysimage/ --force

BiOS 的BOOT被删 bios删了怎么办_重启_11


可以查看一下是否生成文件:

BiOS 的BOOT被删 bios删了怎么办_重启_12

  1. 切根,执行grub-install生成grub目录下的必要文件
  2. 手动添加/boot/grub/grub.conf
    至此再重启即可。