This post is more than 5 years old

19406

December 28th, 2018 04:00

Dell G3 15 3579 System BootOrder not found

So I bought the G3 15 and wanted to upgrade it and install linux on it. The configuration I have came with and Intel M.2 NVM SSD of 256GB and comes with 8GB of RAM, 1050Ti GPU and the i7-8750H CPU.

I went on and bought an 970Evo M.2 NVMe SSD and a Sandisk SSD as my secondary drive.

I cloned Windows from the Intel Drive to the Sandisk (since I want my primary OS to reside in the Samsung Evo drive) and went on with Ubuntu 18.04 installation process.

As a sidenote here, I had all the problems mentioned in other posts, regarding to the drive not found, AHCI/Raid on drives, Secure Boot settings, the issue with Ubuntu freezing on suspend due to the nouveaux driver etc. I fixed all these according to the information on the other posts.

My problem lies after everything is set up properly.

After all installation, I have initially properly two boot options (by clicking F12).

  • UEFI: Samsung SSD 970 EVO 500GB, Partition 1
  • UEFI: SanDisk SSD PLUS 240GB, Partition 1

To get it out of the way, Windows are working fine. If I select the second option, Windows load and work just fine.

If I select the first option, for a very brief period of time (1 third of a second), I see the following message:

System BootOrder not found. Initializing defaults.
Creating boot entry "Boot0001" with label "ubuntu" for file "\EFI\ubuntu\shimx64.efi

This creates a third option which is not first in priority and launches first. When the Grub loader launches from "ubuntu" I see the following text:

Minimal BASH-like editing is supported. For the first word, TAB blah blah blah
grub >

This is a minified Grub loader but does not load anything. If I type "exit", the next in line partition is succesfully loaded this time and I am on the proper grub loader offered by Ubuntu, where I can normally select "Ubuntu" and load into the OS. Still, if I delete the "ubuntu" entry, or disable it, and try to load from the 970Evo directly, again, the screen will complain about the BootOrder not found and will create another boot entry called "ubuntu" again.

Which means that the solution here is that I cannot do anything else than simply every time log into the "ubuntu" boot entry and type "exit" to move on to the second option :( which is quite annoying..

My configuration is:

  • BIOS: v1.5.1 (latest version at the time of writing).
  • UEFI boot enabled.
  • Legacy boot disabled.
  • SecureBoot On (tried it with Off as well, no difference).
  • Sata drives configuration: AHCI.

Also, I tried the posts with the BootRepair and tried to re-install Ubuntu multiple times, including guides of manually fixing the grub loader without success of course since it is not the grub loader that is the issue here aparently, it is the UEFI that has issues detecting them I guess.

An extra note is that in BIOS, these 2 entries (ubuntu and the 970Evo) are indeed using a different file to boot.

The "ubuntu" entry is using the file "\EFI\ubuntu\shimx64.efi" while the 970Evo entry is using the "\EFI\boot\bootx64.efi" file. The shimx64 is the one presenting an empty boot loader but is detected, while the bootx64efi is presenting a working bootloader (the one that I am able to load from) but is not detected.

"How can I make this work without the extra screen?" is the question here.

December 28th, 2018 07:00

 

Ok so I can only make assumptions looking from the result. I did find a solution but the reason why only this worked, I am not entirely sure.

I found the solution at https://askubuntu.com/a/749414/908310 and particularly the part:

Manual install of GRUB to the fallback filename on the external disk -- OS installers boot by using a fallback filename of EFI/BOOT/bootx64.efi. 
If you copy Shim (which launches GRUB) to this filename (by copying EFI/ubuntu to EFI/BOOT on the ESP and then renaming shimx64.efi to bootx64.efi
in EFI/BOOT), your firmware will be able to launch your USB-based GRUB just as it did the Ubuntu installer. This will work past both of the problems
I've just identified, but you'll need to use the computer's built-in boot manager to select which OS to boot. This built-in boot manager ranges from
unusable to tolerable, so this might or might not be an acceptable solution. You may also need to tweak your boot order after you install Ubuntu to
keep it from launching GRUB from either the internal disk's ESP or the external disk's ESP by default.

So, what I think(feel free to correct me) is the issue is that I tried to install Ubuntu in the M.2 NVMe drive while having an HDD (SSD) installed. The port where the SSD is installed is considered as the primary drive. The primary drive also had the Windows 10 on it. I think that this somehow messed up the boot sequences resulting all automation software, like boot-repair and rEFInd.

I think that there is also a minor issue detecting the NVMe. So the problem might be a combination of a UEFI that is not completely working fine, and the fact that the SSD is considered the primary HDD.

All of the above with the respect to all the settings managing the boot priority of course.

Also, the SSD seem to be loading the Windows boot loader but in the disk, the (hd0,1) there is a partition related to the grub loader. Which makes me assume that the boot-repair and rEFInd software used the primary disk as a source but the primary disk already had the windows boot loader to begin with.

So what I did is that while being logged in in Ubuntu, I did the following:

$ sudo su
# cd /boot/efi/EFI
# mv BOOT BOOT_bak
# cp -R ubuntu BOOT
# cd BOOT
# mv shimx64.efi bootx64.efi

The above basically mean that I copied over the bootloader used normally to boot grub from the folder ubuntu and placed it instead of the one used by default by ubuntu.

From the post linked in askUbuntu, the following piece seems to explain the whole thing above:

To boot an internal disk in EFI mode, the OS typically stores a boot loader as a file on the EFI System Partition (ESP) on the disk. 
This filename can be anything legal, but for Ubuntu it will be EFI/ubuntu/shimx64.efi,
which in turn launches EFI/ubuntu/grubx64.efi.

If we assume that in the end, grubx64 is the one that is fired, this file did not exist in the original BOOT folder. Thus, the error could occur. On the other hand, by allowing the system to automatically create an "ubuntu" boot entry, it probably did not detect automatically which hdd to fire and thus lead us to the grub screen.

Now, probably, at most 50% of my assumptions are true. However, this was a solution that worked for me.

After running the above commands, and copying the ubuntu folder over to BOOT, I was able to delete the ubuntu boot entry, set the priority to the NVMe EVO970 and have it load the grub loader, from where I can boot into both ubuntu and Windows, without having an issue or having the ubuntu entry re-created.

I hope the above can help someone else in the future.

In general, trying to install ubuntu 18.04 in this laptop, lead me to face 3 issues:

  • The Samsung NVMe 970 was not being detected (AHCI sata drive mode).
  • Linux where freezing upon suspend or randomly (the nouveaux drivers solved by nouveaux.modeset=0)
  • The startup issue described in this post.

Now everything works as a charm :)

 

January 2nd, 2019 13:00

Hi,

Could you be more specific regarding:

other posts, regarding to the drive not found, AHCI/Raid on drives, Secure Boot settings, the issue with Ubuntu freezing on suspend due to the nouveaux driver etc.

I could not find any information about this.

 

Cheers,

L@u

February 26th, 2019 08:00

Thanks, but I managed to install Ubuntu, since then.

No Events found!

Top