我在装有 OEM Windows 8 的戴尔笔记本电脑上安装了 Ubuntu 12.10。
起初,我的 Grub 菜单根本没有显示,所以我更改了文件/etc/default/grub
并注释了该行GRUB_HIDDEN_TIMEOUT=0
。之后,我的 Grub 菜单出现了,但它只显示 Ubuntu 条目(没有 Windows 8 条目的痕迹)。
因此我从 LiveCD 启动了 Ubuntu,并遵循以下指南:Ubuntu 启动修复。最后出现一个窗口告诉我:
请不要忘记制作你的 BIOS 启动
sda1/EFI/ubuntu/grubx64.efi
文件。
哪一个我不知道该如何处理.我假装漠不关心地对待这个问题。
现在我的 Grub 菜单可以正常工作,我可以启动 Windows 8,但我想知道菜单中有哪些不同的条目。它们如下:
- Ubuntu
- Ubuntu 的高级选项
- Windows UEFI
bkpbootmgfw.efi
- Windows 启动 UEFI 加载程序
EFI/Dell/Boot/bootmgfw.efi
EFI/Dell/Boot/bootx64.efi
- 系统设置
我不知道这些不同的条目是什么意思,我想知道我是否可以从 GRUB 菜单中移除其中任何一个。所以我重新表述了我的问题:
- 我该如何让 BIOS 启动
sda1/EFI/ubuntu/grubx64.efi
文件呢? - 这些条目都是什么意思?它们有什么区别?
- 我可以删除其中任何一个吗?如果可以,该怎么做?
答案1
我应该如何让我的 BIOS 在 sda1/EFI/ubuntu/grubx64.efi 文件上启动?
sudo grub-install --efi-directory=/boot/efi /dev/sda
应该是正确的,因为:/dev/sda
你安装 Ubuntu 的硬盘是/boot/efi
是安装 EFI 系统分区 (ESP) 的位置。- 您以 EFI 模式启动。
您可以通过查看以下命令的输出来快速检查这一点:
$ mount | grep efi none on /sys/firmware/efi/efivars type efivarfs (rw) /dev/sda1 on /boot/efi type vfat (rw)
你怎么知道的?这不是你的错。你应该得到关于如何正确安装操作系统或解决问题的正确说明有效地。另一方面,Linux 和 FOSS 可以带给您备受赞誉的自由,只有通过了解事物的工作原理才能实现。不幸的是,您必须查看引导修复创建的日志文件,并知道如何处理这些数据。
总结:一些手册页真的很有用。不,我不是那种读读读读的人。我也喜欢在考虑阅读整个页面之前先找到可以解决我的问题的特定段落、章节或选项。
尝试一下它们,了解它们的用途。正如 Rod Smith 所说,启动修复会创建重复项(因为它不知道自己在做什么)。或者,您可以创建并比较它们的哈希值。
您可以压缩不需要的 .efi 程序文件,然后运行
sudo update-grub
并验证菜单是否仍包含启动 Ubuntu 和 Windows 所需的条目(使用 查看配置文件nano /boot/grub/grub.cfg
)。如果缺少某些内容,只需再次解压缩文件即可。不要将 GRUB 菜单与 UEFI 启动菜单混淆。
答案2
- 您可以使用
efibootmgr
Linux 中的命令、bcfg
EFI 版本 2 shell 中的命令、bless
OS X 中的命令(不适用于您的 Dell)或某些 EFI 中特定于 EFI 的用户界面功能来设置默认启动程序。输入man efibootmgr
以了解其中第一个。 - 尝试这些条目并查看每个条目的作用。遗憾的是,像 Boot Repair 这样的工具往往会创建重复的条目,而一些制造商会创建冗余的或特定于制造商的启动条目,因此除非通过测试,否则无法知道每个条目的实际作用。
- 类似的工具GRUB 定制器可以帮助您编辑 GRUB 菜单。不过,由于我已经放弃了 GRUB,因此我对这个工具了解甚少。