美文网首页
一次艰辛的修复manjaro系统MBR的grub过程记录

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

作者: EvineDeng | 来源:发表于2022-01-19 16:05 被阅读0次

    前两天看着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配置文件了。

    • 在grub界面按c进入grub命令行;
    • 输入ls检查有哪几个区,会输出形如下面这样的内容,每一个msdos就是一个分区(GPT的应该是类似于(hd0,gpt1)的形式);
      grub> ls
      (hd0) (hd0,msdos6) (hd0,msdos5) (hd0,msdos3) (hd0,msdos2) (hd0,msdos1)
      
    • 如果你不知道你的manjaro位于哪个分区,就依次找一下:cat (hd0,msdos5)/etc/os-release,如果能输出类似这样的,那就这分区没错了。
      grub> cat (hd0,msdos5)/etc/os-release
      NAME="Manjaro Linux"
      ID=manjaro
      ID_LIKE=arch
      BUILD_ID=rolling
      PRETTY_NAME="Manjaro Linux"
      ANSI_COLOR="32;1;24;144;200"
      HOME_URL="https://manjaro.org/"
      DOCUMENTATION_URL="https://wiki.manjaro.org/"
      SUPPORT_URL="https://manjaro.org/"
      BUG_REPORT_URL="https://bugs.manjaro.org/"
      LOGO=manjarolinux
      
    • 我的manjaro装在(hd0,msdos5)分区,所以切换吧:
      grub> configfile (hd0,msdos5)/boot/grub/grub.cfg
      
    • 然后系统会重新进入manjaro的grub界面,这时启动按理应该没问题了。在进入系统后再在manjaro中更新下grub吧。
      sudo grub-install /dev/sda
      sudo update-grub
      

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

    • (hd0,msdos1): windows 10
    • (hd0,msdos2): linux swap,所有Linux系统共用
    • (hd0,msdos3): 所有linux系统共用的/home分区,每个linux系统用户名不一样,所以可以共用一个
    • (hd0,msdos5): manjaro的根分区
    • (hd0,msdos6): deepin的根分区

    我重新调用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中的某个)终于能够重新进入桌面系统啦,终于搞定这次坑爹的多系统安装。

    相关文章

      网友评论

          本文标题:一次艰辛的修复manjaro系统MBR的grub过程记录

          本文链接:https://www.haomeiwen.com/subject/semjhrtx.html