Skip to content

Commit 86a7663

Browse files
authored
feat: Support 32-bit Windows versions (#834)
1 parent b39507c commit 86a7663

File tree

1 file changed

+37
-26
lines changed

1 file changed

+37
-26
lines changed

src/define.sh

+37-26
Original file line numberDiff line numberDiff line change
@@ -32,11 +32,11 @@ parseVersion() {
3232
"11e" | "win11e" | "windows11e" | "windows 11e" )
3333
VERSION="win11x64-enterprise-eval"
3434
;;
35-
"iot11" | "11i" | "11iot" | "win11i" | "win11-iot" | "win11x64-iot" | "win11x64-enterprise-iot-eval" )
35+
"11i" | "11iot" | "iot11" | "win11i" | "win11-iot" | "win11x64-iot" | "win11x64-enterprise-iot-eval" )
3636
VERSION="win11x64-enterprise-iot-eval"
3737
[ -z "$DETECTED" ] && DETECTED="win11x64-iot"
3838
;;
39-
"ltsc11" | "11l" | "11ltsc" | "win11l" | "win11-ltsc" | "win11x64-ltsc" | "win11x64-enterprise-ltsc-eval" )
39+
"11l" | "11ltsc" | "ltsc11" | "win11l" | "win11-ltsc" | "win11x64-ltsc" | "win11x64-enterprise-ltsc-eval" )
4040
VERSION="win11x64-enterprise-ltsc-eval"
4141
[ -z "$DETECTED" ] && DETECTED="win11x64-ltsc"
4242
;;
@@ -46,11 +46,11 @@ parseVersion() {
4646
"10e" | "win10e" | "windows10e" | "windows 10e" )
4747
VERSION="win10x64-enterprise-eval"
4848
;;
49-
"iot10" | "10i" | "10iot" | "win10i" | "win10-iot" | "win10x64-iot" | "win10x64-enterprise-iot-eval" )
49+
"10i" | "10iot" | "iot10" | "win10i" | "win10-iot" | "win10x64-iot" | "win10x64-enterprise-iot-eval" )
5050
VERSION="win10x64-enterprise-iot-eval"
5151
[ -z "$DETECTED" ] && DETECTED="win10x64-iot"
5252
;;
53-
"ltsc10" | "10l" | "10ltsc" | "win10l" | "win10-ltsc" | "win10x64-ltsc" | "win10x64-enterprise-ltsc-eval" )
53+
"10l" | "10ltsc" | "ltsc10" | "win10l" | "win10-ltsc" | "win10x64-ltsc" | "win10x64-enterprise-ltsc-eval" )
5454
VERSION="win10x64-enterprise-ltsc-eval"
5555
[ -z "$DETECTED" ] && DETECTED="win10x64-ltsc"
5656
;;
@@ -71,21 +71,21 @@ parseVersion() {
7171
VERSION="win7x86"
7272
[ -z "$DETECTED" ] && DETECTED="win7x86-enterprise"
7373
;;
74-
"vista" | "winvista" | "windowsvista" | "windows vista" )
74+
"vista" | "6" | "winvista" | "windowsvista" | "windows vista" )
7575
VERSION="winvistax64"
7676
[ -z "$DETECTED" ] && DETECTED="winvistax64-enterprise"
7777
;;
78-
"vistu" | "winvistu" | "windowsvistu" | "windows vistu" )
78+
"vistu" | "6u" | "winvistu" | "windowsvistu" | "windows vistu" )
7979
VERSION="winvistax64-ultimate"
8080
;;
81-
"vistax86" | "winvistax86" | "windowsvistax86" | "winvistax86-enterprise" )
81+
"vistax86" | "6x86" | "winvistax86" | "windowsvistax86" | "winvistax86-enterprise" )
8282
VERSION="winvistax86"
8383
[ -z "$DETECTED" ] && DETECTED="winvistax86-enterprise"
8484
;;
85-
"xp" | "xp32" | "xpx86" | "winxp" | "winxp86" | "windowsxp" | "windows xp" )
85+
"xp" | "xp32" | "xpx86" | "5" | "5x86" | "winxp" | "winxp86" | "windowsxp" | "windows xp" )
8686
VERSION="winxpx86"
8787
;;
88-
"xp64" | "xpx64" | "winxp64" | "winxpx64" | "windowsxp64" | "windowsxpx64" )
88+
"xp64" | "xpx64" | "5x64" | "winxp64" | "winxpx64" | "windowsxp64" | "windowsxpx64" )
8989
VERSION="winxpx64"
9090
;;
9191
"25" | "2025" | "win25" | "win2025" | "windows2025" | "windows 2025" )
@@ -473,6 +473,9 @@ fromFile() {
473473
;;
474474
esac
475475

476+
local add=""
477+
[[ "$arch" != "x64" ]] && add="$arch"
478+
476479
case "${file// /_}" in
477480
"win7"* | "win_7"* | *"windows7"* | *"windows_7"* )
478481
id="win7${arch}"
@@ -502,25 +505,25 @@ fromFile() {
502505
id="tiny10"
503506
;;
504507
*"server2025"* | *"server_2025"* )
505-
id="win2025"
508+
id="win2025${add}"
506509
;;
507510
*"server2022"* | *"server_2022"* )
508-
id="win2022"
511+
id="win2022${add}"
509512
;;
510513
*"server2019"* | *"server_2019"* )
511-
id="win2019"
514+
id="win2019${add}"
512515
;;
513516
*"server2016"* | *"server_2016"* )
514-
id="win2016"
517+
id="win2016${add}"
515518
;;
516519
*"server2012"* | *"server_2012"* )
517-
id="win2012r2"
520+
id="win2012r2${add}"
518521
;;
519522
*"server2008"* | *"server_2008"* )
520-
id="win2008r2"
523+
id="win2008r2${add}"
521524
;;
522525
*"server2003"* | *"server_2003"* )
523-
id="win2003r2"
526+
id="win2003r2${add}"
524527
;;
525528
esac
526529

@@ -538,18 +541,22 @@ fromName() {
538541
local name="$1"
539542
local arch="$2"
540543

544+
local add=""
545+
[[ "$arch" != "x64" ]] && add="$arch"
546+
541547
case "${name,,}" in
542-
*"server 2025"* ) id="win2025" ;;
543-
*"server 2022"* ) id="win2022" ;;
544-
*"server 2019"* ) id="win2019" ;;
545-
*"server 2016"* ) id="win2016" ;;
546-
*"server 2012"* ) id="win2012r2" ;;
547-
*"server 2008"* ) id="win2008r2" ;;
548548
*"windows 7"* ) id="win7${arch}" ;;
549549
*"windows 8"* ) id="win81${arch}" ;;
550550
*"windows 10"* ) id="win10${arch}" ;;
551551
*"windows 11"* ) id="win11${arch}" ;;
552552
*"windows vista"* ) id="winvista${arch}" ;;
553+
*"server 2025"* ) id="win2025${add}" ;;
554+
*"server 2022"* ) id="win2022${add}" ;;
555+
*"server 2019"* ) id="win2019${add}" ;;
556+
*"server 2016"* ) id="win2016${add}" ;;
557+
*"server 2012"* ) id="win2012r2${add}" ;;
558+
*"server 2008"* ) id="win2008r2${add}" ;;
559+
*"server 2003"* ) id="win2003r2${add}" ;;
553560
esac
554561

555562
echo "$id"
@@ -589,7 +596,7 @@ getVersion() {
589596
*" enterprise"* ) id="$id-enterprise" ;;
590597
esac
591598
;;
592-
"win2025"* | "win2022"* | "win2019"* | "win2016"* | "win2012"* | "win2008"* )
599+
"win2025"* | "win2022"* | "win2019"* | "win2016"* | "win2012"* | "win2008"* | "win2003"* )
593600
case "${name,,}" in
594601
*" evaluation"* ) id="$id-eval" ;;
595602
esac
@@ -2128,13 +2135,17 @@ setMachine() {
21282135
BOOT_MODE="windows_legacy" ;;
21292136
"winxp"* | "win2003"* )
21302137
DISK_TYPE="blk"
2131-
BOOT_MODE="windows_legacy"
2132-
# Prevent bluescreen if 64 bit PCI hole size is >2G.
2133-
ARGS="-global q35-pcihost.x-pci-hole64-fix=false" ;;
2138+
BOOT_MODE="windows_legacy" ;;
21342139
"winvista"* | "win7"* | "win2008"* )
21352140
BOOT_MODE="windows_legacy" ;;
21362141
esac
21372142

2143+
case "${id,,}" in
2144+
"winxp"* | "win2003"* | "winvistax86"* | "win7x86"* | "win2008r2x86"* )
2145+
# Prevent bluescreen if 64 bit PCI hole size is >2G.
2146+
ARGS="-global q35-pcihost.x-pci-hole64-fix=false" ;;
2147+
esac
2148+
21382149
return 0
21392150
}
21402151

0 commit comments

Comments
 (0)