I need bootloader help

I’m dual booting Bazzite (latest) and Windows 11.

Both are on separate drives.

I have upgraded both drives to larger drives (using Macrium Reflect to clone the Windows drive to a larger drive, and Clonezilla to do the same to Bazzite to the larger drive).

After the cloning, the new Bazzite drive boots fine from the bootloader.

The Windows drive (from the grub bootloader) does not boot, although it does boot fine if I change the boot order to boot directly to the Windows drive to use its own efi bootloader. The grub bootloader still lists a Windows drive there, but its showing the reference to the older Windows drive, which of course is no longer there, so it makes sense that it can’t boot to it.

I’ve tried regenerate-grub, which I had high hopes for, but that doesn’t seem to do anything.

Anything else that I’ve tried has borked the bootloader and I then have to re-clone (because I’m a bootloader imbecile and don’t know how to easily repair it).

If anyone can tell me an easy way to change the reference to the Windows drive in the grub bootloader to point to the new correct drive I would appreciate it!

Thanks

Would be useful if you let us have a look at your grub config and maybe a dump of fdisk -l

Am I correct in believing that you’re talking about an entry for ‘Windows Boot Manager’ or something and that you’re on an EFI system with GPT formatting? I’m no expert, but I am guessing that your grub config is trying to set a root for the EFI partition that is no longer accurate.

Yea, I’m talking about the entry for Windows Boot Manager that’s listed when I boot from my Bazzite drive, and yes, I’m on a EFI system and the Windows drive has GPT formatting.

Here is the fdisk -l:

sudo fdisk -l
Disk /dev/sda: 1.82 TiB, 2000398934016 bytes, 3907029168 sectors
Disk model: Samsung SSD 870
Units: sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes
Disklabel type: gpt
Disk identifier: B9993EF4-4DC5-4622-AFA7-503702AEFAD7

Device Start End Sectors Size Type
/dev/sda1 2048 1085439 1083392 529M Windows recovery environment
/dev/sda2 1085440 1288191 202752 99M EFI System
/dev/sda3 1288192 1320959 32768 16M Microsoft reserved
/dev/sda4 1320960 3905611775 3904290816 1.8T Microsoft basic data
/dev/sda5 3905611776 3907026943 1415168 691M Windows recovery environment

Disk /dev/sdb: 1.82 TiB, 2000398934016 bytes, 3907029168 sectors
Disk model: Samsung SSD 870
Units: sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes
Disklabel type: gpt
Disk identifier: 3E2A42F5-2A85-4F12-B6DA-27658F825149

Device Start End Sectors Size Type
/dev/sdb1 34 32767 32734 16M Microsoft reserved
/dev/sdb2 32768 3907026943 3906994176 1.8T Microsoft basic data

Disk /dev/nvme0n1: 1.82 TiB, 2000398934016 bytes, 3907029168 sectors
Disk model: WD_BLACK SN770 2TB
Units: sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes
Disklabel type: gpt
Disk identifier: A17812E4-7E83-48E1-9579-73A9E30CB3C1

Device Start End Sectors Size Type
/dev/nvme0n1p1 65535 1245164 1179630 576M EFI System
/dev/nvme0n1p2 1245165 13121129 11875965 5.7G Linux filesystem
/dev/nvme0n1p3 13121130 3907029134 3893908005 1.8T Linux filesystem

Disk /dev/zram0: 4 GiB, 4294967296 bytes, 1048576 sectors
Units: sectors of 1 * 4096 = 4096 bytes
Sector size (logical/physical): 4096 bytes / 4096 bytes
I/O size (minimum/optimal): 4096 bytes / 4096 bytes

Here is what happens when I try to boot the Windows drive:

It thinks my Windows drive is on an NVME drive, which it was, but no longer is. Its now on a SATA drive.

1 Like

Whoa, great job providing such rich diagnostic logging. Thanks for that.

It’s weird that it would look anywhere other than your sole ESP for the Windows bootloader. But I guess you’ll be fine after doing a sudo os-prober followed by a sudo update-grub

gl