windows: 支持 4Kn 硬盘

This commit is contained in:
bin456789 2025-05-05 21:37:44 +08:00
parent f4f2481009
commit 103ef84f92
No known key found for this signature in database
GPG Key ID: EE301B386DE6C11B
2 changed files with 19 additions and 1 deletions

View File

@ -2328,6 +2328,10 @@ get_disk_logic_sector_size() {
blockdev --getss "$1"
}
is_4kn() {
[ "$(blockdev --getss "$1")" = 4096 ]
}
is_xda_gt_2t() {
disk_size=$(get_disk_size /dev/$xda)
disk_2t=$((2 * 1024 * 1024 * 1024 * 1024))
@ -6527,6 +6531,12 @@ EOF
sed -i 's/EnableEMS=0/EnableEMS=1/i' $startnet_cmd
fi
# 4kn EFI 分区最少要 260M
# https://learn.microsoft.com/windows-hardware/manufacture/desktop/hard-drives-and-partitions
if is_4kn /dev/$xda; then
sed -i 's/is4kn=0/is4kn=1/i' $startnet_cmd
fi
# Windows Thin PC 有 Windows\System32\winpeshl.ini
# [LaunchApps]
# %SYSTEMDRIVE%\windows\system32\drvload.exe, %SYSTEMDRIVE%\windows\inf\sdbus.inf

View File

@ -93,6 +93,14 @@ for /f "tokens=3" %%a in (X:\disk.txt) do (
)
del X:\disk.txt
rem 这个变量会被 trans.sh 修改
set is4kn=0
if "%is4kn%"=="1" (
set EFISize=260
) else (
set EFISize=100
)
rem 重新分区/格式化
(if "%BootType%"=="efi" (
echo select disk %DiskIndex%
@ -104,7 +112,7 @@ rem 重新分区/格式化
echo select part 3
echo delete part override
echo create part efi size=100
echo create part efi size=%EFISize%
echo format fs=fat32 quick
echo create part msr size=16