Broken system after installing USB qube

Hello!

New Qubes OS user here.
I successfully installed the latest stable Qubes OS, but I messed something up with the USB qube. I noticed that there is no usb qube in qube manager window, so I installed it following instructions here:

Using this command:
sudo qubesctl state.sls qvm.sys-usb
After that I started this newly installed qube and noticed my usb mouse stopped working. But that’s not the worst thing, after restart I am not able to boot into Qubes at all. The bootloader is working, but aftet that it’s entering emergency mode.
It gives warnings that luks partiton, root, swap, dom0-root does not exist.

I have Qubes installed on an external SSD and I read that usb qube might be blocking usb devices to access dom0. So I assume that’s the problem, but how can I now fix this, if I cannot boot into OS?

In Qubes OS grub boot menu add qubes.skip_autostart kernel option and remove rd.qubes.hide_all_usb kernel option:

Once you’ve booted in Qubes OS you can disable sys-usb autostart until you’ll configure it correctly and you also need to remove rd.qubes.hide_all_usb kernel option from grub config like this:

But remove it instead of adding it.

If he’s not using a USB keyboard (which looks like it according to the command he used), he needs to look for rd.qubes.hide_all_usb instead of usbcore.authorized_default=0

1 Like

You’re right, I’ve edited my post.

I added this line:
qubes.skip_autostart,
but I don’t see:
rd.qubes.hide_all_usb

When I press ctr x after editing grub, it’s same thing

Do you have some other options compared to the ones from this image?


Maybe usbcore.authorized_default=0?

Ok, something weird happened.
I had to do something on my normal OS, so I disconnected my external SSD on which Qubes is installed and booted into my normals OS. Then I connected external SSD back and expected to find the entry on boot priority list, but there is nothing related to Qubes OS. The SSD itself does show up on my main Linux OS.
What could’ve happened?

Thank you for the references.

As an inexperianced linux user, I’m not confident I can fix these issues on my own.

I think I will need to do a fresh install and if the problems persists I think I’ll have to give up Qubes as it’s too complicated.

No use to reinstall it, the problem will persist. You need to fix it as stated in the first link by copying and renaming the files in EFI System partition.

You can do this from any other OS. I think you can even do this from Windows.

  • Mount the EFI partition in /mnt
  • Copy the contents of /mnt/EFI/qubes/ to /mnt/EFI/BOOT/
  • Rename grubx64.efi to bootx64.efi
  • Rename grub.cfg to bootx64.cfg
1 Like

Is that a permanent solution? If I disconnect the drive again, will I have to go through this procedure again?

How is it even possible that UEFI doesn’t recognize the drive? I read the github link, but I didn’t quite understand the explanation.

Yes.

No.

That post didn’t answer my question though.

I have used other OSes on USB devices and this is the first time I have encountered this issue.

Why did UEFI removed Qubes entry?

Probably because other OSes used EFI fallback path (they place a copy of files in BOOT directory) from the beginning and Qubes OS doesn’t use it.

Could it be that there was too many entries is Uefi?

No, that’s unrelated.

So after following steps here:

I managed to get Qubes to boot again.
It actually was really simple. I just copy pasted stuff in regular file manager, renamed files and then executed the last command in terminal.

Anyone with the same problem reading this I recommend reading these links for general understanding of the boot problem.
https://www.rodsbooks.com/efi-bootloaders/principles.html

So removing this line worked:
usbcore.authorized_default=0

I disabled:
Start qube automatically on boot

I opened this file:
/etc/default/grub
There is no line with:
rd.qubes.hide_all_usb,
but instead there is:
usbcore.authorized_default=0

How should I proceed?

Remove usbcore.authorized_default=0 from /etc/default/grub and regenerate grub config:

  • Run the command grub2-mkconfig -o /boot/grub2/grub.cfg (legacy boot) or grub2-mkconfig -o /boot/efi/EFI/qubes/grub.cfg (EFI) in dom0.
1 Like