mirror of
https://github.com/bin456789/reinstall.git
synced 2025-01-18 20:39:14 +08:00
core: 优先使用 bootx64.efi
This commit is contained in:
parent
3364eb9e2d
commit
32d3bc8f71
27
trans.sh
27
trans.sh
@ -598,8 +598,10 @@ grep_efi_index() {
|
|||||||
}
|
}
|
||||||
|
|
||||||
# 某些机器可能不会回落到 bootx64.efi
|
# 某些机器可能不会回落到 bootx64.efi
|
||||||
# 因此手动添加一个回落项
|
# 阿里云 ECS 启动项有 EFI Shell
|
||||||
add_fallback_efi_to_nvram() {
|
# 添加 bootx64.efi 到最后的话,会进入 EFI Shell
|
||||||
|
# 因此添加到最前面
|
||||||
|
add_default_efi_to_nvram() {
|
||||||
apk add lsblk efibootmgr
|
apk add lsblk efibootmgr
|
||||||
|
|
||||||
if efi_row=$(lsblk /dev/$xda -ro NAME,PARTTYPE,PARTUUID | grep -i "$EFI_UUID"); then
|
if efi_row=$(lsblk /dev/$xda -ro NAME,PARTTYPE,PARTUUID | grep -i "$EFI_UUID"); then
|
||||||
@ -609,22 +611,13 @@ add_fallback_efi_to_nvram() {
|
|||||||
efi_file=$(get_fallback_efi_file_name)
|
efi_file=$(get_fallback_efi_file_name)
|
||||||
|
|
||||||
# 创建条目,先判断是否已经存在
|
# 创建条目,先判断是否已经存在
|
||||||
if ! efibootmgr | grep -i "HD($efi_part_num,GPT,$efi_part_uuid,.*)/File(\\\EFI\\\boot\\\\$efi_file)"; then
|
# 好像没必要先判断
|
||||||
fallback_id=$(efibootmgr --create-only \
|
if true || ! efibootmgr | grep -i "HD($efi_part_num,GPT,$efi_part_uuid,.*)/File(\\\EFI\\\boot\\\\$efi_file)"; then
|
||||||
|
efibootmgr --create \
|
||||||
--disk "/dev/$xda" \
|
--disk "/dev/$xda" \
|
||||||
--part "$efi_part_num" \
|
--part "$efi_part_num" \
|
||||||
--label "fallback" \
|
--label "$efi_file" \
|
||||||
--loader "\\EFI\\boot\\$efi_file" |
|
--loader "\\EFI\\boot\\$efi_file"
|
||||||
tail -1 | grep_efi_index)
|
|
||||||
|
|
||||||
# 添加到最后
|
|
||||||
orig_order=$(efibootmgr | grep -F BootOrder: | awk '{print $2}')
|
|
||||||
if [ -n "$orig_order" ]; then
|
|
||||||
new_order="$orig_order,$fallback_id"
|
|
||||||
else
|
|
||||||
new_order="$fallback_id"
|
|
||||||
fi
|
|
||||||
efibootmgr --bootorder "$new_order"
|
|
||||||
fi
|
fi
|
||||||
else
|
else
|
||||||
# shellcheck disable=SC2154
|
# shellcheck disable=SC2154
|
||||||
@ -4140,7 +4133,7 @@ trans() {
|
|||||||
# 因此 alpine 不单独处理
|
# 因此 alpine 不单独处理
|
||||||
if is_efi; then
|
if is_efi; then
|
||||||
del_invalid_efi_entry
|
del_invalid_efi_entry
|
||||||
add_fallback_efi_to_nvram
|
add_default_efi_to_nvram
|
||||||
fi
|
fi
|
||||||
|
|
||||||
echo 'done'
|
echo 'done'
|
||||||
|
Loading…
x
Reference in New Issue
Block a user