1
参考文献:
openSUSE修复grub2
fstab文件详解
通过UUID方式在fstab中挂载分区
linux系统停在Ctrl+d界面的解决方法

三天前想在笔记本上再装一个 Centos 8,在为该系统准备磁盘分区的时候,不小心把 openSUSE 的 Boot 分区给格式化了!重启后该笔记本直接瘫痪了。

于是制作了 openSUSE 的启动U盘,进入 Rescue 模式。

登录用户为root,密码为空



一、新建一个/boot分区。

1.新建分区sda14

fdisk /dev/sda

2.把分区格式化为ext4类型

mkfs.ext4 /dev/sda14


二、修复GRUB2。

1.挂载崩溃的openSUSE的各分区和目录

显示磁盘分区列表
fdisk -l

从分区列表中查找并挂载 / 和 /home 分区
mount /dev/sda11 /mnt
mout /dev/sda12 /mnt/home
mout /dev/sda14 /mnt/boot

挂载必须的目录,否则系统无法运行
mount -t proc proc /mnt/proc
mount --rbind /sys /mnt/sys
mount --rbind /dev /mnt/dev

2.改变"/"目录(从Rescue系统的根目录,切换到openSUSE系统的根目录)

chroot /mnt

3.重新安装GRUB2

生成grub.cfg
grub2-mkconfig -o /boot/grub2/grub.cfg

安装grub2
grub2-install /dev/sda

4.重启系统

退出openSUSE系统
exit

重启
reboot

发现可以进入启动引导项了,选中openSUSE引导其启动,可以进入openSUSE开机画面,但是却无法开机。显示"Control-D"错误。于是有了第三步。


三、修改/etc/fstab文件,以恢复对磁盘分区的正确挂载。

重新进入Rescue模式,挂载openSUSE分区

1.显示磁盘分区所映射的UUID

blkid

2.对照上面的UUID信息,修改openSUSE下的/etc/fstab文件。

因为磁盘分区改变,所以导致了fstab中记录的挂载信息过时,更正为现在的磁盘分区UUID,就可以了。


重启成功进入openSUSE系统!哦耶~~


苏见微
44 声望3 粉丝

java程序员,linux系统爱好者。