linux系统恢复boot分区文件

实验目的:演示恢复centos6操作系统下的boot分区文件

实验准备:删除boot分区下的所有文件rm -rf /boot/*

image

恢复步骤

{分两种情况:第一种服务器尚未重启;第二种服务器已经重启}

服务器尚未重启恢复步骤

{略} #尚在测试中

服务器重启恢复步骤

  1. 使用同版本的ISO镜像进入linux rescue救援模式,下面以virtual box虚拟机操作为例。
    image
  2. 进入救援模式,步骤如下:
    image
    image
    image
    image
    image
    image
    image
    image
    image
  3. 挂载ISO镜像文件到/mnt/sysimage/mnt目录下(如果没有chroot /mnt/sysimage/);ISO镜像文件中,有操作系统需要安装的内核rpm包。
    image
  4. 进入救援模式后,需要强制重装内核rpm包,并安装到原操作系统根目录,也就是救援模式的/mnt/sysimage/目录下。
  • 此处注意--root是安装在原操作系统的根目录
    image
  1. 补全boot分区文件
    image
  2. 查看原操作系统的分区格式
  • 可见根分区为: /dev/mapper/VolGroup-lv_root
    image
  1. 启动并重新安装grub
  • 下图可见boot分区为 (hd0,0); 具体逻辑笔者也不清楚,但这一步是找到这个分区,然后在这个分区上进行安装grub。
    image
  • 此步的操作是将(hd0,0)也就是/dev/sda1设置为boot分区
  • setup (hd0) ##意思是在这个分区上安装grub
    image
  1. 重启系统,重新进入grub界面;并且手动指定grub位置,启动系统
    步骤如下:
  • root (hd0,0)

  • kernel /vmlinxxxxxx可补全 ro root=/dev/mapper/VolGroup-lv_root ##此处root的值为上面mount输出中/路径挂载的分区

  • initrd /initrxxx 可补全
    image
    image
    image

  • 笔者尝试过多次,有时候此处重启并不会正常进入到操作系统中,还是会返回到grub界面,此时只需要重复第8步操作即可,可见下图第二次操作后就能成功进入了。
    image

  1. 成功进入系统后,需要手动把/boot/grub/grub.conf这个文件内容补全,如果填写错误,也可能会导致重启后,重新进入到grub界面。建议从其他同操作系统服务器上拷贝一份,并在这个基础上做修改。
  • grub.conf文件权限默认为:700,但笔者测试711也可以正常启动系统。
    image

  • 编辑文件后,笔者每次都不会正常进入操作系统,而是跳转到下图;经过笔者耐心阅读,按c重新进入grub.conf界面,并重新执行第八步操作。
    image

后来笔者决定从另一台同版本的虚拟机拷贝grub.conf配置文件,如下:
  • 需要根据实际情况修改grub.conf配置文件内容
    image
    image
    image
重启后成功进入操作系统

image
image

posted @ 2021-11-21 21:16  弈虫  阅读(134)  评论(0)    收藏  举报