如何编辑Grub引导加载程序条目(隐藏,重命名,删除)?最好是手动执行,而不要使用程序


40

因此,基本上,我有一个相当不错的Grub Bootloader,其中包含较旧的Linux版本,3个操作系统和memtests。我想要的是仅保留操作系统。我需要知道如何手动进行操作,并且需要有人告诉我发布新内核时应该注意些什么。提前致谢。

Answers:


11

使用grub-customizer:https : //launchpad.net/grub-customizer

这是一个GUI,可让您隐藏不需要的grub条目。


实际上,这是我开始使用并且仍在使用的工具。给我所有需要的功能。将此更改为最佳答案!
Shahe Tajiryan

Bada Bing Bada繁荣!
wordforthewise

如果我处于不幸的情况,则无法启动到我的Ubuntu(只能到达grub提示符,大概是因为grub条目弄乱了)-是否.iso应该在该位置启动可引导的-image周围的abd?
弗兰克·诺克

@FrankNocke我想您想制作一个可引导的USB并进行grub还原,诸如此类。
wordforthewise

25

重新审视的博客文章GRUB2将为您提供一系列有关如何手动编辑GRUB2的配置文件的指导。如果您查看该系列中的其他文章(通过按Category = GRUB进行过滤),您还将找到有关删除旧内核以及更新后出现新内核时会发生什么的信息。这些帖子包括对许多相关网站的引用。


18

您应该清除不需要的内核,而不是直接编辑grub文件。

从此开始:

dpkg -l | grep linux-image

据我所知,该update-grub脚本只会为它在其中找到的所有内容创建条目/boot,因此,通过删除旧的linux-image(和linux-headers)软件包apt-get remove 将清理/ boot并因此清理grub config。

这是执行此操作的“正确”方法,因此在将来发布较新的内核时,无需采取任何特殊措施,您可能只需要在某个时候再次进行清理即可:)


3

配置GRUB v2

配置文件为/boot/grub/grub.cfg,但您不应直接对其进行编辑。该文件由grub v2的update-grub(8)根据以下内容生成:

/etc/grub.d/中的脚本片段

配置文件/ etc / default / grub

要配置grub“ v2”,您应该编辑/ etc / default / grub,然后运行update-grub。通过修改/etc/grub.d/中的代码段可以实现高级配置。

取自Debian配置


4
我认为这不是一个有用的答案。它实际上没有包含任何有关如何隐藏/重命名/移动GRUB菜单项的步骤...
字节命令[

3

sudo update-grub在终端中运行,以便包括所有“被遗忘的”启动选项。

如果您不喜欢命令行,则可以打开终端,运行sudo nautilus并以root用户身份使用文件资源管理器。;)

然后,仍在终端中,转到存储grub配置文件的文件夹。通常sudo cd /boot/grub应该做到这一点,否则通过搜索grub.cfg并更改文件夹来找到您的grub配置文件。

GUI:单击设备->计算机->启动-> grub或在设备->计算机中搜索文件。

找到文件夹并打开它后,sudo cp grub.cfg grubOldXX.cfg在选择的序列号XX处运行。

GUI:复制粘贴 grub.cfg

然后跑 sudo gedit grub.cfg

GUI:右键单击grub.cfg并选择“编辑”

编辑出您不需要的条目,并根据需要更改启动顺序和默认启动选项(非常简单)。每个菜单项前面都带有方便的术语menuentry。从头至尾删除所有内容menuentry,包括第一个右花括号}

保存您的文件并退出GEDIT。

重要信息:使用grub进行混乱是一项极有可能发生灾难性错误的活动。如果您的配置文件混乱了,您的计算机可能根本无法启动。

始终拥有随手可得的Ubuntu版本(无论哪个版本)的DVD。万一遇到问题,您始终可以从DVD或其他可移动媒体启动,并且由于保存了原始(工作)版本的副本,因此将恢复的文件重命名grubOldXX.cfggrub.cfg


1

根据您的grub版本,您可以使用StartUpManager应用程序维护您的grub菜单。它的Advanced选项卡设置允许选择/取消选择Memtest / Recovery引导项以及内核版本号。对于grub2,“ AppearanceAdvanced选项卡当前包含的条目较少,并且在Security完全安装了Grub 2的情况下该选项卡不存在。” (请参见此处,“ Grub 2注意”)。

在此处输入图片说明


在高级方面,除了“ Resoultion”设置外,我什么也没有。并创建一个救援软盘。
2011年

@ShaheTajiryan:对不起,我错了,我没有确切地引用。现在已编辑。看来您在使用grub2,所以StartUpManager对您不会有太大帮助。
tohuwawohu


-1

我在Mac上安装了Kali并将rEfind用作grub加载器,但是将grub安装到错误的位置/dev/sdaX,所以最后我得到2个grub入口并且1个不起作用,这导致我进行了grub救援。

尝试所有命令将其删除均未成功后,我转到Mac实用程序管理器中删除了biogrub无法使用的分区。沃拉,现在只剩下可行的了。

可能需要在终端输入update-grub


-2

使用gedit编辑grub.cfg位于的文件/boot/grub

删除不起作用的那个。例如,有两个条目位于不同的分区/dev/sda3/dev/sda4。您将必须从删除menuentry}(这意味着关闭)。

然后按保存并确认。

### BEGIN /etc/grub.d/30_os-prober ###
menuentry 'Windows 7 (loader) (on /dev/sda4)' --class windows --class os $menuentry_id_option 'osprober-chain-BABCA4EEBCA4A67B' {
    insmod part_msdos
    insmod ntfs
    set root='hd0,msdos4'
    if [ x$feature_platform_search_hint = xy ]; then
      search --no-floppy --fs-uuid --set=root --hint-bios=hd0,msdos4 --hint-efi=hd0,msdos4 --hint-baremetal=ahci0,msdos4  BABCA4EEBCA4A67B
    else
      search --no-floppy --fs-uuid --set=root BABCA4EEBCA4A67B
    fi
    chainloader +1
}
menuentry 'Windows 7 (loader) (on /dev/sda3)' --class windows --class os $menuentry_id_option 'osprober-chain-BABCA4EEBCA4A67B' {
    insmod part_msdos
    insmod ntfs
    set root='hd0,msdos4'
    if [ x$feature_platform_search_hint = xy ]; then
      search --no-floppy --fs-uuid --set=root --hint-bios=hd0,msdos4 --hint-efi=hd0,msdos4 --hint-baremetal=ahci0,msdos4  BABCA4EEBCA4A67B
    else
      search --no-floppy --fs-uuid --set=root BABCA4EEBCA4A67B
    fi
    chainloader +1
}
### END /etc/grub.d/30_os-prober ###

我删除/dev/sda3,删除后看起来像这样

### BEGIN /etc/grub.d/30_os-prober ###
menuentry 'Windows 7 (loader) (on /dev/sda4)' --class windows --class os $menuentry_id_option 'osprober-chain-BABCA4EEBCA4A67B' {
    insmod part_msdos
    insmod ntfs
    set root='hd0,msdos4'
    if [ x$feature_platform_search_hint = xy ]; then
      search --no-floppy --fs-uuid --set=root --hint-bios=hd0,msdos4 --hint-efi=hd0,msdos4 --hint-baremetal=ahci0,msdos4  BABCA4EEBCA4A67B
    else
      search --no-floppy --fs-uuid --set=root BABCA4EEBCA4A67B
    fi
    chainloader +1
}
### END /etc/grub.d/30_os-prober ###

2
该文件是在每次升级内核时或在运行时自动创建的update-grub,为什么要手动编辑它?
Braiam 2014年
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.