You are not logged in.

#1 2018-03-18 10:58

Dai_trying
Member
From: UK
Registered: 2015-12-14
Posts: 2,274
Website

Installing Centaurus wiped Scorpion from UEFI boot menu

Hi, I have been doing some testing with different partition layouts and installation methods and found that when I installed Q4OS Centaurus my previous installations are no longer available from the UEFI boot menu (F12 at startup). Here is what I have done...

1 Installed Win10 (No Issues)
2 Installed Q4OS Scorpion via Windows Installer (No Issues, both show in boot menu)
3 Installed Q4OS Scorpion via USB (No Issues, all three show in boot menu)
4 Installed Debian Buster via USB (No Issues, all four show in boot menu)
5 Installed Q4OS Centaurus via USB (Removed BOTH Q4OS entries from boot menu leaving only Q4OS Centaurus,Debian Buster and Win10)

I can still boot into my previous Q4OS Scorpion (install #3) from the Grub menu for Centaurus so it is still available, but I usually select my system to boot from the UEFI menu so that I can keep all OS's configured with their own grub (and configs).

At this point I cannot boot my #2 Scorpion installation as Grub has no access to it's location (Windows partition),

Another interesting thing is the addition of an "Ubuntu" option in the first grub menu for Centaurus which actually does nothing when selected and simply shows the grub screen again. When I select Q4OS from that menu I then get the Q4OS grub menu where the other installed OS's are listed (and available).

I know this is a testing version and am reporting mainly to help in its evolution smile

I have not tried to re-install grub from the #3 installation yet as I thought I would report this first before I get too much to report in a single post.

I thought about putting the #2 install directly into the UEFI boot menu using the UEFI settings but I'm not too sure which item I should choose for it, below is the output of tree from /boot/efi/EFI/

├── Boot
│   └── bootx64.efi
├── debian
│   ├── grubx64.efi
│   └── wubildr
│       ├── adminu_wubi.cer
│       ├── grubia32.efi
│       ├── grubx64.efi
│       ├── grubx64.efi.canonical
│       ├── MokManager.efi
│       └── shimx64.efi
├── Microsoft
│   ├── Boot
│   │   ├── BCD
│   │   ├── BCD.LOG
│   │   ├── BCD.LOG1
│   │   ├── BCD.LOG2
...
snipped to remove many language entries
...
│   └── Recovery
│       ├── BCD
│       ├── BCD.LOG
│       ├── BCD.LOG1
│       └── BCD.LOG2
├── q4os
│   ├── fbx64.efi
│   ├── grub.cfg
│   ├── grubx64.efi
│   ├── mmx64.efi
│   └── shimx64.efi
└── ubuntu
    ├── grub.cfg
    └── grub_ubuntu.cfg

I can directly set any of these .efi entries to a UEFI boot menu option so if you can see which one would be useful to get my #3 install running it would be appreciated. Also any advice to get my #2 install available again would be greatly appreciated.

Offline

#2 2018-03-18 14:35

q4osteam
Q4OS Team
Registered: 2015-12-06
Posts: 1,822
Website

Re: Installing Centaurus wiped Scorpion from UEFI boot menu

Thanks for the report, we will investigate the issue as soon as possible and report back.

The 'Ubuntu' entry is added by the Q4OS installer as a side effect, as Q4OS uses 'shimx64.efi' and 'grubx64.efi' signed by canonical to make Q4OS bootable in Secure boot enabled systems.

Dai_trying wrote:

I can directly set any of these .efi entries to a UEFI boot menu option so if you can see which one would be useful to get my #3 install running it would be appreciated. Also any advice to get my #2 install available again would be greatly appreciated.

You need to add 'q4os/shimx64.efi' to the UEFI boot menu to get #3 running and the 'debian/wubildr/shimx64.efi' to get #2 running.

Last edited by q4osteam (2018-03-18 22:37)

Offline

#3 2018-03-18 16:27

Dai_trying
Member
From: UK
Registered: 2015-12-14
Posts: 2,274
Website

Re: Installing Centaurus wiped Scorpion from UEFI boot menu

Thank you guys, I got install #2 back in the menu but 'q4os/shimx64.efi' is being used by the Centaurus install(#5) so could not use that one. I am guessing that the install would have overwritten a previous version of this file and I would need to re-install Scorpion (or maybe just re-install grub) to get it back. I'm unsure whether this would remove the Centaurus file and simply replace it with it's own version though...

On previous multi-boot set-ups I renamed the folders containing the boot entries and then adjusted them in the UEFI boot options, but I seem to recall the last time I tried this with Scorpion it would fail to boot, I will make a backup of the EFI folder and try renaming to see if it will work and post back here with results.

Offline

#4 2018-03-18 17:16

Dai_trying
Member
From: UK
Registered: 2015-12-14
Posts: 2,274
Website

Re: Installing Centaurus wiped Scorpion from UEFI boot menu

As I expected renaming the EFI directory (from q4os to oldq4os) and then re-installing grub from the Scorpion installation (#3) (as well as adjusting the boot menu entries) does not allow me to boot into Scorpion directly, I think this has something to do with the Ubuntu directory that resides in /boot/efi/EFI/ and I would expect that if I rename that one then neither Scorpion nor Centaurus would boot...

Result so far is that I can get into all of the installations one way or another but Scorpion is now not accessible via it's own UEFI boot menu entry.

I am going to try another Scorpion installation, (another partition) and I expect it will overwrite the contents of the Ubuntu directory but I have everything backed up so nothing to lose.

Offline

#5 2018-03-18 18:24

Dai_trying
Member
From: UK
Registered: 2015-12-14
Posts: 2,274
Website

Re: Installing Centaurus wiped Scorpion from UEFI boot menu

Again as I expected a fresh Scorpion install overwrites the previous Ubuntu directory contents and now points to my (new) Scorpion installation.

I can still access all the OS's I have installed, but only through the new Scorpion grub menu, attempting to use the old Centaurus menu entry simply gets pointed towards the Scorpion grub.

I am guessing it will not be possible to have two installations (in this case Scorpion and Centaurus) alongside each other but with their own UEFI menu entry due to the Ubuntu Directory in /boot/efi/EFI/.

Offline

#6 2018-03-18 22:53

q4osteam
Q4OS Team
Registered: 2015-12-06
Posts: 1,822
Website

Re: Installing Centaurus wiped Scorpion from UEFI boot menu

Dai_trying wrote:

As I expected renaming the EFI directory (from q4os to oldq4os) and then re-installing grub from the Scorpion installation (#3) (as well as adjusting the boot menu entries) does not allow me to boot into Scorpion directly, I think this has something to do with the Ubuntu directory that resides in /boot/efi/EFI/ and I would expect that if I rename that one then neither Scorpion nor Centaurus would boot...
...
I am guessing it will not be possible to have two installations (in this case Scorpion and Centaurus) alongside each other but with their own UEFI menu entry due to the Ubuntu Directory in /boot/efi/EFI/.

Right. Unfortunately, we need to preserve the 'Ubuntu' directory to be able to boot system directly, ie. without the MOK management, on Secure boot systems, as the Canonical signed grub binary reads right and only from the (EFI)/ubuntu/grub.cfg . We will consider, at least for Centaurus, to replace the couple of Canonical signed 'shimx64.efi' and 'grubx64.efi' files with files compiled and signed on our own, the same way as the Q4OS for Windows setup does. Unfortunately in this case, a user will need to perform the MOK registration in the PC firmware before the first system boot. Anyway, thanks for that helpful reports.

Offline

#7 2018-03-18 23:13

Dai_trying
Member
From: UK
Registered: 2015-12-14
Posts: 2,274
Website

Re: Installing Centaurus wiped Scorpion from UEFI boot menu

You are welcome, I thought it might be helpful to know. smile

Now I have the grub controlled by Scorpion it's not too bad as I was concerned mainly that if the Centaurus failed for some reason (it is testing after all) then I might lose the ability to boot into Scorpion too.

I know there would be ways to recover such problems but one of the things I like so much about UEFI systems is the ability to keep the different OS's completely apart so that one system would not affect another, so if I wanted to add/remove/change one system I would have no effect on the others. Hopefully this could be rectified at some stage but as this is still quite early in the development of Centaurus I don't consider it too important and will work around it. smile

EDIT: Just a quick thought, would it be possible to set the ubuntu folder inside the folder for the installation so it would become (EFI)/(q4os)/ubuntu/grub.cfg, although the q4os would need to be dynamic and be read as the path of the executing file so that it could be changed according to where it is run from? Not expecting an answer for this, just posting as a thought for possible future solution.

Last edited by Dai_trying (2018-03-18 23:19)

Offline

#8 2018-03-18 23:28

q4osteam
Q4OS Team
Registered: 2015-12-06
Posts: 1,822
Website

Re: Installing Centaurus wiped Scorpion from UEFI boot menu

Dai_trying wrote:

Just a quick thought, would it be possible to set the ubuntu folder inside the folder for the installation so it would become (EFI)/(q4os)/ubuntu/grub.cfg, although the q4os would need to be dynamic and be read as the path of the executing file so that it could be changed according to where it is run from?

Yes, it's a good idea, but we are afraid the '(EFI)/ubuntu/grub.cfg' path is hardcoded in Canonical's 'grubx64.efi' binary. Anyway we will make some more testing to check this possibility up.

Offline

#9 2018-03-20 15:50

Dai_trying
Member
From: UK
Registered: 2015-12-14
Posts: 2,274
Website

Re: Installing Centaurus wiped Scorpion from UEFI boot menu

I am trying to get my first installed Q4OS Scorpion to be my default boot option but cannot get grub installed and bootable.

I have removed /boot/efi/EFI/Q4OS/ and /boot/efi/EFI/ubuntu and removed the UEFI boot entry, I then re-installed grub and it completed without error but I can only get the grub rescue prompt.

I have tried using grubx64.efi instead of shimx64.efi but still just get the rescue prompt.

Is it possible to reinstall grub in this situation? I am using my Debian installation's grub to be able to boot into the other installs so I can get into them all but I really need to get the installations to be able to boot independantly from the UEFI boot menu.

Note1 I am not running in secure mode, I only used that for testing and am now running with it disabled.
Note2 I can re-install if that is the only way to get grub back and configured, but thought I'd try the grub install route first.

Offline

#10 2018-03-20 17:15

q4osteam
Q4OS Team
Registered: 2015-12-06
Posts: 1,822
Website

Re: Installing Centaurus wiped Scorpion from UEFI boot menu

A. You probably need to restore the '/boot/efi/EFI/ubuntu/grub.cfg' file. Its content should be as follows:

if [ -f /efi/ubuntu/grub_ubuntu.cfg ]; then
 set timeout=3
 menuentry 'Q4OS' {
  search --set=root -f -n /etc/q4os_version
  configfile /boot/grub/grub.cfg
 }
 menuentry 'Ubuntu' {
  configfile /efi/ubuntu/grub_ubuntu.cfg
 }
else
 search --set=root -f -n /etc/q4os_version
 configfile /boot/grub/grub.cfg
fi

B. Another, more generic, way would be to remove 'shim-signed grub-efi-amd64-signed' packages and re-install grub. It should register UEFI boot menu entry with no need of the 'Ubuntu' path. Keep in mind, it will work only, if Secure boot is disabled. If you will enable Secure boot later, you will need to install 'shim-signed grub-efi-amd64-signed' packages again, restore 'Ubuntu' directory and re-run grub installation. Both packages are not available in repositories, but could be easily extracted from the Q4OS live media.

Offline

#11 2018-03-20 18:55

Dai_trying
Member
From: UK
Registered: 2015-12-14
Posts: 2,274
Website

Re: Installing Centaurus wiped Scorpion from UEFI boot menu

Thank you guys that works perfectly!

I realise I don't use my machine the same as most users and this makes things much easier for me.

Offline

#12 2018-03-20 19:19

Dai_trying
Member
From: UK
Registered: 2015-12-14
Posts: 2,274
Website

Re: Installing Centaurus wiped Scorpion from UEFI boot menu

Just had to mention a small anomaly I found with the Centaurus grub, it is reporting as "Scorpion 3.1" in the grub menu.

Offline

#13 2018-03-20 19:59

q4osteam
Q4OS Team
Registered: 2015-12-06
Posts: 1,822
Website

Re: Installing Centaurus wiped Scorpion from UEFI boot menu

Thanks, we will fix that in the next Centaurus release smile

Offline

#14 2018-07-17 09:24

Dai_trying
Member
From: UK
Registered: 2015-12-14
Posts: 2,274
Website

Re: Installing Centaurus wiped Scorpion from UEFI boot menu

I have just started another full re-installation of my laptop and started with Scorpion (q4os-2.5-x64.r1.iso) and noticed the ubuntu folder is placed into the EFI folder, attempts to remove it result in unworking system, I can replace this file using the information earlier in this thread but as I will be installing Centaurus next (after removing the shim package) I guess this will give me the same problem.

Is there a way to install Scorpion without the need for this ubuntu folder?

Offline

#15 2018-07-17 09:43

q4osteam
Q4OS Team
Registered: 2015-12-06
Posts: 1,822
Website

Re: Installing Centaurus wiped Scorpion from UEFI boot menu

The default Q4OS Scorpion, as well as Centaurus, installation creates 'efi/ubuntu' directory for secure boot enabled systems to be ready to boot properly. There is no way to go around at the moment.

Anyway, if you don't use secure boot, you can remove the 'efi/ubuntu' directory, 'shim-signed grub-efi-amd64-signed' packages and re-install grub. It will register UEFI boot menu entry with no need of the 'Ubuntu' path. You can do that for every single Q4OS installation and it will result in a clean system with multiple Q4OS installations. Keep in mind, it will work only, if Secure boot is disabled.

Offline

#16 2018-07-17 09:48

Dai_trying
Member
From: UK
Registered: 2015-12-14
Posts: 2,274
Website

Re: Installing Centaurus wiped Scorpion from UEFI boot menu

I checked from the live-session before installation and it reported no package of that name, so I thought (my mistake sad ) it was not installed. I will try again and see if I missed it.
I am thinking I might remaster the images to remove the shim package before-hand to prevent this, do you see any issues with doing this?

Offline

#17 2018-07-17 09:51

q4osteam
Q4OS Team
Registered: 2015-12-06
Posts: 1,822
Website

Re: Installing Centaurus wiped Scorpion from UEFI boot menu

Yes, you may only need to remove 'shim-signed grub-efi-amd64-signed' packages from '/pool/efi_debs/' folder from the live cd, it should work well, but we haven't tested it.

EDIT: The 'efi/ubuntu' folder will be still created probably, but inactive, you will be able to just remove it after installation with no need of additional steps.

Last edited by q4osteam (2018-07-17 09:52)

Offline

#18 2018-07-17 09:56

Dai_trying
Member
From: UK
Registered: 2015-12-14
Posts: 2,274
Website

Re: Installing Centaurus wiped Scorpion from UEFI boot menu

Thanks guys, I will give that a go and report back.

Offline

#19 2018-07-17 10:53

Dai_trying
Member
From: UK
Registered: 2015-12-14
Posts: 2,274
Website

Re: Installing Centaurus wiped Scorpion from UEFI boot menu

Ok, all went well and installation finished without error, the ubuntu folder was still there (as expected) but I removed it and the system rebooted without issue.

I removed the following files from /pool/efi_debs/

  1. grub-efi-amd64-signed_1.66.12+nmu1+2.02~beta2-36ubuntu3.12_amd64.deb

  2. shim-signed_1.28+0.9+1474479173.6c180c6-1_amd64.deb

  3. shim_0.9+1474479173.6c180c6-1_amd64.deb

  4. mokutil_0.2.0-1+b3_amd64.deb

I will now try the same with Centaurus and hopefully get the same result. Thanks again guys. smile

EDIT:
I ran the exact same procedure with the Centaurus (3.2-r1) image and everything went the same smooth way smile they are both installed alongside each other with no issues and no conflicts.

Last edited by Dai_trying (2018-07-17 11:45)

Offline

Board footer

Powered by FluxBB