You are not logged in.
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
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
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.
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
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
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
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
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
You are welcome, I thought it might be helpful to know.
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.
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
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
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
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
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
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
Thanks, we will fix that in the next Centaurus release
Offline
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
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
I checked from the live-session before installation and it reported no package of that name, so I thought (my mistake ) 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
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
Thanks guys, I will give that a go and report back.
Offline
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/
grub-efi-amd64-signed_1.66.12+nmu1+2.02~beta2-36ubuntu3.12_amd64.deb
shim-signed_1.28+0.9+1474479173.6c180c6-1_amd64.deb
shim_0.9+1474479173.6c180c6-1_amd64.deb
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.
EDIT:
I ran the exact same procedure with the Centaurus (3.2-r1) image and everything went the same smooth way they are both installed alongside each other with no issues and no conflicts.
Last edited by Dai_trying (2018-07-17 11:45)
Offline
This is great information, thank you for keeping it updated! I'm about to install 3.3 alongside 2.6 so I'm glad I ran across this thread.
FYI I always run my systems with secureboot disabled. It's just a Microsoft creation that only gets in the way IMO. But I also like to live on the edge! lol
Offline
I only enabled secure boot for testing the Q4OS secure-boot installation method and it ran fine but I removed it afterwards.
I try to put as much info to my solutions as I can because I am sure to reference it again and it makes it an easier search
Offline
So I just wanted to drop a note here on my "dual-boot" experience with Q4OS.
I quote dual boot because I have Ubuntu 16.04 & 18,04, Manjaro, PopOS, Elementary 5, Scion, Q4OS 2.6 and now 3.3 installed on one system. Note here that I use the Manjaro EFI entry and its grub menu to access all my distros.
I had 2.6 Scorpion installed and showing in my Manjaro grub menu, and in my UEFI system menu list, it shows up as "debian".
Then I installed 3.3. During the 3.3 install, at the end, I just unchecked the option to install grub. After rebooting, I booted into Manjaro, performed an "update-grub", and 3.3 was added to the grub options along with the already existing 2.6. In grub they both show up as Debian with Scorpion on sda7 and Centaurus on sda10.
For some reason, even though I unchecked installing GRUB, "q4os" shows up in my UEFI list and boots into 3.3 if I select it. The old one labeled "debian" is still there and still boots directly into 2.6.
This is all just FYI/additional info.
I'd also like to suggest that if you like to dual/multi boot, look into using rEFInd
Last edited by DorianDotSlash (2018-09-16 04:03)
Offline
I prefer to use the UEFI boot menu to select my OS so my use is somewhat different to yours but it is a bit strange that grub still installed after unchecking the box, maybe that has something to do with it being "secure boot enabled" but I'm only guessing.
One question though, when Q4OS 3.3 installed into your UEFI menu did it put itself at the top of the list? that is did it become the default boot entry?
Offline
I prefer to use the UEFI boot menu to select my OS so my use is somewhat different to yours but it is a bit strange that grub still installed after unchecking the box, maybe that has something to do with it being "secure boot enabled" but I'm only guessing.
One question though, when Q4OS 3.3 installed into your UEFI menu did it put itself at the top of the list? that is did it become the default boot entry?
To clarify, as I mentioned before, my system's secure boot is disabled.
After installing 3.3, the 3.3 UEFI entry "q4os" was added to the bottom of my UEFI list and "Manjaro" remained my default in the boot order. This is the list my BIOS generates which I can view in BIOS setup or by hitting F11 during the system splash screen when booting.
When I added it to my Manjaro UEFI GRUB menu via update-grub, it was added before the 2.6 entry. Both are named Debian.
Offline
To clarify, as I mentioned before, my system's secure boot is disabled.
Yes I was just thinking it could be that when the devs added the secure boot ability to the image it may have inadvertently caused a bug in so much as the check box to not install grub was working fine before that, I will do some tests on that though and will post back with results.
After installing 3.3, the 3.3 UEFI entry "q4os" was added to the bottom of my UEFI list and "Manjaro" remained my default in the boot order. This is the list my BIOS generates which I can view in BIOS setup or by hitting F11 during the system splash screen when booting.
This would indicate to me that grub was not installed the "normal way" as when grub gets installed to UEFI either by using the command line or the installer it will try to put itself first in the boot order, at least that is what has happened with all my installations, but I am limited to only one UEFI machine so my experience is not really extensive.
Offline