抬头仰望星空,是否能发现自己的渺小。

伪斜杠青年

人们总是混淆了欲望和理想

解决grub启动时unable to mount root fs on …错误

我的电脑一直都是3个系统,一个elementary作为主系统,一个manjaro作为急救系统,一个Windows,很久没用了.

今天因为一次疏忽把elementary搞挂了,怎么说呢,就是在update的时候没有注意依赖,然后把整个xorg给干掉了, 想了下,就用8月的备份覆盖算了,虽然系统改动很大,但是至少我还知道调整而不用完全重装,

是的,最后我确实解决了,但是我却忘了一个致命的问题,我虽然在manjaro上恢复了elementary,但是我忘记更新grub2的引导菜单了,以至于再次启动manjaro时候出现了这个问题:也就是网上一直说的arch的高傲

Kernel panic - not syncing: VFS: Unable to mount root fs on unknown-block(0,0)

这是一个很常见的引导问题,网上搜索后几乎随处可见,但是解决方案寥寥无几,我自己第一想到的也是chroot,然后进入manjaro的bash去更新引导,但是问题来了,怎么才能在当前系统还在运行时,chroot到另外一个系统来修改grub引导,很明显,这是需要一个u盘的,通过启动cd的方式,进行,无独有偶,看到这篇帖子:https://forum.manjaro.org/t/kernel-panic-not-syncing-vfs-unable-to-mount-root-fs-on-unknown-block-0-0/4620

这位兄弟和我一模一样,虽然是英文的,但是我一楼一楼看下去,发现,有价值。这里有这么一段话是这样的:

I’m officially giving up Manjaro because of this issue. After many hours failing to install Manjaro because of an unpack problem with kde-image.sqfs I finally got Manjaro installed. When I tried to boot it I got this kernel issue. I tried to do the following but didn’t work:

sudo fdisk -l
sudo mount /dev/sdax /mnt
sudo mount –bind /dev /mnt/dev
sudo mount –bind /dev/pts /mnt/dev/pts
sudo mount –bind /proc /mnt/proc
sudo mount –bind /sys /mnt/sys
sudo chroot /mnt

mkinitcpio -g /boot/initramfsi486.img 4.4.19-1-MANJARO (don’t consider the name of the .img file, it’s just an example).

I had to get back to linux Mint. Mint isn’t that fast as Majaro is, but it never crashs.

虽然他说didn’t work并且放弃了,但是却帮我解决了问题,我之前也是chroot但是我用的是:

sudo chroot /media/lckiss/Arch/ /usr/bin/bash

这样也是可以进去bash执行命令,但是不会挂载其他需要的分区,所以报错:

/usr/bin/grub-probe:错误: cannot find a device for / (is /dev mounted?).

而上面的这几句(我的manjaro在sda3):

sudo mount /dev/sda3 /mnt
sudo mount --bind /dev /mnt/dev
sudo mount --bind /dev/pts /mnt/dev/pts
sudo mount --bind /proc /mnt/proc
sudo mount --bind /sys /mnt/sys
sudo chroot /mnt

很好的解决了我的那个问题,于是:

image.png

很明显,所有的启动项都找到了,这样足矣。

一直以来都有这个问题,特别是初期不懂Linux的时候,迟迟无解,但是今天,搞定了。而且也没费多少心思,人总是在成长的,慢慢来不心急,路上遇到的问题,都可以迎刃而解。


0条评论

发表评论