On UEFI computers as opposed to older BIOS systems: Okay…failing to do this, in previous installations (because I had no idea about how this was done) resulted in having bootable partitions but required me to hold down the F8 key to bring up the boot screen menu from which I could choose a boot device. It worked but it was just clumsy, requiring an unnecessary step. Having set up dual boot hard drives with Windows and Linux for years I was simply installing Windows first (as usual) and then just installing Linux with a swap partition. I got remarkably better results, when setting up Windows 11 and Mint Linux in a dual boot situation, by simply doing the following: When you install Linux create a small partition – along with your / and swap partitons – that is about 500 or 600 megabyte. This partition should in the EFI format which is an option in the Gparted drop down. That’s the whole deal and it’s as simple as it sounds. The result was a grub selection screen, at boot, that is correctly labeled and worked as it did on older bios setups.

Update

So I had done the above once and – long story – needed to reinstall. There was an issue. When I booted Linux, for install, from a USB thumb drive Gparted did not offer an option to create an EFI partition. I couldn’t figure out what the hell was wrong. Well, when I booted into a live Linux Mint environment I was presented with two choices at boot – one simply said something like “SanDisk Cruzer Glide 32G” and one said “(UEFI) SanDisk Cruzer Glide”. Not knowing the difference I had been choosing the non UEFI “thing”. If you do that the option to create an EFI partition using Gparted is absent.

Just for reference

The following is from an older page I had written before I found the above information. I am archiving it, here, for no good reason.

From the web – did NOT work for me

After digging through the internet for days, I found an answer!

All credit goes to this post: https://askubuntu.com/a/977251/1191399. I am just reiterating it.

  1. sudo fdisk -l

You should get a long return that includes something like this:

Device             Start        End   Sectors   Size Type
/dev/nvme0n1p1      2048    1050623   1048576   512M EFI System
/dev/nvme0n1p2   1050624  874729471 873678848 416.6G Linux filesystem
/dev/nvme0n1p3 874729472  874762239     32768    16M Microsoft reserved
/dev/nvme0n1p4 874762240 1000214527 125452288  59.8G Microsoft basic data
  1. Get the UUID of the EFI partition sudo blkid /dev/nvme0n1p1 (replace nvme0n1p1 with the correct partition for you)

Return: dev/nvme0n1p1: UUID="3C26-6A4C" BLOCK_SIZE="512" TYPE="vfat" PARTLABEL="EFI System Partition" PARTUUID="3b64b43f-e7eb-4ac8-a32c-9af2edf64d0d"

  1. Grant yourself write permission to the ’40_custom’ file in /etc/grub.dOpen the terminal (ctrl+alt+t) and run the following commands:
    cd /etc/grub.d
    sudo chmod o+w 40_custom
  2. Open the 40_custom file
    open ./40_custom
  3. Write the following at the bottom of the file and replace 3C26-6A4C with the correct UUID:
menuentry 'Windows 11' {
    search --fs-uuid --no-floppy --set=root 3C26-6A4C
    chainloader (${root})/EFI/Microsoft/Boot/bootmgfw.efi
}
  1. Save the file and close the editor.
  2. Back in the terminal, remove write permissions.
    sudo chmod o-w 40_custom
  3. Update GRUB using sudo update-grub
  4. (Optional) You can confirm that your change was successful by going to /boot/grub/grub.cfg and checking lines 243-251. It should reflect your edits in the 40_custom file
  5. Reboot your computer reboot

By admin