core: efibootmgr 报错时显示执行的命令和结果

This commit is contained in:
bin456789
2026-05-03 23:08:03 +08:00
parent 0156afbbe7
commit c5c77b2ecc

View File

@ -2881,18 +2881,20 @@ add_efi_entry_in_linux() {
dev_part=$(findmnt -T "$dist_dir" -no SOURCE | grep '^/dev/') dev_part=$(findmnt -T "$dist_dir" -no SOURCE | grep '^/dev/')
fi fi
if ! { set -- efibootmgr --create-only \
res=$(efibootmgr --create-only \ --disk "/dev/$(get_disk_by_part $dev_part)" \
--disk "/dev/$(get_disk_by_part $dev_part)" \ --part "$(get_part_num_by_part $dev_part)" \
--part "$(get_part_num_by_part $dev_part)" \ --label "$(get_entry_name)" \
--label "$(get_entry_name)" \ --loader "\\EFI\\reinstall\\$basename"
--loader "\\EFI\\reinstall\\$basename") &&
id=$(echo "$res" | grep_efi_entry | tail -1 | grep_efi_index | grep .) && if ! res=$("$@"); then
efibootmgr --bootnext "$id" echo "Command: $*"
}; then
echo "$res" echo "$res"
error_and_exit "Could not add efi entry." error_and_exit "Could not add efi entry."
fi fi
id=$(echo "$res" | grep_efi_entry | tail -1 | grep_efi_index | grep .)
efibootmgr --bootnext "$id"
} }
get_grub_efi_filename() { get_grub_efi_filename() {