Virtual Box(guest os Arch) UEFI 不引导,求助

2017-03-10 20:37:28 +08:00
 takeoffyoung

通过正常流程安装了 Arch

/dev/sda1 作为 ESP 挂载在 /boot , /boot/EFI/grub/grub.efi 存在

启动管理方式为 grub + efibootmgr

每次关机之后,都必须手动选择 boot from file,然后选择 grub.efi, 无法自动加载 Arch 的引导

请问这种情况可能是哪里出了问题,应该怎么解决

2253 次点击
所在节点    程序员
19 条回复
julyclyde
2017-03-10 21:33:26 +08:00
/boot/EFI/ 必须是 FAT (或者叫 EFI )格式的分区
takeoffyoung
2017-03-10 22:01:28 +08:00
@julyclyde /boot/EFI 必须是一个分区么?
takeoffyoung
2017-03-10 22:02:41 +08:00
@julyclyde 是不是应该直接把 sda1 挂载到 /boot/EFI 而不是挂载到 /boot ?
takeoffyoung
2017-03-10 22:06:25 +08:00
takeoffyoung
2017-03-10 22:06:38 +08:00
takeoffyoung
2017-03-10 22:06:55 +08:00
yunshansimon
2017-03-10 22:15:34 +08:00
使用 UEFI 磁盘必须整个用 gpt 分区格式。建立一个 fat 格式的分区, label 是 EFI ,加可引导标识 bootable 。把编译好的 efi 文件放到分区的根目录就好了。如果有配置文件,放到编译 efi 文件时设定的目录,一般跟 efi 文件放一起,或者放 /grub 目录下( EFI 的分区)。内核命令行设定加载 root 分区。
kokutou
2017-03-10 22:23:04 +08:00
/boot/EFI/boot/bootx64.efi 有吗?

bios 是先找这个文件。。。
kokutou
2017-03-10 22:24:39 +08:00
grub 按照 arch wiki 上的 uefi 的命令装,我实体机装过。没问题。
grub 安装的时候有参数指定复制的引导文件类型,和目标位置。
julyclyde
2017-03-10 23:07:26 +08:00
/boot 如果是独立 FAT 分区也可以;最低要求是 /boot/EFI/ 是独立分区

centos 安装程序如果检测到不合适的情况会提示;其它发行版不了解是否会
takeoffyoung
2017-03-10 23:08:37 +08:00
@kokutou 照着这个指定的 --efi-directory=/boot

所以需要把 EFI 格式的分区挂载到 /boot/EFI 么?

还是挂载到 /boot
takeoffyoung
2017-03-10 23:13:28 +08:00
@julyclyde 我的做法是,/boot 是独立分区,不清楚 efibootmgr 生成的 efi 文件应该指定在哪里才能在开机的时候读取到呢?
kokutou
2017-03-10 23:36:22 +08:00
@takeoffyoung #11
https://wiki.archlinux.org/index.php/GRUB#UEFI_systems
# grub-install --target=x86_64-efi --efi-directory=esp_mount --bootloader-id=grub
UEFI firmware workaround 《《《——————《《《——————
# mkdir esp/EFI/boot
# cp esp/EFI/grub_uefi/grubx64.efi esp/EFI/boot/bootx64.efi
takeoffyoung
2017-03-11 01:23:21 +08:00
@kokutou 似乎并没有解决问题。
我还是先去仔细了解一下原理再去解决这个问题吧
Biggulu
2017-03-11 10:10:45 +08:00
/boot/EFI/boot/bootx64.efi   vbox 识别的引导路径是这个,检查下你的文件名还有路径
julyclyde
2017-03-11 11:23:16 +08:00
@takeoffyoung 不止是独立的问题,关键是要 FAT 格式,才能被 UEFI 识别
takeoffyoung
2017-03-11 14:53:01 +08:00
@Biggulu
@julyclyde
路径和格式都是这样的

reboot 之后可以正确引导,关闭窗口再打开就无法进入了,比如手动选择
Biggulu
2017-03-11 17:09:07 +08:00
@takeoffyoung 贴下 sda1 的格式类型,还有 bootx64.efi 的文件信息看看
takeoffyoung
2017-03-11 18:40:24 +08:00

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/346555

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX