默认 Grub2 条目未指向最新内核版本 + “selinuxfs mount failed”启动错误:如何修复?

默认 Grub2 条目未指向最新内核版本 + “selinuxfs mount failed”启动错误:如何修复?

我安装了 Ubuntu 14.04 和 Linux(Mandriva 2011/Grub Legacy)的多重启动。一开始它似乎可以正常工作。但在我第一次更新 Ubuntu 时,系统“强烈建议”我更新 grub,结果 grub 菜单有 3 个子菜单和 887 个条目!

所以我定制了 Grub2 并更新了它(grub-update)。我让 Grub2 为我的 Ubuntu 生成自动条目,并将我的 Mandriva 条目放在 /etc/grub.d/40_custom 中。

  • 问题是我的 grub 菜单中的默认条目(“ubuntu”)+其他 2 个条目(“linux”,“linux recovery”)始终指向第一的Ubuntu 的内核版本,而不是最新的

我有 4 个新版本的内核,选择它们后,我可以正常启动。此外,当我在 grub 菜单中选择一个特定的内核版本时,我不会收到“selinuxfs mount failed error”...

我在 /boot 中设置了符号链接(vmlinuz、vmlinuz-dektop 等),使其在重启之前指向最新的内核版本。但是当我在重启后检查时,它们始终指向内核的第一个版本!! 这些菜单项是由 Grub2 使用 grub-update 自动生成的。

  • 此外,自动生成的条目(“ubuntu”,“linux”,“linux recovery”)一定有问题,才会导致“mount failed selinuxfs on .../selinux no such file or directory”错误,即使它不会停止启动过程。

那我该怎么办?

以下是 /boot/grub.cfg 的摘录:

    1. 默认菜单项“Ubuntu”

      menuentry 'Ubuntu' --class ubuntu --class gnu-linux --class gnu --class os $menuentry_id_option 'gnulinux-simple-35aa379d-1870-4ef0-add3-ee1f2324257f' {  
      recordfail  
      load_video  
      gfxmode $linux_gfx_mode  
      insmod gzio  
      insmod part_msdos  
       insmod ext2  
      set root='hd0,msdos1'  
          if [ x$feature_platform_search_hint = xy ]; then  
            search --no-floppy --fs-uuid --set=root --hint-bios=hd0,msdos1 --hint-efi=hd0,msdos1 --hint-baremetal=ahci0,msdos1 --hint='hd0,msdos1'  86e4c77e-6549-478c-9a75-166a21019644  
          else  
            search --no-floppy --fs-uuid --set=root 86e4c77e-6549-478c-9a75-166a21019644  
          fi  
      linux   /vmlinuz-desktop root=/dev/sda10 ro  quiet splash $vt_handoff  
      }
      
    1. 特定内核版本的菜单项

      menuentry 'Ubuntu, avec Linux 3.13.0-43-generic' --class ubuntu --class gnu-linux --class gnu --class os $menuentry_id_option 'gnulinux-3.13.0-43-generic-advanced-35aa379
      d-1870-4ef0-add3-ee1f2324257f' {  
      recordfail  
      load_video  
      gfxmode $linux_gfx_mode  
      insmod gzio  
      insmod part_msdos  
      insmod ext2  
      set root='hd0,msdos1'  
      if [ x$feature_platform_search_hint = xy ]; then  
      search --no-floppy --fs-uuid --set=root --hint-bios=hd0,msdos1 --hint-efi=hd0,msdos1 --hint-baremetal=ahci0,msdos1 --hint='hd0,msdos1'  86e4c77e-6549-478c-9a75-166a21019644  
      else  
      search --no-floppy --fs-uuid --set=root 86e4c77e-6549-478c-9a75-166a21019644  
      fi  
      echo    'Chargement de Linux 3.13.0-43-generic…'  
      linux   /vmlinuz-3.13.0-43-generic root=UUID=35aa379d-1870-4ef0-add3-ee1f2324257f ro  quiet splash $vt_handoff  
      echo    'Chargement du disque mémoire initial…'  
      initrd  /initrd.img-3.13.0-43-generic  
          }
      

相关内容