Compare commits

..

2 Commits

Author SHA1 Message Date
bin456789
57542c4cbf core: 添加 reset 模式取消重装 2026-03-09 01:11:58 +08:00
bin456789
9a264250f1 core: 不重要的更改 2026-03-09 00:02:34 +08:00
2 changed files with 22 additions and 26 deletions

View File

@@ -486,11 +486,10 @@ fix_file_type() {
-e 's/[,;#]//g' \
-e 's/^[[:space:]]*//' \
-e 's/(POSIX|Unicode|UTF-8|ASCII)//gi' \
-e 's/^DOS\/MBR boot sector/raw/i' \
-e 's/^x86 boot sector/raw/i' \
-e 's/^Zstandard/zstd/i' \
-e 's/^UDF/iso/i' \
-e 's/^Windows imaging \(WIM\) image/wim/i' |
-e 's/DOS\/MBR boot sector/raw/i' \
-e 's/x86 boot sector/raw/i' \
-e 's/Zstandard/zstd/i' \
-e 's/Windows imaging \(WIM\) image/wim/i' |
awk '{print $1}' | to_lower
}
@@ -1687,20 +1686,18 @@ Continue with DD?
fi
done
if [ -z "$iso" ]; then
# 对于同一行有多个成功匹配grep -m1 无效
iso=$(curl -L "https://fnnas.com/download$([ "$basearch" = aarch64 ] && echo -arm)" |
grep -o 'https://[^"]*\.iso' | head -1 | grep .)
# 对于同一行有多个成功匹配grep -m1 无效
iso=$(curl -L "https://fnnas.com/download$([ "$basearch" = aarch64 ] && echo -arm)" |
grep -o 'https://[^"]*\.iso' | head -1 | grep .)
# curl 7.82.0+
# curl -L --json '{"url":"'$iso'"}' https://www.fnnas.com/api/download-sign
# curl 7.82.0+
# curl -L --json '{"url":"'$iso'"}' https://www.fnnas.com/api/download-sign
iso=$(curl -L \
-d '{"url":"'$iso'"}' \
-H 'Content-Type: application/json' \
https://www.fnnas.com/api/download-sign |
grep -o 'https://[^"]*')
fi
iso=$(curl -L \
-d '{"url":"'$iso'"}' \
-H 'Content-Type: application/json' \
https://www.fnnas.com/api/download-sign |
grep -o 'https://[^"]*')
test_url "$iso" iso
eval "${step}_iso='$iso'"
@@ -4229,7 +4226,7 @@ remove_exist_reinstall() {
# 删除 reinstall 条目
if [ -f "$target_cfg" ]; then
sed -i "/^$BOOT_ENTEY_START_MARK/,/^$BOOT_ENTEY_END_MARK/d" "$target_cfg"
sed -i "/^$BOOT_ENTEY_START_MARK/,/^$BOOT_ENTEY_END_MARK/d}" "$target_cfg"
fi
# 清除 next entry

View File

@@ -6063,14 +6063,13 @@ install_windows() {
boot_dir=/os
fi
# 复制 iso 根目录 boot 开头的文件
# 复制启动相关的文件
# efi 额外复制efi目录
echo 'Copying boot files...'
find /iso -maxdepth 1 -iname 'boot*' -exec cp -r {} "$boot_dir" \;
# efi 额外复制 iso 根目录 efi 文件夹
cp -r "$(get_path_in_correct_case /iso/boot)"* $boot_dir
if is_efi; then
echo 'Copying efi files...'
find /iso -maxdepth 1 -type d -iname efi -exec cp -r {} "$boot_dir" \;
cp -r "$(get_path_in_correct_case /iso/efi)" $boot_dir
fi
# 复制iso全部文件(除了boot.wim)到installer分区
@@ -7186,12 +7185,12 @@ EOF
# 或者用 ms-sys
apk add grub-bios
# efi 下,强制安装 mbr 引导,需要添加 --target i386-pc
grub-install --target i386-pc --boot-directory="$(get_path_in_correct_case /os/boot)" /dev/$xda
cat <<EOF >"$(get_path_in_correct_case /os/boot/grub/grub.cfg)"
grub-install --target i386-pc --boot-directory=/os/boot /dev/$xda
cat <<EOF >/os/boot/grub/grub.cfg
set timeout=5
menuentry "reinstall" {
search --no-floppy --label --set=root os
ntldr /$(cd /os && get_path_in_correct_case bootmgr)
ntldr /bootmgr
}
EOF
fi