无法在 Acer Aspire ES1-533 上安装 Ubuntu

无法在 Acer Aspire ES1-533 上安装 Ubuntu

我买了这台电脑,想在上面安装 Ubuntu。问题是我已经 3 周多没有成功了。这台电脑自带的 UEFI 功能非常有限。它无法切换到 遗产并且没有选择选择可信任的 UEFI 文件执行。唯一可以做的就是启用/禁用安全启动

现在谈谈问题。我首先尝试以自动模式安装 Ubuntu,然后也尝试手动分区其他东西. 在这两种情况下,安装时都会崩溃grub2 到 /dev/sda计算机挂起。

然后我决定不使用引导加载程序进行安装无处不在-b。一切顺利,安装顺利完成。最后,我尝试使用grub 安装. 在这里我又回到了同一个问题——计算机挂起。

这里 grub-install 冻结

因此问题出在 efibootmgr 尝试在 UEFI 中注册新条目时。我还通过运行以下命令确认了这一点:

_sudo efibootmgr -c -d /dev/sda -p 1 -w -L ubuntu_ 

之后它再次挂起。

我对如何使其发挥作用的想法如下:

在没有引导加载程序的情况下安装 Ubuntu,手动安装引导加载程序而不尝试向 UEFI 注册新条目,将引导加载程序从/EFI/Ubuntu//EFI/启动/并将其重命名为启动盘。那么我几乎确信它会起作用。

有人能就如何做提供建议吗:

  1. 履行grub 安装无需尝试注册新的 UEFI 条目启动管理器这样它就能通过并且不会使计算机冻结?

  2. 哪些文件来自/EFI/Ubuntu/我应该复制到/EFI/启动我应该将其中哪一个重命名为启动盘

  3. 如果这不是好办法,那么有什么更好的解决办法呢?

谢谢您的任何建议。

答案1

该问题可以按如下方式解决:

  1. 以测试模式启动 Ubuntu Live DVD/USB 并打开终端

  2. 通过以下方式运行安装过程而不安装引导加载程序:

    sudo ubiquity -b
    
  3. Continue testing安装完成后按。

  4. 将新安装的文件系统挂载到/mnt

    sudo mount /dev/sda2 /mnt
    sudo mkdir /mnt/boot/efi
    sudo mount /dev/sda1 /mnt/boot/efi
    for i in /dev /dev/pts /proc /sys; do sudo mount -B $i /mnt$i; done
    

(其中sda2是根分区,sda1是 EFI 系统分区)

  1. 通过以下方式加载 efivars:

    sudo modprobe efivars
    
  2. 重新安装grub-install64 位版本

    sudo apt-get install --reinstall grub-efi-amd64
    sudo grub-install --no-nvram --root-directory=/mnt
    
  3. 更改 root 权限/mnt并更新 grub

    sudo chroot /mnt
    update-grub
    
  4. 移动并重命名已安装的引导加载程序

    cd /boot/efi/EFI
    cp -R ubuntu/* BOOT/
    cd BOOT
    cp grubx64.efi bootx64.efi
    
  5. 重新启动系统。

更多详细信息请参见:

Acer 社区讨论

答案2

首先,我强烈建议您提交一份有关您的问题的错误报告,如下所述这里。虽然不能保证这会产生积极的结果,但如果没有错误报告,开发人员就不太可能解决问题。

其次,您说您手动使用以下命令尝试将 GRUB 注册到固件:

sudo efibootmgr -c -d /dev/sda -p 1 -w -L ubuntu

但是,该命令缺少一个重要参数:-l {filename}。另外,我以前从未见过-w它是一个必需选项,因此可能应该删除它。总的来说,您的命令应该是:

sudo efibootmgr -c -d /dev/sda -p 1 -L ubuntu -l \\EFI\\ubuntu\\grubx64.efi

如果您确定文件已安装,并且希望能够在安全启动处于活动状态的情况下启动,请更改grubx64.efi为。鉴于主操作系统安装冻结,我怀疑此更改是否有用,但值得一试。shimx64.efishimx64.efi

至于其余部分,我相信--no-nvram选项grub-install应该会阻止它尝试通过更新 NVRAM 变量efibootmgr。页面上没有提到此选项man,但我相信这是一个有效的选项。

您可能还想咨询我的 Linux EFI 引导加载程序页面,尤其是它的有关如何安装引导加载程序的子页面。这些将为您提供有关这些操作的“基本细节”如何进行的一些背景知识。您甚至可能希望使用 GRUB 2 以外的其他程序作为引导加载程序。

要使用默认文件名启动,您应该将所有内容复制/boot/efi/EFI/ubuntu到该目录/boot/efi/EFI/BOOT并重命名grubx64.efibootx64.efi。或者,您可以使用备用文件名安装其他内容。一个主要警告是,如果计算机已经启动 Windows(或其他操作系统),则此方法可能不起作用。在这种情况下,您可能需要“劫持”Windows 引导加载程序,将其替换为 GRUB 2(或您想要使用的任何程序),并将 Windows 引导加载程序移到其他地方。

答案3

确实可以通过劫持默认 (Windows) 引导加载程序在 Acer ES1-533 上安装和启动 Linux,如 Sladek90 所述,Rod Smith 的优秀网站也详细介绍了这一点。但是,这不是必需的。

更好的方法是安装 Linux无需写入 NVRAM,因为 efibootmgr 的写入(几乎所有发行版都这样做)将冻结系统(只能读取)。

解决方案是使用 rEFInd 实时系统(例如 USB 棒),启动它,打开 UEFI shell,然后使用 bcfg 生成所需的 UEFI 条目, 例如:

bcfg boot add 2 fs0:\EFI\ubuntu\grubx64.efi "GRUB Loader"

这会在位置 2 处为 GRUB 添加一个启动项。当您重新启动并按 F12 时,您可以选择启动 GRUB(然后是 Ubuntu)或 Windows!

相关内容