diff options
author | Alejandro Sirgo Rica <asirgo@soleta.eu> | 2024-03-26 11:32:41 +0100 |
---|---|---|
committer | Alejandro Sirgo Rica <asirgo@soleta.eu> | 2024-03-26 13:15:58 +0100 |
commit | 42791a1a7ce08851a92db16ae8d7ce11ee8fb09b (patch) | |
tree | 9ac61d5767326da4adafcd51490fb7eeeb2a9fb4 /src/utils | |
parent | 049b7a5a2b13a69448937aba275ec2f35407b95e (diff) |
revert 7f18485: improve uefi detection mechanism
Make is_uefi_supported() only check for /sys/firmware/efi as
get_efi_partition() will detect a missing ESP or an invalid
partition scheme. Stop using get_efi_partition() inside
is_uefi_supported() as the former is eventually called in every
UEFI related code.
UEFI supports both MBR and GPT as partition schemes and this is
a required change to handle the particular case of Windows not
being able to boot UEFI from a MBR partition scheme.
Diffstat (limited to 'src/utils')
-rw-r--r-- | src/utils/boot.py | 2 | ||||
-rw-r--r-- | src/utils/uefi.py | 14 |
2 files changed, 3 insertions, 13 deletions
diff --git a/src/utils/boot.py b/src/utils/boot.py index 04cae8e..baa3f49 100644 --- a/src/utils/boot.py +++ b/src/utils/boot.py @@ -111,7 +111,7 @@ def boot_os_at(disk, part): if not mount_mkdir(device, mountpoint): raise RuntimeError(f'Cannot probe OS family. Unable to mount {device} at {esp_mountpoint}.') - is_uefi = is_uefi_supported(disk) + is_uefi = is_uefi_supported() if is_uefi: logging.info('UEFI support detected') else: diff --git a/src/utils/uefi.py b/src/utils/uefi.py index e113512..9bc2e09 100644 --- a/src/utils/uefi.py +++ b/src/utils/uefi.py @@ -11,7 +11,6 @@ import logging import os import shlex import subprocess -from src.utils.disk import get_efi_partition import fdisk @@ -47,17 +46,8 @@ def _check_efibootmgr_json(): return supported -def is_uefi_supported(disknum): - is_supported = os.path.exists("/sys/firmware/efi") - - if is_supported: - try: - get_efi_partition(disknum) - except Exception as e: - logging.info(e) - is_supported = False - - return is_supported +def is_uefi_supported(): + return os.path.exists("/sys/firmware/efi") def run_efibootmgr_json(): |