如何修复 grub2(不)在 64 位计算机上引导 32 位 EFI?

如何修复 grub2(不)在 64 位计算机上引导 32 位 EFI?

我有一台 Asus EeeBook X205TA,由于新硬件晦涩难懂以及 64 位硬件上的 32 位 EFI,事实证明在上面安装 Linux 非常困难。我已经看过并阅读了很多材料,我快完成了。我现在遇到的问题如下:

当我启动系统时,我总是收到grub>提示,我可以输入其中写入的内容/boot/grub/grub.conf

insmod gzio
insmod part_gpt
insmod btrfs
linux  (hd0,gpt5)/@/boot/vmlinuz-3.19.0-18-generic.efi.signed root=LABEL=UNIXROOT rootflags=subvol=@
initrd (hd0,gpt5)/@/boot/initrd.img-3.19.0-18-generic

如何解决 grub (2.02~beta2)在btrfs 分区的/bootsubvol 中明显找不到的问题?我玩过,它现在有 2 个相关条目,并且其中一个让我进入,另一个让我进入。 @LABEL=UNIXROOTefibootubuntuLinuxgrub>grub rescue>如何从 grub2 获取失败原因的信息? grub-update不会改变任何事情。

问题是我不知道如何引导 EFI ->?-> GRUB ->?-> FS->/boot/grub/grub.cfg,所以我所有的努力都是盲目的。

你需要了解什么? Ubutu 15.04 64 位、32 位 UEFI、32GB eMMC、Z3735 baytrail CPU、Win 8.1 仍然有效、安全启动已禁用、传统启动不是 BIOS 选项,还有什么?

答案1

我一整天都在处理类似的问题。我刚刚在 Quantum Byte QS-1043-QB 上安装了 lubuntu。它使用与您正在使用的相同的处理器和芯片组。我和你的观点是一样的。

基本上,您需要为 grub 和 32 位 grub 版本安装 32 位 EFI 文件。

首先,安装grub的32位支持

sudo apt-get install grub-efi-ia32 grub-efi-ia32-bin

默认情况下,grub 安装的是 64 位 EFI,它不适用于我们 PC 上的 UEFI 系统。我在笔记本电脑上编译为 32 位 grub EFI,然后将其复制到 Quantum Byte。我在这里上传了该 EFI 文件:格鲁比亚32.efi

然后,我将该 EFI 文件复制到默认的 grub 64 位版本上(以 root 身份执行):

mkdir /boot/efi/EFI
mkdir /boot/efi/EFI/ubuntu
cp grubia32.efi /boot/efi/EFI/ubuntu/grubx64.efi

更新 grub 配置(再次以 root 身份执行):

update-grub
update-grub2

此时,您可以重新启动并查看是否有效。你可能会幸运。我重新启动,然后转储到 grub 命令行。我输入这个是为了告诉 grub 配置文件在哪里:

configfile (hd0,gpt2)/boot/grub/grub.cfg

系统进入了 grub 启动菜单,但全是乱码。启动后,我更新了 grub 配置文件以启用基于文本的菜单,然后重新安装 grub 以修复配置文件位置问题:

sudo nano /etc/default/grub

取消注释:GRUB_TERMINAL="console" 键入 Ctl-X 并按 Y 保存。

重新安装 grub:

sudo grub-install

我重新启动,现在一切看起来都很好!希望它对你有用,祝你好运。

相关内容