Unable to install Ubuntu on Acer Aspire ES1-533
The problem can be solved as follows:
Boot Ubuntu Live DVD/USB in testing mode and open terminal
-
Run installation process without installing bootloader by:
sudo ubiquity -b
Press Continue testing after installation is over.
-
Mount newly installed file system on
/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
(where sda2
is the root partition and sda1
is the EFI system partition)
-
Load efivars by:
sudo modprobe efivars
-
Reinstall
grub-install
for a 64-bit versionsudo apt-get install --reinstall grub-efi-amd64 sudo grub-install --no-nvram --root-directory=/mnt
-
Change root to
/mnt
and update grubsudo chroot /mnt update-grub
-
Move and rename the installed bootloader
cd /boot/efi/EFI cp -R ubuntu/* BOOT/ cd BOOT cp grubx64.efi bootx64.efi
Reboot the system.
Further details can be found here:
Acer community discussion
First, I strongly recommend you file a bug report about your problems, as described here. There's no guarantee this will produce positive results, but without bug reports, developers are very unlikely to fix problems.
Second, you said you used the following command manually to try to register GRUB with the firmware:
sudo efibootmgr -c -d /dev/sda -p 1 -w -L ubuntu
That command, though, is missing an important parameter: -l {filename}
. Also, I've never before seen -w
as a required option, so that should probably be removed. In total, your command should instead be:
sudo efibootmgr -c -d /dev/sda -p 1 -L ubuntu -l \\EFI\\ubuntu\\grubx64.efi
Change grubx64.efi
to shimx64.efi
if you're certain the shimx64.efi
file is installed and if you want to be able to boot with Secure Boot active. Given that the main OS installation is freezing, I'm doubtful that this change will help at all, but it's worth trying.
As to the rest, I believe the --no-nvram
option to grub-install
should keep it from trying to update the NVRAM variables via efibootmgr
. This option is not mentioned on the man
page, but I believe it's a valid option.
You may also want to consult my page on EFI boot loaders for Linux, and especially its subpage on how to install boot loaders. These will give you some background on how the "nuts and bolts" of these operations proceed. You might even want to use something other than GRUB 2 as your boot loader.
To boot using the default filename, you should copy all of /boot/efi/EFI/ubuntu
to /boot/efi/EFI/BOOT
and rename grubx64.efi
to bootx64.efi
within that directory. Alternatively, you could install something else using the fallback filename. One major caveat with this is that this may not work if the computer is already booting Windows (or some other OS). In that case, you may need to "hijack" the Windows boot loader by replacing it with GRUB 2 (or whatever you want to use) and moving the Windows boot loader elsewhere.
Linux can indeed be installed and booted on the Acer ES1-533 by hijacking the default (Windows) bootloader, as described by Sladek90 and also detailed on Rod Smith's excellent website. However, that is not necessary.
A better way is to install Linux without writing to the NVRAM, since a write by efibootmgr - which nearly all distros do - will freeze the system (only read is possible).
The solution is to use the rEFInd live system (e.g., USB stick), boot into it, open the UEFI shell, and generate the required UEFI entry with bcfg, for example:
bcfg boot add 2 fs0:\EFI\ubuntu\grubx64.efi "GRUB Loader"
This adds a boot entry for GRUB at pos. 2. When you reboot and press F12, you will have a choice to boot GRUB (and then Ubuntu) or Windows!