4

As a long-time user of Ubuntu, I recently purchased an Acer Revo One which came pre-installed with Windows 8 on a 60GB SSD. This time I decided to keep the license. I took advantage of the free upgrade to MS Windows 10 (I chose to do a clean installation from a USB disc so I could control the partitions on the SSD - I left enough space for a root partition). This installation worked fine.

Next, I installed a HDD and proceeded with an Ubuntu 16.04 installation using a live USB.

I partitioned the disks as follows (I got this from GParted after booting from the Ubuntu live USB):

/dev/sda

/dev/sdb

Basically I want:

  1. both OSs to boot from the SSD
  2. Ubuntu to use the HDD for a nominal /home, swap partition and /tmp
  3. a shared partition to which both Windows and Ubuntu can write to

I have no idea why /dev/sdb3 and /dev/sdb4 have got "msftdata" flags.

Secure Boot is enabled (I've read various posts - some say have it disabled when installing Ubuntu, some say you don't need to do that). Fast Boot is disabled.

Ubuntu installs as expected however, upon reboot (having removed the live USB disk) the machine boots only into Windows.

I have checked the BIOS and there is no option to boot into anything other than the Windows Boot Manager (or the live USB disk when installed).

efibootmgr reports:

BootCurrent:0002 
Timeout: 2 seconds  
BootOrder: 0000,0002,0001 
Boot0000* Windows Boot Manager  
Boot0001 ubuntu 
Boot0002* UEFI: SanDisk

I noticed that there is no asterisk next to Boot0001 implying that is not "active". I have tried setting that active and I have also tried changing the boot order so Boot0001 is first. I've even tried changing BootNext to 0001. None of these work. I did notice that changes to activate Boot0001 are reset on the next boot - so my changes are not being preserved.

I read a number of posts which make number of recommendations:

  1. Some say install Windows first, others say the reverse.
  2. Install Grub again.
  3. Repair the EFI bootloader entries either manually (by mounting the EFI partition and copying/renaming entries) or using Boot-Repair.

I can't seem to attach a dump of the EFI partition, but here's a fragment:

./EFI
./EFI/Microsoft
./EFI/Microsoft/Boot
./EFI/Microsoft/Boot/bg-BG
./EFI/Microsoft/Boot/bg-BG/bootmgfw.efi.mui
./EFI/Microsoft/Boot/bg-BG/bootmgr.efi.mui
./EFI/Microsoft/Boot/bootmgr.efi
./EFI/Microsoft/Boot/memtest.efi
./EFI/Microsoft/Boot/boot.stl
./EFI/OEM/Boot
...
./EFI/Microsoft/Boot/en-GB
./EFI/Microsoft/Boot/en-GB/bootmgfw.efi.mui
./EFI/Microsoft/Boot/en-GB/bootmgr.efi.mui
...
./EFI/OEM
./EFI/OEM/Boot
./EFI/OEM/Boot/boot.stl
./EFI/OEM/Boot/bootmgfw.efi
./EFI/OEM/Boot/bootmgr.efi
./EFI/OEM/Boot/memtest.efi
./EFI/OEM/Boot/BOOTSTAT.DAT
./EFI/OEM/Boot/BCD
./EFI/OEM/Boot/BCD.LOG
./EFI/OEM/Boot/BCD.LOG1
./EFI/OEM/Boot/BCD.LOG2
...
./EFI/OEM/Boot/en-GB
./EFI/OEM/Boot/en-GB/bootmgfw.efi.mui
./EFI/OEM/Boot/en-GB/bootmgr.efi.mui
...
./EFI/ubuntu
./EFI/ubuntu/fw
./EFI/ubuntu/fwupx64.efi
./EFI/ubuntu/grubx64.efi
./EFI/ubuntu/grub.cfg
./EFI/ubuntu/shimx64.efi
./EFI/ubuntu/MokManager.efi
./OEM
./OEM/AcerOA30.xml
./OEM/Factory
./OEM/Factory/AMIDEWINx64.exe
./OEM/Factory/AMIFLDRV64.sys
./OEM/Factory/CHK.bat
./OEM/Factory/CHK_DK.bat
./OEM/Factory/Delay-Diags.exe
...

I know I'm close to cracking this nut, so which of the above suggestions is likely to work? I'd rather not get into the situation where Windows no longer boots and having to start again. It takes a long time reinstall everything.

Success of a sort.

My BIOS was out of date, so I updated that.

I also used Boot-Repair from a USB boot disk to repair the EFI boot partition (I'm not sure it was broken at all).

I then tried @fords suggestion - running bcdedit within w$ - Success! Grub is displayed with a plethora of choices - Ubuntu being the default.

This is all came to nought when I rebooted into Windows which, upon shutdown, decided to apply an update which stopped Ubuntu from booting. (deep sigh).

All I get is a few lines suggesting I try

sysctl reboot

or

sysctl defaults

neither of which did much.

Did the Windows update undo the Windows bcdedit and/or Linux Boot-Repair? If so, how do I prevent Windows updates from wreaking havoc on a daily basis?

9
  • 2
    All Acer we have seen require users to set a UEFI supervisory password and enable trust. Make sure you have newest UEFI from Acer, older threads mention downgrade, but newer still say newest works. Acer Very latest UEFI/BIOS works, downgrade not required: ubuntuforums.org/… Acer E5-573G, downgrade UEFI, supervisor password & trust on Ubuntu efi boot files. askubuntu.com/questions/706912/…
    – oldfred
    May 4, 2016 at 21:18
  • Hi @oldfred, I have set the supervisor password in the BIOS, but unlike the links you referred me to I don't get any options to select an EFI file to trust within the "Security" BIOS menu. There is an option called "TPM Support" which is set to enabled.
    – Father Ted
    May 9, 2016 at 19:53
  • I do not have an Acer, but just about everyone with Acer needed the trust setting. It may be in a different place? Some threads explain more details than others, but I do not remember anyone posting a screen shot. ubuntuforums.org/… This still does not show it: acer--uk.custhelp.com/app/answers/detail/a_id/27071/~/…
    – oldfred
    May 9, 2016 at 20:21
  • @oldfred - just painstakenly tried to edit my original post to upload BIOS screenshots only to be told I don't have enough reputation points! Grrr. Any suggestions I can share my BIOS settings?
    – Father Ted
    May 9, 2016 at 21:19
  • I not sure what to look for as I do not have Asus. My UEFI system required many setting changes, but I made screenshots or wrote down changes. Every UEFI or BIOS update resets to defaults. Many post to one of the various link sites and post link. Pastebin is one of many.
    – oldfred
    May 9, 2016 at 21:30

4 Answers 4

8

Have you tried setting the default boot loader to Grub in the Windows command prompt? I had to do that when I installed Ubuntu to run with Windows 10:

bcdedit /set {bootmgr} path \EFI\ubuntu\grubx64.efi

I'd also recommend turning off Secure Boot. Windows is a cranky beast when it comes to dual booting.

4
  • not tried this yet - but if this fails and I can't boot into ubuntu - will I be locked out of w$ too? (because the boot loader will have changed)?
    – Father Ted
    May 9, 2016 at 20:15
  • Nice! It worked for me. I tried shimx64.efibut didn't work.
    – shimatai
    Nov 7, 2017 at 16:51
  • I google for this every time I dual boot or when windows wipes this setting out and I lose access to grub. Thanks! This works perfectly. May 22, 2018 at 3:16
  • Did this. Nothing happened in my case - still booting straight to WIndows. I have ubuntu 18.04 installed in a partition in the same HD as Windows. Jun 8, 2019 at 1:55
2

Post Windows 10 Creator's Update, right clicking on the Windows logo shows the PowerShell(Admin) option instead of Command Prompt(Admin). I tried editing bcdedit using PowerShell, and messed up. So don't use PowerShell with bcdedit unless you know what you are doing.

The solution is to search for the Command Prompt, open it in Admin Mode(right click -> open as Admin), and use the general commands already mentioned above -

bcdedit /set {bootmgr} path "\EFI\ubuntu\shimx64.efi"

If someone figures out how to use PowerShell for bcdedit, please post here.

3
  • 1
    Bit of a late reply, but: to use it in PowerShell just put "{bootmgr}" like this, between quotation marks.
    – Vi Pau
    Mar 13, 2018 at 15:35
  • This totally bricked it for me ... Apr 12, 2021 at 21:00
  • I should really point out that this specific command only works if your version of ubuntu includes shim. Another thing is that you can use Command Prompt within PowerShell by simply typing cmd and pressing enter. Jun 19, 2021 at 16:38
1

I take it all back ... w$ hadn't ruined my day (surprisingly) - it was my poor ability in editing /etc/fstab for ssd optimisation which prevent me from booting into Ubuntu. All is well in the world.

Hope my experience is of help to someone out there!

3
  • 1
    Can you explain what you did with regards to /etc/fstab? Someone in the future having similar problems would find that part useful.
    – jokerdino
    May 12, 2016 at 17:30
  • I followed the various instructions that exist about setting discard when mounting SSD partitions, however I noticed that I had expanded the defaults attribute in /etc/fstab to its underlying values .... but sadly go it wrong. So, now I have .......................... discard,defaults for each SSD partition. Sorry I'm editing this under w$ and can't mount the root partition to put the literal value. Will do when I boot up again.
    – Father Ted
    May 19, 2016 at 18:00
  • Remember to edit your answer and add in extra details and information. Thank you.
    – jokerdino
    May 19, 2016 at 18:19
0

Another solution is use two EFI partitions. One only for windows, another for linux and other systems, in second partition create a EFI\Microsoft\Boot\ path and copy shimx64.efi to bootmgrfw.efi inside this path and let EFI\ubuntu\ untouched. ACER laptops see shim on this partition as Windows Boot Manager and boot also from here. I see that os-prober, if in this partition there is only bootmgrfw.efi and not BCD etc, recognize only windows bootloader on first original partition, not creating a double menuentry in grub.cfg. So you can boot GRUB EFI and call ubuntu or windows with correct chaniload to the other partition. In this mode Windows keep correct EFI parition structure in first partition and should not overwrite fake bootmgrfw.efi (shim) in second partition during updates. For me is working on an ACER 5750g.

You must log in to answer this question.

Not the answer you're looking for? Browse other questions tagged .