有多种方法可以执行所需的操作,但首先,请了解您有三个(或四个)条目以不同的方式引导Ubuntu:
- 该
grubx64.efi
条目启动GRUB,后者又启动Linux内核(并且还可以提供其自己的菜单来引导其他内容,具体取决于其配置方式)。
- 该
boot\vmlinuz-3.11.0-18-generic.efi.signed
条目将启动不使用GRUB 的3.11.0-18通用内核。(它通过内核本身内置的EFI存根加载器引导。)
- 该
boot\vmlinuz-3.11.0-15-generic.efi.signed
条目启动了3.11.0-15通用内核-比先前内核稍旧的内核。
- “ Boot Legacy OS ...”(启动旧版操作系统...)选项可能会启动BIOS模式版本的GRUB-您没有描述选择该选项时发生的情况,因此,尚不清楚这样做是否有用或根本没有作用。
无论如何,这里的最大区别是GRUB和EFI存根加载器。在大多数情况下,两种引导Linux的方法均能很好地工作,但有时一种方法会比另一种更好。我个人不喜欢GRUB。恕我直言,它s肿且不必要的复杂。考虑到您可能需要rEFInd来管理Mac上的三重启动,这也是启动路径上的额外步骤。OTOH,GRUB是引导Ubuntu的标准方法。请注意,尽管GRUB在rEFInd中只有一个条目,但它自己的菜单(如果将其设置为显示)将可能使您能够引导rEFInd使您直接引导的两个Linux内核中的一个。
就我个人而言,我会保留所有这三个条目(GRUB和两个内核),至少在它们都起作用的情况下。原因是它们为您提供了多种引导计算机的选项。如果其中一个失败,则将其他作为后备。请注意,随着系统升级和新内核的发布,您对内核的选择可能会增加。sudo apt-get autoremove
一旦列表超出该限制,可以使用来将列表保持为两个或三个。
如果要删除条目,则有几个选项,其中大多数涉及编辑refind.conf
(可能在/boot/efi/EFI/refind
Linux下):
- 将您要避免扫描的文件名添加到
dont_scan_files
。请注意,以这种方式隐藏单个内核效率很低,因为在安装新内核时需要更新列表。但是,这可能是隐藏GRUB的好方法。
- 将描述不需要的引导加载程序的目录添加到
dont_scan_dirs
。(例如,boot
删除Linux内核或EFI/ubuntu
删除GRUB。)
- 将与不需要的引导加载程序关联的卷名添加到中
dont_scan_volumes
。请注意,这是dont_scan_*
与BIOS / CSM /旧版引导选项一起使用的唯一选项。添加相关名称的任何子集以阻止该条目。
- 要禁用所有基于磁盘的BIOS / CSM /遗留的启动选项,取消
scanfor
和保证hdbios
是不是选项之一。但是,这可能是您不希望遇到的情况,因为您说要启动Windows 7,并且通常以BIOS / CSM /旧模式启动。但是,如果您设法以EFI模式安装Windows,这可能是一个不错的选择。
- 要同时删除内核选项和所有将来的内核选项,可以从ESP上目录的子目录
drivers
(drivers_x64
或drivers_ia32
,具体取决于您的体系结构)中删除Linux文件系统的EFI文件系统驱动程序EFI/refind
。这将使rEFInd无法找到Linux内核,因此这些选项将消失。GRUB并没有依靠这些驱动程序,因此它会继续工作。
- 仅当rEFInd认为在磁盘的MBR或分区中检测到引导代码时,BIOS / CSM /传统选项才会出现。根据对“ Boot Legacy OS ...”(启动旧版OS ...)选项的描述,rEFInd可能已在MBR中找到启动代码。(不过,某些最新版本的rEFInd中的错误会导致位置识别错误,因此,如果您未使用版本0.8.7,则该标识可能是错误的。)因此,擦除启动代码可以从rEFInd的菜单中删除一个条目。但是,这种方法很危险。我建议仅在您已经了解如何做的情况下尝试使用它,这就是为什么我故意不提供明确的执行说明的原因-我可以就如何执行此任务写一个完整的答案,但它可能仍不完整。
这些refind.conf
选项refind.conf
在rEFInd配置文档页面内和注释中更详细地描述。