Linux:Ubuntu/Deepin刚装完系统就无法开机:unable to mount root fs on unknown-block(2,0)

更新时间:2022-07-29 09:54:19

我是deepin最新20.6的系统,外加之前装的win10双系统,刚装完deepin重启(grub引导),哦豁,没有没有双系统选择界面,只有一个Deepin的,选择Deepin开机准备修复grub后就出现了如题所示的错误。

原因猜测

1.装deepin时应该系统的grub只是单纯被释放到硬盘上,但是没有重新识别其他系统生成新的grub.cfg

2.分区文件出现问题(网上看的)

3.最新的deepin系统有一个rootb分区,但是我自己分区只分了一个根分区/和一个swap交换分区,应该是提示找不到这个rootb了(最有可能)

解决方案

在grub的引导界面时,不要让它进入系统,按c进入grub命令行模式。进入后第一件事先找出自己的/boot目录,如果你的分区是把boot单独分一个区的话,应该记得它的大小,我是直接分的根分区,/home都懒得分,所以只需要找我的/分区完事。

找boot

输入ls列出当前硬盘的分区,再一个个ls过去看卷标(你自己给它起的名字)和大小(分区size),比如

ls (hd0,msdos1)

d指的是硬盘,msdos/gpt指的就是分区类型,后面数字是第几个分区,以我的MBR硬盘举例。

或者记得自己分区顺序的就按顺序来,1是第一个分区,2是第二个分区,以此类推。比如说我的根分区在第一个硬盘的第二个分区(grub写的hd0一般都是grub所在硬盘),就是

ls (hd0,msdos2)

大小和卷标都对上之后就设置这个boot目录/分区为根启动。

boot为目录
root=(hd0,msdos2)
prefix=/boot/grub
insmod normal
normal

boot为分区(假如(hd0,msdos2)是boot分区)
root=(hd0,msdos2)
prefix=/grub
insmod normal
normal

开机更新

一开机马上更新grub.cfg,不然下次开机还是一样

sudo update-grub2

提示说找到其他系统就万事大吉了(以我为例,我装了双系统,一般情况下更新了就正常了)!

DeepinUbuntuLinux