New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Qubes does not update GRUB2 on dual-boot machine #3022

Closed
stone212 opened this Issue Aug 13, 2017 · 2 comments

Comments

Projects
None yet
3 participants
@stone212

Qubes OS version (e.g., R3.2):

R3.2

Affected TemplateVMs (e.g., fedora-23, if applicable):

No template affected. GRUB2 is affected.


Expected behavior:

When installing Qubes or updating the dom0 kernel on a dual boot machine, Qubes should update GRUB2 menu to boot to Qubes.

Actual behavior:

GRUB2 is unchanged after installation or kernel update, meaning that you cannot boot to Qubes from GRUB2 menu.

Steps to reproduce the behavior:

Install Qubes on existing system with GRUB2. This system is encrypted but boot partition is not (I think) so I do not know why it doesn't work.

General notes:

The workaround is to boot into the other OS, mount the Qubes boot partition, find grub2/grub.cfg, and find the lines for the Qubes menu entry. Then open the other OS' /etc/grub.d/40_custom and add that code as a custom menu entry. Then sudo update-grub on the other OS.

After this, reboot and Qubes shows up in the GRUB2 menu entry as expected.


Related issues:

@marmarek

This comment has been minimized.

Show comment
Hide comment
@marmarek

marmarek Sep 24, 2017

Member

It looks like you've overridden grub2 installed by Qubes, with the one of the other OS. Or haven't allowed Qubes installer to install grub2 at all. In any case, you need to place the entries of the other OS into /etc/grub.d/40_custom of Qubes, then run sudo grub2-mkconfig -o /boot/grub2/grub.cfg.
Anyway, this is all covered here: https://www.qubes-os.org/doc/multiboot/. Also take a look at risks mentioned at the top of that page.

Member

marmarek commented Sep 24, 2017

It looks like you've overridden grub2 installed by Qubes, with the one of the other OS. Or haven't allowed Qubes installer to install grub2 at all. In any case, you need to place the entries of the other OS into /etc/grub.d/40_custom of Qubes, then run sudo grub2-mkconfig -o /boot/grub2/grub.cfg.
Anyway, this is all covered here: https://www.qubes-os.org/doc/multiboot/. Also take a look at risks mentioned at the top of that page.

@marmarek marmarek closed this Sep 24, 2017

@stone212

This comment has been minimized.

Show comment
Hide comment
@stone212

stone212 Sep 25, 2017

It looks like you've overridden grub2 installed by Qubes

That statement cannot apply. The exact problem that I am reporting is that Qubes does not install GRUB2 when Qubes is installed. So there is nothing to overwrite That is why the title of this issue is "Qubes does not update GRUB2 on dual-boot machine " and that is why this is exactly the problem I described.

In any case, you need to place the entries of the other OS into /etc/grub.d/40_custom of Qubes

This is not an adequate solution. The reason it is not adequate is because in order to do this, you have to boot to Qubes. But if Qubes does not upgrade GRUB2 then you cannot boot to Qubes. It is like someone saying "I locked my keys in the car" and replying "you should use the keys to unlock the door" or something.

My workaround was to add the Qubes entry to the other OS' 40_custom file and run update-grub from there. Then I can boot Qubes. It would be silly to repeat this process after I have booted into Qubes.

The reason for reporting this bug is so that you are aware that Qubes is unable to correctly update GRUB2 when it is installed, and this workaround is required. It should not be. Qubes should update GRUB2 when it is installed (and when it is upgraded) so that both OSes are discovered and available when booting.

It looks like you've overridden grub2 installed by Qubes

That statement cannot apply. The exact problem that I am reporting is that Qubes does not install GRUB2 when Qubes is installed. So there is nothing to overwrite That is why the title of this issue is "Qubes does not update GRUB2 on dual-boot machine " and that is why this is exactly the problem I described.

In any case, you need to place the entries of the other OS into /etc/grub.d/40_custom of Qubes

This is not an adequate solution. The reason it is not adequate is because in order to do this, you have to boot to Qubes. But if Qubes does not upgrade GRUB2 then you cannot boot to Qubes. It is like someone saying "I locked my keys in the car" and replying "you should use the keys to unlock the door" or something.

My workaround was to add the Qubes entry to the other OS' 40_custom file and run update-grub from there. Then I can boot Qubes. It would be silly to repeat this process after I have booted into Qubes.

The reason for reporting this bug is so that you are aware that Qubes is unable to correctly update GRUB2 when it is installed, and this workaround is required. It should not be. Qubes should update GRUB2 when it is installed (and when it is upgraded) so that both OSes are discovered and available when booting.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment