From 103ef84f92bd051af0078517cfb58176e932f284 Mon Sep 17 00:00:00 2001 From: bin456789 Date: Mon, 5 May 2025 21:37:44 +0800 Subject: [PATCH] =?UTF-8?q?windows:=20=E6=94=AF=E6=8C=81=204Kn=20=E7=A1=AC?= =?UTF-8?q?=E7=9B=98?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- trans.sh | 10 ++++++++++ windows-setup.bat | 10 +++++++++- 2 files changed, 19 insertions(+), 1 deletion(-) diff --git a/trans.sh b/trans.sh index 7e6782a..50cbfff 100644 --- a/trans.sh +++ b/trans.sh @@ -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 diff --git a/windows-setup.bat b/windows-setup.bat index 1789490..a71e8a0 100644 --- a/windows-setup.bat +++ b/windows-setup.bat @@ -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