diff --git a/archinstall/lib/disk/device_model.py b/archinstall/lib/disk/device_model.py index ad3426b6b9..b1d07d9843 100644 --- a/archinstall/lib/disk/device_model.py +++ b/archinstall/lib/disk/device_model.py @@ -789,8 +789,8 @@ def get_efi_partition(self) -> Optional[PartitionModification]: """ Similar to get_boot_partition() but excludes XBOOTLDR partitions from it's candidates. """ - fliltered = filter(lambda x: x.is_boot() and x.fs_type == FilesystemType.Fat32 and PartitionFlag.XBOOTLDR not in x.flags, self.partitions) - return next(fliltered, None) + filtered = filter(lambda x: x.is_boot() and x.fs_type == FilesystemType.Fat32 and PartitionFlag.XBOOTLDR not in x.flags, self.partitions) + return next(filtered, None) def get_boot_partition(self) -> Optional[PartitionModification]: """ @@ -798,11 +798,13 @@ def get_boot_partition(self) -> Optional[PartitionModification]: Only returns XBOOTLDR if separate EFI is detected using self.get_efi_partition() """ if efi_partition := self.get_efi_partition(): - fliltered = filter(lambda x: x.is_boot() and x != efi_partition and x.mountpoint, self.partitions) + filtered = filter(lambda x: x.is_boot() and x != efi_partition and x.mountpoint, self.partitions) + if boot_partition := next(filtered, None): + return boot_partition + return efi_partition else: - fliltered = filter(lambda x: x.is_boot() and x.mountpoint, self.partitions) - - return next(fliltered, None) + filtered = filter(lambda x: x.is_boot() and x.mountpoint, self.partitions) + return next(filtered, None) def get_root_partition(self, relative_path: Optional[Path]) -> Optional[PartitionModification]: filtered = filter(lambda x: x.is_root(relative_path), self.partitions) diff --git a/archinstall/lib/installer.py b/archinstall/lib/installer.py index 836b6b7988..f599900242 100644 --- a/archinstall/lib/installer.py +++ b/archinstall/lib/installer.py @@ -726,10 +726,11 @@ def _add_systemd_bootloader( # TODO: Ideally we would want to check if another config # points towards the same disk and/or partition. # And in which case we should do some clean up. - bootctl_options = [ - f'--esp-path={efi_partition.mountpoint}' if efi_partition else '', - f'--boot-path={boot_partition.mountpoint}' if boot_partition else '' - ] + bootctl_options = [] + + if efi_partition and boot_partition != efi_partition: + bootctl_options.append(f'--esp-path={efi_partition.mountpoint}') + bootctl_options.append(f'--boot-path={boot_partition.mountpoint}') # Install the boot loader try: