System EFI Partition on tri boot

Hey there,

During installation, I noticed something perhaps unusual that I want to address before install.

I’ve got:
Windows 11: /dev/nvme0n1
Windows 10: /dev/sdb
And just general NTFS partitions on /sdc and /sdd for extra windows apps (mostly empty)

I was planning to use systemd-boot but shrink the /sdb4 partition to run along side before completely wiping out the W10 install down the line, however when I got to EFI partition I was a little surprised that the choices were /sda1 and /sdc1.

Not sure what the best course of action is on the EFI partition or if I should just do a new one and then modify to update with the W11 and W10 options?

Personally I would recommend not dual booting windows and linux because its not if Microsoft will break boot but a matter of when.

but so the right people can have the correct info maybe display the results of lsblk

I don’t have any issues on my dualboot setups, but I made sure to set up separate EFI-bootloader for each OS instance.
Some systems don’t seem to mix well with certain bootloaders and especially Windows seems to seize control and breaks compatibility on it’s bootloader.

Maybe the first question is why there would be something on /sdc and /sda if they’re not bootable.

Are you saying using a new EFI partition would be the safest course, if I decide I need to dual or tri boot anyway.

NAME        MAJ:MIN RM   SIZE RO TYPE MOUNTPOINTS
loop0         7:0    0   2.4G  1 loop /run/archiso/airootfs
sda           8:0    0 298.1G  0 disk 
└─sda1        8:1    0 298.1G  0 part 
sdb           8:16   0   489G  0 disk 
├─sdb1        8:17   0   450M  0 part 
├─sdb2        8:18   0    99M  0 part 
├─sdb3        8:19   0    16M  0 part 
├─sdb4        8:20   0   488G  0 part 
└─sdb5        8:21   0   537M  0 part 
sdc           8:32   0 232.9G  0 disk 
└─sdc1        8:33   0 232.9G  0 part 
sdd           8:48   1  15.1G  0 disk 
└─sdd1        8:49   1  15.1G  0 part /run/archiso/bootmnt
nvme0n1     259:0    0 931.5G  0 disk 
├─nvme0n1p1 259:1    0    16M  0 part 
└─nvme0n1p2 259:2    0 931.5G  0 part 

Boot up your EnOS live usb and post the output of:

test -d /sys/firmware/efi && echo UEFI || echo BIOS

and

sudo parted -l

[liveuser@eos-2024.06.25 ~]$ test -d /sys/firmware/efi && echo UEFI || echo BIOS
UEFI

[liveuser@eos-2024.06.25 ~]$ sudo parted -l
Model: ATA WDC WD3200AAKX-0 (scsi)
Disk /dev/sda: 320GB
Sector size (logical/physical): 512B/512B
Partition Table: msdos
Disk Flags: 

Number  Start   End    Size   Type     File system  Flags
 1      1049kB  320GB  320GB  primary  ntfs


Model: ATA Crucial_CT525MX3 (scsi)
Disk /dev/sdb: 525GB
Sector size (logical/physical): 512B/512B
Partition Table: gpt
Disk Flags: 

Number  Start   End    Size    File system  Name                          Flags
 1      1049kB  473MB  472MB   ntfs         Basic data partition          hidden, diag, no_automount
 2      473MB   577MB  104MB   fat32        EFI system partition          boot, esp, no_automount
 3      577MB   593MB  16.8MB               Microsoft reserved partition  msftres, no_automount
 4      593MB   525GB  524GB   ntfs         Basic data partition          msftdata
 5      525GB   525GB  563MB   ntfs                                       hidden, diag, no_automount


Model: ATA ST3250410AS (scsi)
Disk /dev/sdc: 250GB
Sector size (logical/physical): 512B/512B
Partition Table: msdos
Disk Flags: 

Number  Start   End    Size   Type     File system  Flags
 1      32.3kB  250GB  250GB  primary  ntfs         boot


Model: Ut165 USB2FlashStorage (scsi)
Disk /dev/sdd: 16.2GB
Sector size (logical/physical): 512B/512B
Partition Table: msdos
Disk Flags: 

Number  Start   End     Size    Type     File system  Flags
 1      1049kB  16.2GB  16.2GB  primary  fat32        boot, lba


Model: Sabrent Rocket Q (nvme)
Disk /dev/nvme0n1: 1000GB
Sector size (logical/physical): 512B/512B
Partition Table: gpt
Disk Flags: 

Number  Start   End     Size    File system  Name                          Flags
 1      17.4kB  16.8MB  16.8MB               Microsoft reserved partition  msftres
 2      16.8MB  1000GB  1000GB  ntfs         Basic data partition          msftdata

If it were me i would wipe out the Windows 10 installation on sdb in order to install EOS on that drive by itself to dual boot with Windows 11. I would also make sure the other discs sda, sdc, sdd are wiped and converted to gpt discs first. Then install EOS on sdb as gpt disk in UEFI. I don’t know what you have on sda, sdc and sdd but it would make sense to have all gpt disks since your system is uefi. This is how i would set it up. :person_shrugging:

My initial plan was to wipe /sdb and install EOS there, but then I got down this rabbit hole of trying to do it on a partitioned disk. That’s straight forward enough.

I could wipe the other discs. There isn’t anything that would prevent me from doing that, but I would like to keep /sda as a NTFS drive. Can i still setup NTFS partitions on GPT discs? I’m pretty sure yes, but want to check. (looks like /sdb already does that, which is a w11 disk)

What’s the best method to format, setup GPT partition table, and add the NTFS partitions? The built in Partition manager ?

Back to the original question. Assuming I did what you recommend, where would ESP go?

Yes NTFS fs can be on gpt disk. Just let EOS install the boot loader. Right now it looks like the efi partition is on sdb. The esp will likely get installed with EOS on the same disc. I’m just not sure if it recreates the Windows files if the efi on Windows gets erased since I’m assuming it’s using that one to boot Windows 11.

If it doesn’t recreate the windows files on the new EFI, what then?

BTW, I don’t think the default during the live installer was /sdb. It was /sdc or /sdd. New was an option, but not default. If the ESP is already on /sdb, why wouldn’t it be an option to select?

Not sure why the default wouldn’t be either the drive you are installing eos on or sdb which has the Windows efi. But you can select new as an option. I can’t say if it recreates the Windows files in the new efi since it’s wiping out the current efi and creating a new one of the proper size. The current Windows efi is only 104 mb. Maybe @pebcak is more certain than I or has a better way. :wink:

1 Like

My recommendation:

  • For multi-boot EFI installations on several hard disks please install Windowses on one disk (/dev/sda) or two separate disks (/dev/sda and /dev/sdb) and linuxes on third disk /dev/sdc → change the target disk via BIOS/UEFI menu.

  • For multi-boot EFI installations of linuxes on one hard disk (like /dev/sdc), please follow these instructions: https://www.zdnet.com/article/hands-on-linux-uefi-multi-boot-my-way/ and set/change boot order via efibootmgr.

1 Like

I have my Win install on a dedicated drive that only holds windows … and i do the same for Linux installs… i have some like 5 … so i do a sixtiboot ? not experiencing any issues since… i do use “boot once” menu to change boot and every install has their own ESP efi partition.

I need to look if the existing EFI is an option with the installer. It seems like that might be the best course, but still update those other disks to GPT.

Then switch from systemd-boot to something like rEFInd

I also dual boot windows 11 with eos on btrfs with grub and it is fantastic. Windows is installed on my nvme drive and eos is installed on an ssd. eos has it’s own efi and i left the windows efi untouched.

[ricklinux@asus-tuff ~]$ lsblk
NAME        MAJ:MIN RM   SIZE RO TYPE MOUNTPOINTS
sda           8:0    0 465.8G  0 disk 
├─sda1        8:1    0  1000M  0 part /boot/efi
└─sda2        8:2    0 464.8G  0 part /var/log
                                      /var/cache
                                      /home
                                      /swap
                                      /
sdb           8:16   0   3.6T  0 disk 
sr0          11:0    1  1024M  0 rom  
nvme0n1     259:0    0 447.1G  0 disk 
├─nvme0n1p1 259:1    0   100M  0 part 
├─nvme0n1p2 259:2    0    16M  0 part 
├─nvme0n1p3 259:3    0 446.4G  0 part 
└─nvme0n1p4 259:4    0   660M  0 part 

Or better maybe?

[ricklinux@asus-tuff ~]$ sudo parted -l
Model: ATA WDC WDS500G2B0A- (scsi)
Disk /dev/sda: 500GB
Sector size (logical/physical): 512B/512B
Partition Table: gpt
Disk Flags: 

Number  Start   End     Size    File system  Name         Flags
 1      2097kB  1051MB  1049MB  fat32                     boot, esp
 2      1051MB  500GB   499GB   btrfs        endeavouros


Model: ATA ST4000DM004-2CV1 (scsi)
Disk /dev/sdb: 4001GB
Sector size (logical/physical): 512B/4096B
Partition Table: gpt
Disk Flags: 

Number  Start  End  Size  File system  Name  Flags


Model: Force MP500 (nvme)
Disk /dev/nvme0n1: 480GB
Sector size (logical/physical): 512B/512B
Partition Table: gpt
Disk Flags: 

Number  Start   End    Size    File system  Name                          Flags
 1      1049kB  106MB  105MB   fat32        EFI system partition          boot, esp, no_automount
 2      106MB   123MB  16.8MB               Microsoft reserved partition  msftres, no_automount
 3      123MB   479GB  479GB   ntfs         Basic data partition          msftdata, no_automount
 4      479GB   480GB  692MB   ntfs                                       hidden, diag, no_automount

Edit: I have a 4 TB hard drive sitting empty.