在 64 位 Ubuntu 上安装 32 位引导加载程序

在 64 位 Ubuntu 上安装 32 位引导加载程序

我正在尝试在 Acer Aspire Switch10e Windows 平板电脑中安装 Ubuntu。它有一个 Intel Atom Z3735F CPU。

它是一款 64 位处理器,但仅支持 UEFI 32 位,因此我尝试过的所有 iso 都无法直接启动。解决方法是使用isorespin 脚本在 Xubuntu-18.04-64bit 图像上使用以下命令:

isorespin.sh -i xubuntu.iso -u --atom

这会让我进入实时版本并允许我安装。但它似乎没有安装 32 位 grub,因为平板电脑之后不会检测到可启动媒体。

我已设法通过使用 liveUSB grub 控制台中的以下几行来启动安装:

linux /casper/vmlinuz root=/dev/mmcblk1p2
initrd /casper/initrd.lz
boot

这就是我现在的情况。我不知道如何从这里安装 32 位引导程序,这样我就不用使用 liveUSB 就可以启动。我遵循的指南提到了使用 grub-efi-ia32 包。但运行这个

sudo apt-get install grub-efi-ia32
sudo grub-install /dev/mmcblk1

并且重新启动似乎不起作用。

答案1

今天,我在我的 Acer S1003 2in1 平板电脑上遇到了同样的问题(这是这些配备 64 位处理器但 UEFI 只有 32 位引导加载程序的平板电脑/上网本机器的典型问题),并设法解决这个问题。您的过程为我指明了正确的方向,对此我表示感谢!您犯了一个错误,只安装了一个必要的软件包。

对我有用的程序:

  1. 我从 USB 启动了实时操作系统并安装了系统

  2. 我再次从 USB 启动了实时操作系统(我无法从 grub 启动已安装的操作系统,USB 上的操作系统始终启动)

  3. 我以 root 身份安装了 32 位引导加载程序所需的软件包:

    apt update
    apt install grub-efi-ia32 grub-efi-ia32-bin
    
  4. 我以 root 身份安装了 32 位引导加载程序:

    grub-install --recheck --root-directory=[root dir] --efi-directory=[efi dir]
    

钥匙:

  • [根目录] -根操作系统目录的路径(必须先挂载)
  • [efi 目录] -EFI 目录的路径(需要先挂载)

答案2

我设法让它在没有实时 USB 的情况下启动,但不是自动启动。

安装后,我得到了一个 EFI 分区,其中包含文件夹EFI/ubuntuEFI/BOOT

我删除了文件bootia32.efi和,BOOTx64.EFI并用实时 USB 中同名的文件替换。我还从 USB 中EFI/BOOT复制了文件。grubx64.efiEFI/BOOT

我还将整个目录复制到平板电脑的 EFI 分区,并将boot/文件从 USB 复制到平板电脑。vmlinuzinitrd.lz

完成此操作后,会出现与我连接实时 USB 时相同的菜单,我可以手动输入上述命令来启动。

我编辑了该grub.cfg文件,因此它只有一个执行上述命令的菜单项,现在它启动了。

但我真的不知道为什么,如果有人愿意向我解释我刚才到底做了什么,我将不胜感激。

相关内容