重新排序 GRUB 以将 Windows 列在顶部

重新排序 GRUB 以将 Windows 列在顶部

我有赢7linux 薄荷 14安装。是否可以将 修改GRUB Menu为显示Windows为第一个选项Linux,而不是当前的 。主要是为了在启动过程中默认启动 Windows

答案1

如果启动菜单的顺序很重要(不仅仅是 Windows 默认启动),并且除了 Linux Mint 和 Windows(如 OSX、BSD)之外没有任何可启动的东西,您可以执行以下操作:

cd /etc/grub.d
mv 30_os-prober 09_os-prober

作为 中文件的字母顺序/etc/grub.d,决定了它们的处理顺序。然后运行sudo update-grub​​¹ 生成/boot/grub/grub.cfg文件,该文件确定菜单顺序。

如果您只想让 Windows 启动,您也可以更改/etc/default/grub并更改该条目

GRUB_DEFAULT=0

GRUB_DEFAULT=4

并运行sudo update-grub4是 Windows 的正常条目0,位于 Mint 之后,1用于旧版本 Mint 的子菜单,2用于memcheck3用于memcheck通过串行接口。您的设置可能略有不同,但您可以在 grub 菜单中进行计数(从 0 开始),或者如果您的 guestimate 关闭,则尝试进行更改。²

您可能需要考虑第三种选择,我本人更喜欢这种选择。这是为了更改您的系统,/etc/default/grub以便如果您不手动选择不同的菜单项,它将自动启动您上次选择的系统。为此你改变线路

GRUB_DEFAULT=0

进入

GRUB_DEFAULT=saved
GRUB_SAVEDEFAULT=true

并运行sudo update-grub

1我往往会忘记经常尝试的命令的名称,并希望最终的扩展向我显示我需要运行的命令。直到我意识到它在我正在编辑的文件顶部说明了要做什么 。当然,一旦我发现如何查找命令名称,我就永远不会忘记...update-grubgrub-TABgrub-something/etc/default/grub
²正如@derobert 所指出的,您还可以使用与您要选择的菜单项相匹配的字符串。是我找到的有关该功能的唯一文档。

答案2

从答案来看安东,我将替换mvdpkg-diverton类似 Debian系统:

# dpkg-divert --add --rename --divert /etc/grub.d/09_os-prober /etc/grub.d/30_os-prober

然后像往常一样运行update-grub

如果您想列出可用的转移,请运行:

# dpkg-divert --list | grep os-prober

答案3

您可以按照 Linux Mint 本身给出的步骤进行操作。Linux Mint 教程

答案4

这很简单,首先你必须找到 grub.cfg 文件,在 Ubuntu 中它将位于 /boot/grub/grub.cfg 下,请确保在编辑之前备份该文件。

在 sudo 模式下使用您选择的任何文本编辑器打开文件,例如 sudo vi path/grug.cfg

在这个文件中会有菜单项,它代表启动菜单中的每个项目。找到与窗口相对应的菜单项 - 请注意,菜单项是一组行。

找到名为 GRUB_DEFAULT 的行。现在有两种方法可以做到这一点。 1)将 GRUB_DEFAULT 的值更改为 Windows 菜单项的相应位置,例如 0 、 1 或其他任何值。 2)或者将windows菜单项剪切粘贴到grub_default中当前值对应的位置。

注意:不要损坏此文件,如果出现问题,请用备份替换此文件。

menuentry 'Ubuntu, with Linux 3.13.0-30-generic (recovery mode)' --class ubuntu --class gnu-linux --class gnu --class os $menuentry_id_option 'gnulinux-3.13.0-30-generic-recovery-3aaa1f6c-e78d-4b56-bb71-a250d1338ea6' {
                recordfail
                load_video
                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  3aaa1f6c-e78d-4b56-bb71-a250d1338ea6
                else
                  search --no-floppy --fs-uuid --set=root 3aaa1f6c-e78d-4b56-bb71-a250d1338ea6
                fi
                echo    'Loading Linux 3.13.0-30-generic ...'
                linux   /boot/vmlinuz-3.13.0-30-generic root=UUID=3aaa1f6c-e78d-4b56-bb71-a250d1338ea6 ro recovery nomodeset
                echo    'Loading initial ramdisk ...'
                initrd  /boot/initrd.img-3.13.0-30-generic
        }

相关内容