summaryrefslogtreecommitdiffstats
path: root/src/utils/boot.py
diff options
context:
space:
mode:
authorAlejandro Sirgo Rica <asirgo@soleta.eu>2024-03-26 11:46:54 +0100
committerAlejandro Sirgo Rica <asirgo@soleta.eu>2024-03-26 13:23:04 +0100
commit97647c32aa2c61107230528d448bfa1e56da0f73 (patch)
tree33bbb5bbf16b298c3e92e2f6781c63e22407a568 /src/utils/boot.py
parent42791a1a7ce08851a92db16ae8d7ce11ee8fb09b (diff)
utils: add enforce_gpt argument to get_efi_partition()
The Windows bootloader only supports a UEFI boot from a GPT partition. Set enforce_gpt to True in every codepath related to Windows. When enforce_gpt is set to True get_efi_partition() raises an exception when an MBR partition scheme is detected.
Diffstat (limited to 'src/utils/boot.py')
-rw-r--r--src/utils/boot.py4
1 files changed, 2 insertions, 2 deletions
diff --git a/src/utils/boot.py b/src/utils/boot.py
index baa3f49..1dcc655 100644
--- a/src/utils/boot.py
+++ b/src/utils/boot.py
@@ -57,7 +57,7 @@ def _boot_bios_windows(disk, part, mountpoint):
def _boot_uefi_windows(disk, part, mountpoint):
logging.info(f'Booting windows system')
bootlabel = f'Part-{disk:02d}-{part:02d}'
- esp, esp_disk, esp_part_number = get_efi_partition(disk)
+ esp, esp_disk, esp_part_number = get_efi_partition(disk, enforce_gpt=True)
esp_mountpoint = esp.replace('dev', 'mnt')
if not mount_mkdir(esp, esp_mountpoint):
raise RuntimeError(f'Unable to mount detected EFI System Partition at {esp} into {esp_mountpoint}')
@@ -82,7 +82,7 @@ def _boot_uefi_windows(disk, part, mountpoint):
def _boot_uefi_linux(disk, part, mountpoint):
logging.info(f'Booting Linux system')
bootlabel = f'Part-{disk:02d}-{part:02d}'
- esp, esp_disk, esp_part_number = get_efi_partition(disk)
+ esp, esp_disk, esp_part_number = get_efi_partition(disk, enforce_gpt=False)
esp_mountpoint = esp.replace('dev', 'mnt')
if not mount_mkdir(esp, esp_mountpoint):
raise RuntimeError(f'Unable to mount detected EFI System Partition at {esp} into {esp_mountpoint}')