Grub error after installing Qubes 4.2 on external SSD

Hello. Friend asked me to install the Qubes system on an external drive, I had the test version 4.2 rc.1 and it was an error. After the installation, the grub of My Qubes was corrupted on my PC and after installation it did not work what i show later.

After reinstalling on external SSD to stable version 4.1.2, Qubes already works on his external disk but now my is damaged.
When boot i have this announcement :
error : no such device ( and here number id … this external disk not mine )
error : unknow filesystem
grub resc

whats goin on ?

please help I need it quickly my qubes.

Read this:

I read it and honestly I don’t understand much, so I know it’s not a random error, but with other systems, mainly Fedora, there has never been a problem, so I didn’t check it before installation.

I don’t have access to dom0 here, only have grub rescue
because If i understand correctly that these names need to be changed there (or should it be done before install Qubes on external drive )? :

Copy files from /boot/efi/EFI/qubes/ to /boot/efi/EFI/BOOT/

sudo cp -r /boot/efi/EFI/qubes/* /boot/efi/EFI/BOOT/

Change filename grubx64.efi → BOOTX64.efi.

sudo mv /boot/efi/EFI/BOOT/grubx64.efi /boot/efi/EFI/BOOT/BOOTX64.efi

Change filename grub.cfg → BOOTX64.cfg

sudo mv /boot/efi/EFI/BOOT/grub.cfg /boot/efi/EFI/BOOT/BOOTX64.cfg

can do it from the qubes terminal on an external drive ? it seems that in my case it will be sda1 which has 1 GB sda2 is the main qubes partition (but i see it havent /boot like for sda1 like it is on sdb1 1GB (external drive with qubes) , but how to choose the purpose so that the changes are only on the sda1 partition, what should I enter in the terminal earlier… isn’t that the point? or maybe i should reinstall grub but the same question how do it step by step from cli for this case

Do you have Qubes OS installed using UEFI or Legacy BIOS mode?
If it’s UEFI and assuming your Qubes OS drive is sda then sda1 should be EFI System partition, sda2 should be boot partition and sda3 should be main Qubes OS partition.
You can boot from any LiveUSB OS or from Qubes OS installed, mount your Qubes OS EFI System partition (sda1) there and add the required changes.

This is the Legacy BIOS mode, so the disk of my Qubes is SDA and there are only two partitions :
sda1 1GB (without mountpoint like : /boot) and sda2 main partition 500GB

I’ve read more or less on the forums but I don’t want to screw anything up so as not to have another problem to fix, so if you would be so kind as to tell me in such a scenario that I’m already on the live USB system, I run the terminal and what next?

The issues that I linked are only applicable for the EFI systems so that problem is not the issue that you’re facing.

You can try to fix up your like this:
First boot into any LiveUSB OS or in Qubes OS installer, mount your system (either manually or automatically if you’re booting from Qubes OS installer in rescue mode), chroot into it and then fix grub config:

sudo mount --bind /dev/sdY /mnt/boot when enter this command : mount point does not exist

Did this command succeed?

sudo mount /dev/sdX /mnt

Where /dev/sdX is your Qubes OS main partition /dev/sdb2 if /dev/sdb is your Qubes OS drive.
You can check the Qubes OS disk name using output of this command:

sudo fdisk -l

Did this command succeed?

sudo mount /dev/sdX /mnt

Yes i have info
mount: /mnt: /dev/sda1 already mounted on /run/media/user/(someting numbers)

sudo fdisk -l
yes i know that sda1 i boot partition and sda2 main parition Qubes

but next command sudo mount --bind /dev/sda1 /mnt/boot when enter this command : mount point does not exist

Is there a typo and it should be /dev/sda2?

Try it like this

sudo umount /run/media/user/(someting numbers)
sudo mount /dev/sda2 /mnt
sudo mount /dev/sda1 /mnt/boot

I previously tried to run it from another disk with fedora39 from grub like “Windows 10” (dev/sda1) and :
error …/…/grub-core.commands/search.c.315:no such device: (number like 6857ED75 etc.)
setting partition type to 0x83
error: …/…grub-core/loader/i386/pc/chainloader.c213: invalid signature

I’m tired of this … do you see this program boot-repair-disk / Home / Home like live usb as a quicker alternative to fixing this?

But is it safe ( For BIOS ? ) Do you know this program? Thanks for your answers, I appreciate it

replying to your post
sudo mount /dev/sda2 /mnt :
mount: /mnt: special device /dev/sda2 does not exist.

sudo mount /dev/sda1 /mnt/boot :
mount: /mnt/boot : mount point does not exist

It won’t work.

You’ve said before that:

Change sda to some other drive name, e.g. sdb if it’s the correct Qubes OS drive name.

Still these errors.Looks like I won’t do anything about it anymore, it’s really screw up, it’s a shame to waste your time and you’ve sacrificed so much, thanks

it seems like the only thing left is to decrypt the disk, copy it to another one and reinstall the system … ?

Okay, someone tell me if it makes sense and is possible to create an image of an encrypted disk with Qubes, then reinstall cleanly Qubes and then replace the new partitions with this created image. Will this work well ?
Because I don’t consider it safe to copy all from a decrypted disk to another (used) USB and do it on new Qubes.

It’s possible but for it to work you’ll need to change the UUIDs of your encrypted disk, dom0 root and boot partitions in dom0 root and boot partition configs and have the same kernel boot files (initramfs, vmlinuz) in old boot partition that you have in new Qubes dom0.

1.Unfortunately not fixed.
As for the earlier question above it is probably installed in the EFI mode but I’m not sure how to check it and does it change a lot?

  1. In this case, is it too late to back up and move it to the new qubes?

  2. I understand that if it’s too late for backup, I can only recover the data to ext.SSD
    decrypt the disk on another computer and transfer
    safe and dangerous data, so they’ll be together and there’s no isolation of the Qubes?

4.So the files are read-only because they should all be considered dangerous, do I understand ?

Please answer these questions thanks.

If you only have two partitions then it should be installed in Legacy mode if you didn’t change the default installer partitioning. With EFI mode you should have third EFI System partition.
Maybe it’s still possible to recover your old Qubes OS installation, but more info is needed to understand what’s the issue.
Mount your /boot partition and check its content, post the output of these commands here, assuming /dev/sdb1 is your Qubes OS /boot partition:

sudo mkdir -p /mnt/tmpsys
sudo mount /dev/sdb1 /mnt/tmpsys
sudo ls -la /mnt/tmpsys
sudo ls -la /mnt/tmpsys/grub2

You can use Qubes Backup tool only from inside working Qubes OS.
.

You can copy the whole qubes disk images without touching the files on them directly.
And you can restore the files from these images by connecting them one at a time to the one-time-use offline disposable qube to transfer the files from old qube disk image to new qube.

Thanks

What exactly do you need to know? It’s clear to me
I just want to recover this Qubes but it does not work “grub” by probably overwriting it when installing Qubes on an external disk, so when i installed the system, i thought it wasn’t a multiboot so I don’t understand e.g. installed Fedora or Windows also on external disks with the use of the same computer from this main Qubes and it never overwrites grub and the Qubes system worked normally until the installation with use the same computer Qubes (so it’s a problem specific to the qubes system installation ) on the external disk ?

since then the system does not fire up because of the grub errors mentioned at the beginning post, the encrypted disk is ok but as i already wrote in the last post i don’t want to decrypt it for fear of losing the isolation of the qubes of the herds were these questions.

so with the use of gnome disk tools to create an image of the main disk 500gb and upload it to some other external disk which then will tap under the operating qubes system via sys usb ? i understand correctly ?

as you can see, my skilles are very weak and need step-by-step advice even in such a simple thing as where to enter these commands in the dom0 terminal, e.g. on this second working Qubes system ? or any qubes system where I plug this disk through ‘qubes gui device’?

it seems like legacy mode because i have only 2 partitions for this disk sda1 (boot) 1GB sda2 (main) 500 GB

the last question is, can’t I just start this qubes with the help of a “grub” of another system like Fedora ? for me it’s not important how it will be turned on , just to make it work and next made backup .

Hi Savi

I’ve not tried running Qubes OS in legacy mode - so I’m guessing

  • I assume you have a USB-installer with Qubes
  • You have Qubes OS installed on an internal SSD/HDD

Could you try the following:

  1. Insert the Qubes OS installer and boot from it
  2. When you see the “Install Qubes OS R…”/“Test media and …”/“Troubleshooting - …” menu, hit c to get the grub> prompt
  3. Type configfile ( and hit the Tab key on your keyboard
  4. You should get a list of “Possible devices are” - eg. hd0 hd1
  5. Test each possible device, by typing configfile (hd0, and hit Tab - can you share which options you get?

:slight_smile:

[Edit: You are probably looking for a partition like hdX,msdosY - check if it has a boot, grub or grub2 folder - and look for a file called grub.cfg]

grub>configfile hit enter
error: filename expected.

grub>configfile (hit tab and nothing)
grub>configfile hd0 or hd1 (hit tab and nothing) hit enter and refesh black screen with only grub>