如何在启动计算机时删除 Ubuntu 选项

如何在启动计算机时删除 Ubuntu 选项

安装 Ubuntu 后,它开始更新,当我启动计算机时,我可以看到 Windows 和大约 5 或 6 个 Ubuntu 选项。我怎样才能删除所有这些选项而不删除最后一个?

答案1

虽然你通过编辑 grub 菜单配置文件来隐藏多余的选项,正确的解决方案 (TM) 是卸载旧内核,因为无论如何你都不需要/使用它们。就我个人而言,我保留两个最新的内核版本 - 我运行最新版本,并将第二最新版本作为后备,以防最新版本在我的硬件上无法运行或出现其他问题。(请注意,在 14 年的时间里,我在数十台计算机(包括台式机和服务器)上运行 Debian/Ubuntu,这已经绝不我也遇到过这种情况。但我就是这么偏执。)

要查找旧内核,请打开终端并输入命令dpkg --get-selections | grep linux-image,然后查看右侧列以查看当前已安装的内核。(之前安装的内核仍会出现在列表中,但右侧列将显示其状态为“卸载”。)挑选出要保留的尽可能多的编号软件包,然后运行命令,sudo aptitude remove XXX YYY ZZZ...其中 XXX、YYY、ZZZ……是要删除的软件包。

例如:

$ dpkg --get-selections | grep linux-image
linux-image-2.6.35-22-generic           deinstall
linux-image-2.6.35-24-generic           install
linux-image-2.6.35-25-generic           install
linux-image-2.6.35-27-generic           install
linux-image-2.6.35-28-generic           install
linux-image-generic             install
$ sudo aptitude remove linux-image-2.6.35-24-generic linux-image-2.6.35-25-generic

(请注意,我没有将 linux-image-2.6.35-22-generic 包含在remove列表中,因为它已经被卸载。)

删除多余的内核后,您可以运行update-grub重建菜单,这样它们就不会再出现在那里了。(这应该由卸载过程自动完成,但为了确保万无一失,手动再次运行它也不会有什么坏处。就像我说的,我就是这么偏执。)

答案2

这就是你所追求的吗?

如何:启动管理器和内核显示选项

如何:启动管理器和内核显示选项

使用 Natty Narwhal 和 GRUB 1.99? Grub 1.99 彻底改变了显示其他/旧内核的方式。现在有一个新的“子菜单”功能,其中除最新内核(和恢复模式,如果启用)之外的所有内核都驻留在那里。这将阻止主 Grub 菜单在引入新内核时展开。本指南中详细介绍如何物理删除内核的部分仍然适用,但有关新子菜单功能的信息,请访问此主题:Grub 1.99 子菜单

启动管理器和 GRUB 2: StartUp-Manager ver 1.9.12-1 可与 GRUB 2 配合使用,但是 Grub 旧版中的某些选项尚未纳入 Grub 2。启动选项选项卡基本保持不变。外观和高级选项卡目前包含的条目较少,而 Grub 2 完全安装后则不存在安全选项卡。有报道称,正在开发一款可与 Grub 2 配合使用的 StartUp-Manager 2。发布后,此页面将更新。可使用 StartUp Manager 更改的 GRUB 2 项目将以 * 绿色星号标注。

目前,以下 StartUp-Manager 选项有效:

超时 * 默认操作系统/内核 * 杂项(写入 /etc/default/grub 的“GRUB_CMDLINE_LINUX=”行,但不会删除已在“GRUB_CMDLINE_LINUX_DEFAULT=”中输入的相同条目,例如“splash”和“quiet”)启动期间显示文本 * 显示分辨率 - 放置在 /etc/default/grub 的“GRUB_CMDLINE_LINUX_DEFAULT=”行上。启动期间,GRUB 2 将注意到“vga=”选项已被弃用。

启动管理器和编辑 Grub Legacy 的 menu.lst 或 GRUB 2 的 /etc/default/grub - 简介: 每次内核更新时,grub 菜单通常都会更新以反映新的更改。* 这会让新用户产生疑问,到底发生了什么以及如何更改显示。默认情况下,旧内核版本保留在菜单上,新内核添加到顶部。随着时间的推移,这个内核列表会变得很长。以下是更改菜单的 5 种方法。除非有特殊情况,否则我仅推荐前两种方法。大多数用户只需要第 1 部分中的信息即可对 grub 菜单显示进行所需的更改。* 运行sudo update-grub以确保您使用的是最新的 grub 信息。

在修改菜单之前,最好先制作一份备份。如果您打算在短时间内进行多项更改,我建议为每个备份分配一个唯一的编号(menu.lst.bak1、bak2 等)。要进行备份:对于 Grub:

sudo cp /boot/grub/menu.lst /boot/grub/menu.lst.bak1

对于 Grub 2:

sudo cp /etc/default/grub /etc/default/grub.bak1

*1. StartUp-Manager * StartUp-Manager 的引入创建了一种通过 GUI 界面更新 grub 菜单列表的简单而安全的方法。您可以对 grub 菜单的外观和功能进行各种更改,而无需直接编辑文件。StartUp-Manager 可通过系统 > 管理 > StartUp-Manager 访问。如果它不在您的菜单中,请通过 synaptic 安装它(系统 > 管理 > Synaptic 软件包管理器)。StartUp-Manager 位于“universe”存储库中。如果您在 synaptic 中没有看到“startupmanager”或命令行方法找不到它,请转到 Synaptic 的设置 > 存储库 > Ubuntu 软件并确保选中了(universe)存储库。点击“重新加载”按钮刷新软件包列表,然后选择 startupmanager 或简单地使用以下命令安装它:

sudo aptitude install startupmanager

要启动它,系统 > 管理 > 启动管理器或在终端中输入:gksu startupmanager

启动选项 * 超时。选择在自动选择并启动默认菜单之前您能看到菜单的时间。 * 默认操作系统。设置默认操作系统,包括不同的内核和任何其他操作系统(如果已安装)。虽然您可以选择其他操作系统或 Linux 版本,但您将无法为它们设置特定的启动选项(例如内核版本)。更改其他操作系统中的内部启动选项需要手动编辑 menu.lst。显示引导加载程序菜单。如果未选择,则不会显示任何菜单。将选择默认或已保存的操作系统。 * 在启动期间显示文本。此选项提供一些文本信息,让您可以查看启动期间发生的情况。如果您想要一个干净的启动界面,没有文本滚动,请取消勾选“在启动期间显示文本”并勾选“显示启动画面”。更干净的启动界面,您可以取消勾选“显示引导加载程序菜单”,但最好让此选项可见。

  • ! 外观* 注意:使用 Grub 2,只有 Usplash 主题选项可供更改。此选项卡提供了许多有关 grub 菜单呈现方式的选项,包括颜色、grub 背景图像、主题。这些仅适用于 grub 引导加载程序屏幕。视觉效果很棒。

安全 注意:Grub 2 中尚不可用。设置密码以防止未经授权更改 grub。可以设置密码,要求输入密码才能更改引导加载程序、救援模式和旧引导选项。

*高级 * 注意:Grub 2 选项仅包括制作软盘或更改引导加载程序分辨率的功能。限制要保留的内核数量。** 这是设置您在引导菜单上看到的内核数量的选项。选择“2”是一个很好的折衷方案,因为它允许您使用和查看当前内核,并且如果您在使用新内核时遇到问题,还可以通过 grub 菜单立即使用以前的内核版本。

以下是有关此选项的一些要点:关闭 StartUp-Manager 后,grub 菜单会立即更新。不会从计算机中删除任何内核 - 只会更改显示的菜单项。隐藏内核条目不会释放任何额外空间。您可以多次更改该数字,甚至可以从较小的数字更改为较大的数字。StartUp-Manager 检查已安装的内核数量,并将显示该数字,直至计算机上安装的最大数量。如果您选择的数字大于已安装的数字,它将显示当前安装的所有内核,并且菜单将继续增长,直到达到所选内核的数量。如果您通过手动删除 menu.lst 中的项目来删除内核选项,则可能无法通过增加此处的数字来恢复它们。为 memtest86+ 创建启动选项。您上次使用它是什么时候?但如果您想要,该选项就在这里。为恢复模式创建启动选项。一个重要的选项,允许您在内核出现问题并需要对内核进行维护时选择恢复模式。自动更新默认启动选项。** 如果选中,grub 的设置为:“# updatedefaultentry=true”;如果未选中,则值更改为“# updatedefaultentry=false”如果未选中,则不会使用新内核,直到您对 grub 进行更改、在安装期间批准更改或手动编辑 grub。要开始使用新内核,请在“启动选项”选项卡中的“默认操作系统”中进行更改。创建救援软盘。好吧,我们中的许多人不再有软盘驱动器了。如果您的计算机有 - 您很幸运。如果您的计算机没有,您仍然可以制作救援软盘映像,将其安装在 grub 文件夹中,并将其用于紧急启动备份。有关如何执行此操作的说明可在此处找到:GrubHowto/BootFloppy

** StartUp-Manager 的底线是 - 它很方便,可以防止编辑错误,并且完全可逆。**


手动编辑 /boot/grub/menu.lst(仅限 Grub Legacy)——如果必须... 注意:Grub 2 不使用 /boot/grub/menu.lst 作为其选项。Grub 2 文件包括 /boot/grub/grub.cfg、/etc/default/grub 和 /etc/grub.d/ 文件夹中的配置脚本。不应更改 /boot/grub/grub.cfg。

再次,请确保您已进行备份。如果您手动编辑 menu.lst,这一点尤其重要,因为使用此方法除了恢复之前保存在计算机上的备份副本外,没有内部保护。在手动编辑 menu.lst 之前,如果您遇到 grub 问题并且没有看到您期望的内容(例如未显示新内核),您可以尝试运行此命令以查看是否可以解决您的问题:

sudo update-grub

注释符号 (#) 注意:编辑 grub menu.lst 时:menu.lst 中有许多注释 (#) 符号。它们可能有点令人困惑,因为双注释符号 (##) 根本不是注释,而是标记文件的一个特殊部分。不要取消注释(删除 # 符号)此部分中的项目,只需在必要时更改值即可。

要编辑 /boot/grub/menu.lst,请进行备份,然后运行以下命令。如果您喜欢其他文本编辑器,请更改编辑器:

gksu gedit /boot/grub/menu.lst

  1. 更改“howmany=all”行。

menu.lst 中有一行指定默认查看多少个内核(和恢复选项)。这与 StartUp-Manager 中的“要保留的内核数”值相同。默认的 menu.lst 为:

# howmany=all

不要删除注释符号 - 只需更改值;2 是许多用户的选择。

# howmany=2

此设置将在下次启动时生效(保存后会反映在启动管理器中)。内核条目会从菜单中完全删除,但如果您增加“howmany”数字,则会恢复。它将显示计算机上安装的内核数量。如果内核较少,新内核将扩展菜单选项,直到达到该数量。对此选项的更改将在重新启动时生效,或者有趣的是,如果您打开和关闭启动管理器,更改将立即生效。

警告:启动时显示的菜单选项是自动创建的。通常不应手动编辑它们。下面介绍的选项需要手动编辑 menu.lst。根据我的测试,StartUp-Manager 似乎无法恢复在 menu.lst 中手动删除的菜单项。内核并未从计算机中物理删除。

如果您觉得必须手动编辑此文件(例如,安装/重新安装后新内核根本不会显示),下一部分将详细介绍如何通过手动编辑和/或删除 menu.lst 文件底部附近的项目来更改菜单列表视图。

GRUB 2 用户须知:您可以编辑 /etc/grub.d/10_linux 以自动显示两个最新的系统内核。额外的内核将保留在计算机上,但不会显示。说明位于 Grub 2 Title Tweaks 的 1. B. 节中。

  1. 注释掉您不想看到的菜单项。文件底部附近是您在启动时看到的内核、恢复和内存测试选项。您可以通过在行首放置注释符号 ( # ) 来隐藏这些项目中的任何一个。任何注释的行都不会显示。注释掉该部分中的每一行。要重新显示该行,请删除注释符号。在下面的示例中,第一个内核和恢复选项将可见;第二个则不可见。

` 标题 Ubuntu 8.04,内核 2.6.24-18-generic root(hd1,0)内核 /boot/vmlinuz-2.6.24-18-generic root=UUID=cdfc1bc0-d14b-4b48-ad24-7bb40ec2ccde ro splash initrd /boot/initrd.img-2.6.24-18-generic quiet

title        Ubuntu 8.04, kernel 2.6.24-18-generic (recovery mode)
root        (hd1,0)
kernel        /boot/vmlinuz-2.6.24-18-generic root=UUID=cdfc1bc0-d14b-4b48-ad24-7bb40ec2ccde ro single
initrd        /boot/initrd.img-2.6.24-18-generic


# title        Ubuntu 8.04, kernel 2.6.24-17-generic
# root        (hd1,0)
# kernel        /boot/vmlinuz-2.6.24-17-generic root=UUID=cdfc1bc0-d14b-4b48-ad24-7bb40ec2ccde ro splash
# initrd        /boot/initrd.img-2.6.24-17-generic
# quiet

# title        Ubuntu 8.04, kernel 2.6.24-17-generic (recovery mode)
# root        (hd1,0)
# kernel        /boot/vmlinuz-2.6.24-17-generic root=UUID=cdfc1bc0-d14b-4b48-ad24-7bb40ec2ccde ro single
# initrd        /boot/initrd.img-2.6.24-17-generic

`

  1. 删除(或添加)项目。您可以简单地删除您不想在启动时看到的内核。如果删除它们,您可以通过重新输入它们或恢复备份文件来恢复它们。您可能能够通过更改 StartUp-Manager 中的值来恢复已删除的内核选项,但我不会依赖它。

其他可编辑项目。当您手动编辑内核时,请注意此文件包含您可以编辑的条目,这些条目涉及菜单显示的时间(以秒为单位)(超时 3 )。您还可以设置要启动的系统。默认值为 0 。0 是第一个未注释的标题。计算未注释的“标题”的数量,包括恢复模式和 memtest86+,然后减 1。除了数字之外,此值还可以“保存”,这意味着 grub 将使用在当前会话期间启动的相同系统在下次启动时启动。这相当于 StartUp-Manager 中可用的“上次使用”选项。

timeout 10 Code: default 0

删除旧内核: 您可以通过 synaptic 永久删除旧内核。首先,确定您正在使用的内核。您不想删除此内核。要查找您正在使用的内核:

uname -r

通过系统 > 管理 > Synaptic 打开 Synaptic。搜索 linux-image。您将看到所有可用的内核 - 带有绿色选择框的内核是当前已安装的内核。它们看起来类似于 linux-image-2.6.27-XX 或 linux-image-2.6.27-XX-generic。较旧的内核的结尾数字较低。您还可以删除与早期版本相关的 linux-headers... 和 linux-restricted-modules-...。查找所有这些文件的简单方法是将主内核版本 (2.6.XX) 输入顶部搜索栏。许多用户至少保留一个较旧的内核,以防最新内核出现问题。

当您通过 synaptic 删除较旧(或较新)的内核时,内核将从计算机中删除,并释放更多磁盘空间。menu.lst 已更新,已删除的内核将不再显示在菜单上。在删除旧内核之前,请确保您对新发布的内核的性能感到满意。注意:删除 linux-image 时不会自动删除关联的 linux-header。必须单独删除特定内核的 linux-header。

一个非常简单的替代 GUI 方法 - Ubuntu-Tweak 另一个可以轻松删除旧内核的 GUI 第三方应用程序是 Ubuntu Tweak。它独立于 Grub,可与 Grub legacy 和 Grub 2 配合使用。它执行各种常见的 Ubuntu 任务,其中之一是删除旧内核。此应用程序会删除旧内核,而 StartUp-Manager 则只是将它们从菜单中删除。

要安装不在正常存储库中的 Ubuntu-Tweak,请转到 Ubuntu-Tweak 网站,http://ubuntu-tweak.com/,点击“下载”按钮。

要运行 Ubuntu-Tweak: ubuntu-tweak

  1. 在左侧选择“Package Cleaner”,在右侧面板中选择“Clean Kernel”。
  2. 按下右下角的“解锁”按钮,输入您的密码。
  3. 从显示的列表中选择要删除的内核映像和头文件。正在使用的内核未列出。
  4. 按下右下角的“清理”按钮来删除选定的内核映像和头文件。

更新 Grub 以刷新菜单:

sudo update-grub

概括: 您可以通过 StartUp-Manager 或编辑 grub 的菜单来更改显示的内核数量。lst StartUp-Manager 使该过程变得简单、快速且或多或少地防错(我真的这么说过吗?)。只要实际内核仍安装在计算机上,就可以通过任一方法恢复已删除的内核选项。尽管我只使用 ubuntu 几年,但我和大多数长期用户一样,是命令行的忠实粉丝——在这种情况下,使用 StartUp-Manager 有太多好处。

答案3

Grub2:输入命令sudo gedit /boot/grub/grub.cfg并输入您的主密码。按您喜欢的顺序重新排列菜单项。不要调用sudo updage-grub。这将重新排序。

相关内容