一次艰辛的修复manjaro系统MBR的grub过程记录

2022-01-19  本文已影响0人  EvineDeng

前两天看着deepin 20.4社区版正式发布了,想着界面还挺看的,要不来试试?马上下载了iso镜像文件作为第二系统安装好,进入系统后发现deepin果然对老电脑不太友好,巨卡无比。 于是只能放弃,继续切换回我的manjaro xfce吧。

在grub界面选择manjaro后傻眼了,根本进不去manjaro,错误是:

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

deepin的安装器根本就没有正常识别到manjaro系统的initrd。在正常的manjaro中的/boot/grub/grub.cfg文件中manjaro的启动项大约是这样的:

    savedefault
    load_video
    set gfxpayload=keep
    insmod gzio
    insmod part_msdos
    insmod ext2
    set root='hd0,msdos5'
    if [ x$feature_platform_search_hint = xy ]; then
      search --no-floppy --fs-uuid --set=root --hint-bios=hd0,msdos5 --hint-efi=hd0,msdos5 --hint-baremetal=ahci0,msdos5  90d8e987-6bd4-4047-915b-a9015fd16c89
    else
      search --no-floppy --fs-uuid --set=root 90d8e987-6bd4-4047-915b-a9015fd16c89
    fi
    linux   /boot/vmlinuz-5.10-x86_64 root=UUID=90d8e987-6bd4-4047-915b-a9015fd16c89 ro  quiet apparmor=1 security=apparmor resume=UUID=14e90d14-8fca-43dd-a8f6-a46a47f5c9de udev.log_priority=3
    initrd  /boot/intel-ucode.img /boot/initramfs-5.10-x86_64.img

而在deepin系统生成的manjaro的启动项大概是这样:

    insmod part_msdos
    insmod ext2
    set root='hd0,msdos5'
    if [ x$feature_platform_search_hint = xy ]; then
      search --no-floppy --fs-uuid --set=root --hint-bios=hd0,msdos5 --hint-efi=hd0,msdos5 --hint-baremetal=ahci0,msdos5  90d8e987-6bd4-4047-915b-a9015fd16c89
    else
      search --no-floppy --fs-uuid --set=root 90d8e987-6bd4-4047-915b-a9015fd16c89
    fi
    linux   /boot/vmlinuz-5.10-x86_64 root=UUID=90d8e987-6bd4-4047-915b-a9015fd16c89 ro  quiet apparmor=1 security=apparmor resume=UUID=14e90d14-8fca-43dd-a8f6-a46a47f5c9de udev.log_priority=3
    initrd  /boot/intel-ucode.img

注意二者最后的initrd,正常的情况下有两个img(因为启用了闭源驱动),而deepin生成的/boot/grub/grub.cfg中initrd项只有一个/boot/intel-ucode.img,这导致无法从deepin的grub启动manjaro。

所以只能手动切换为manjaro的grub配置文件了。

然而我万万没想到安装了deepin后,后面还有一个坑(我装其他kubuntu, debian多系统都没这问题)。这里需要先说明一下我的分区结构:

我重新调用manjaro的grub配置文件重新进入manjaro后,发现无法登陆,现象是在登陆界面输入账号密码后屏幕一闪又重新回到登陆界面。

没办法,只好祭出控制台大法了,在登陆界面按CTRL+ALT+F2(注意是键盘左边的CTRL和ALT键,根据桌面系统的不同,可能是F1-F12中的某个)进入控制台,就在进入控制台的时候,就发现有问题了,根本无法进入manjaro系统用户的家目录/home/mevine。deepin用户的家目录是/home/devine,他们共用(hd0,msdos3),cd到/home/一看,发现是安装deepin时把权限给修改了:

[mevine@laptop ]$ cd /home
[mevine@laptop ]$ ls -l
总用量 28
drwx------  8 root    root     4096  7月 22 12:47 arch
drwxr-xr-x 19 devine  devine   4096  1月 19 13:55 devine
drwx------  2 root    root    16384  2月 14  2021 lost+found
drwx------ 38 root    root     4096  1月 20 15:37 mevine

这。。。这是什么操作?

只能恢复权限吧。

chown -R mevine:mevine mevine

顺便把grub更新了。

sudo grub-install /dev/sda
sudo update-grub

最后按CTRL+ALT+F7(根据桌面系统的不同,可能是F1-F12中的某个)终于能够重新进入桌面系统啦,终于搞定这次坑爹的多系统安装。

上一篇 下一篇

猜你喜欢

热点阅读