/boot分区被误删了怎么修复

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

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

有两种修复方式,都是进入救援模式,怎么进救援模式呢?如果是虚拟机的话,在第一个进度条那里快速按一下键盘上的ESC,进入启动选择界面,如下,在这里选择第3项,进入光盘引导,再选择第3项,进入Rescue模式。
在这里插入图片描述
在这里插入图片描述
先来看方式一
这里省了几个截图,一路点下去就是
(这里省了几个截图,一路点下去就是)此时系统默认的根为/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` 

贴个图(只需看其中关键的几行即可):
在这里插入图片描述
第三步,用grub-install生成/boot/grub下的文件:
# grub-install /dev/sda
此时检查一下/boot目录下,是否该有的文件都有了
在这里插入图片描述
好了,还差最后一个grub stage2的配置文件grub.conf,手动建一个,也可以从光盘中拷贝过来,我这里就拷贝一个,

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

复制过来的文件是这样:
在这里插入图片描述
修改为如下,注意:这里需要指定根目录,如果不清楚根目录在哪个分区,可执行df查看
在这里插入图片描述在这里插入图片描述](https://img-blog.csdnimg.cn/20190529114522522.png)
保存后退出,执行两次exit,回到线这个页面重启
在这里插入图片描述
Ok,正常进入桌面
在这里插入图片描述
再来看方法二,和方法一不同的地方就是vmlinuz、initramfs这两个文件是靠安装内核包自动生成的。具体请看下文:

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

在这里插入图片描述
可以查看一下是否生成文件:
在这里插入图片描述

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值