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


10

我买了这台计算机,想在上面安装Ubuntu。问题是我已经超过3个星期没有成功。该计算机随附功能非常有限的UEFI。无法将其切换为 旧版,并且没有选择将UEFI文件选择为受信任执行的选项。唯一可以做的就是启用/禁用安全启动

现在来解决这个问题。我想首先在自动模式下安装Ubuntu,然后也与手动分区别的东西。在这两种情况下,将grub2安装到/ dev / sda时安装都会崩溃,并且计算机会挂起。

然后,我决定使用ubiquity -b在没有引导程序的情况下进行安装。效果很好,安装顺利完成。最后,我尝试使用grub-install手动安装引导加载程序。在这里,我到了同一点-计算机挂起。

在这里grub-install死机了

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

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

之后它再次挂起。

我的想法如何使其工作如下:

在没有引导加载程序的情况下安装Ubuntu,在不尝试向UEFI注册新条目的情况下手动安装引导加载程序,将引导加载程序从/ EFI / ubuntu /移至/ EFI / BOOT /并将其重命名为bootx64.efi。然后,我几乎可以肯定它会起作用。

任何人都可以建议如何:

  1. 执行grub-install而不尝试通过efibootmgr注册新的UEFI条目,这样它就可以通过并且不会使计算机冻结?

  2. 我应该将/ EFI / ubuntu /中的哪些文件复制到/ EFI / BOOT中,并且应该将其中哪些文件重命名为bootx64.efi

  3. 如果这不是一个好方法,那将是更好的解决方案。

感谢您的任何建议。


1
同样的问题……几天前刚买了这个东西。

Answers:


12

该问题可以通过以下方式解决:

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

  2. 通过以下方式运行安装过程而不安装bootloader:

    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. 通过以下方式加载efivar:

    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
    sudo update-grub
    
  4. 移动并重命名已安装的引导程序

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

可以在这里找到更多详细信息:

宏cer社区讨论


2
当我这样做时:sudo mount / dev / sda2 / mnt sudo mkdir / mnt / boot / efi,它给了我一个错误,并说这些不是正在使用还是不存在。如何检查这些文件夹的等效物是什么?另外,在安装Ubuntu时,我应该选择自定义分区吗?执行此操作时,分区的外观如何?
晚餐

1
安装Linux Mint 19时,此解决方案在Lenovo L450上对我有用!就像OP一样,我没有选择信任的UEFI文件的选项。
西蒙·劳伯

好答案!在Kubuntu 18.04.2。上与顽固的Acer Aspire ES1-533-P7P6像魅力一样工作,非常感谢!
David Verdin

@dinnerisserved,您可以使用sudo lsblk -o NAME,FSTYPE,SIZE,MOUNTPOINT,LABEL
Sisir

列出efi分区sudo fdisk -lu|grep -i efi
Sisir

5

首先,我强烈建议您提交有关您的问题的错误报告,如下所述无法保证会产生积极的结果,但是如果没有错误报告,开发人员很难修复问题。

其次,您说您手动使用以下命令尝试向固件注册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变量efibootmgrman该页面上未提及此选项,但我认为这是有效的选项。

您可能还需要查阅有关Linux的EFI引导加载程序的页面,尤其是有关如何安装引导加载程序的子页面。这些将为您提供这些操作的“细节”的背景知识。您甚至可能要使用GRUB 2以外的其他东西作为引导加载程序。

要使用默认文件名的引导,则应该将所有的复制/boot/efi/EFI/ubuntu/boot/efi/EFI/BOOT和重命名grubx64.efibootx64.efi该目录中。或者,您可以使用后备文件名安装其他内容。一个主要的警告是,如果计算机已经在引导Windows(或某些其他操作系统),则可能无法正常工作。在这种情况下,您可能需要“劫持” Windows启动加载器,方法是将其替换为GRUB 2(或您要使用的任何版本),然后将Windows启动加载器移至其他位置。


好的,最后似乎其他人已将错误提交给我。参见[link](bugs.launchpad.net/ubuntu/+source/grub-installer/+bug/1652090
Sladek90 '16

1

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

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

解决方案是使用rEFInd实时系统(例如USB记忆棒),启动该系统,打开UEFI Shell,并使用bcfg生成所需的UEFI条目,例如:

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

这将在pos添加GRUB的启动项。2.重新启动并按F12键时,可以选择启动GRUB(然后是Ubuntu)或Windows!


您能添加一步一步的过程,而不是提供一个粗略的想法吗?
西西尔
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.