diff options
Diffstat (limited to 'src/utils/disk.py')
-rw-r--r-- | src/utils/disk.py | 9 |
1 files changed, 6 insertions, 3 deletions
diff --git a/src/utils/disk.py b/src/utils/disk.py index b4541cc..99cf36f 100644 --- a/src/utils/disk.py +++ b/src/utils/disk.py @@ -41,9 +41,12 @@ def get_partition_device(disknum, partnum): raise ValueError(f'No such partition with disk index {disknum} and partition index {partnum}') -def get_efi_partition(disknum): +def get_efi_partition(disknum, enforce_gpt): """ - Look for an EFI System Partition at the n-th disk. If disknum is invalid an exception is thrown + Look for an EFI System Partition at the n-th disk. If disknum is invalid an + exception is thrown. + If enforce_gpt is set to True the ESP will be ignored in a MBR partition + scheme. Returns tuple with: - Device name containing the ESP @@ -57,7 +60,7 @@ def get_efi_partition(disknum): disk = get_disks()[disk_index] cxt = fdisk.Context(f'/dev/{disk}') - if cxt.label == fdisk.FDISK_DISKLABEL_DOS: + if enforce_gpt and cxt.label == fdisk.FDISK_DISKLABEL_DOS: raise RuntimeError(f'Disk has DOS partition scheme, cannot find ESP at /dev/{disk}') for pa in cxt.partitions: |