diff options
Diffstat (limited to 'src/utils')
-rw-r--r-- | src/utils/boot.py | 2 | ||||
-rw-r--r-- | src/utils/uefi.py | 14 |
2 files changed, 13 insertions, 3 deletions
diff --git a/src/utils/boot.py b/src/utils/boot.py index cd66357..4de20b9 100644 --- a/src/utils/boot.py +++ b/src/utils/boot.py @@ -69,7 +69,7 @@ def _boot_uefi_linux(disk, part, mountpoint): umount(esp_mountpoint) def boot_os_at(disk, part): - if not is_uefi_supported(): + if not is_uefi_supported(disk): raise NotImplementedError('BIOS booting is not implemented yet') device = get_partition_device(disk, part) diff --git a/src/utils/uefi.py b/src/utils/uefi.py index 753cc0b..67f1354 100644 --- a/src/utils/uefi.py +++ b/src/utils/uefi.py @@ -11,6 +11,7 @@ import logging import os import shlex import subprocess +from src.utils.disk import get_efi_partition import fdisk @@ -46,8 +47,17 @@ def _check_efibootmgr_json(): return supported -def is_uefi_supported(): - return True if os.path.exists("/sys/firmware/efi") else False +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 run_efibootmgr_json(): |