Linux删除/boot后该如何恢复

一、其实不光boot目录被删除,也有系统启动不起来等,一直因为/boot这个目录的的问题,今天就来解决一下

Centos 6

1.进入救援,先修复vmlinz(内核)

  chroot /mnt/sysimage    # 切换到真正的根

  mount /dev/sr0 /mnt/    # 先挂在光盘,必须要和当前系统的版本一样,否则内核版本不一样,无法启动

  cp /mnt//images/pxeboot/vmlinuz /boot/    # 将光盘文件中的内核文件复制到/boot分区

  

  如果不切根,则可以rpm -ivh /media/cdrom/Packages/kernel-2.6.32-696.el6.x86_64.rpm --root=/mnt/sysimage/boot --force做这一步和下一步

2.修复initrawfs(这个文件用于加载根分区的文件系统)

  mkinitrd /boot/initramfs.img `uname -r`    # 修复这个的时候,要指定文件的位置和名字,后边的`uname -r`是内核的参数

3.构建/boot/grub目录,这步可以不做,但是必须要创阿金/boot/grub这个目录

  grub-install /dev/sda          # 后边的/dev/sda是装系统的硬盘

4.创建、boot/grub/grub.conf文件,前边做的都是为了这一步

cat >> /boot/grub/grub.conf <<EOF  # 重定向文件中添加

default=0    # 默认启动的菜单序号

timeout=5    # 等待用户时间

title Linux    # 名字

kernel /vmlinuz root=/dev/mapper/vg_centos6-lv_root rhgb quiet selinux=0  # root后边的是系统根的分区,请根据自己的进行选择;rhgb:启动图形化;quiet:不显示内核启动过程;selinux=0:关闭selinux。

initrd /initramfs.img      # 设置initrd的路径

  EOF

二、ubuntu修复

2.1:修复boot目录

步骤一、以试用方式进入ubuntu光盘系统,打开终端(快捷键ctrl+alt+t);

步骤二、获取root权限:

sudo -i

步骤三 、列出所有的磁盘分区:

lsblk

步骤四 、挂载根目录的分区,其中X代表你的ubuntu系统的分区号

mount /dev/sdaX /mnt

步骤五(可选)、如果boot分区独立于根分区,则要挂载boot分区,其中Y代表boot分区号

mount /dev/sdaY /mnt/boot

步骤六 、挂载其他分区或设备;

mount --bind /dev /mnt/dev
mount --bind /proc /mnt/proc
mount --bind /sys /mnt/sys

步骤七、

chroot /mnt

步骤八 、重建grub,可以看到grub已经可以搜索出linux启动项和其他启动项;

update-grub

步骤九、安装grub到mbr,关闭ubuntu光盘系统并重启;

grub-install /dev/sda

步骤十(可选)、如果重启之后看不到windows之类或者其他的分区,在进入ubuntu系统之后再执行一次。

  sudo update-grub

上边的ubuntu参考链接:(https://www.cnblogs.com/davidhhuan/p/3347711.html

2.2:Grub修复

2.2.1:接下来大家应看会看到这个界面,那么接下来我们就来修复它吧

原文地址:https://www.cnblogs.com/-xuan/p/10586168.html