mirror of
https://github.com/dockur/windows.git
synced 2026-08-24 15:48:59 +01:00
feat: Restore Windows 10 Enterprise mirror (#2092)
This commit is contained in:
@@ -159,7 +159,6 @@ Also see [Dynamic memory allocation](https://github.com/qemus/qemu/blob/master/d
|
|||||||
| `ESD` | `Y` | Enables downloading Windows through the ESD-based installation method. |
|
| `ESD` | `Y` | Enables downloading Windows through the ESD-based installation method. |
|
||||||
| `VERIFY` | `N` | Verifies downloaded installation media against predefined checksums. |
|
| `VERIFY` | `N` | Verifies downloaded installation media against predefined checksums. |
|
||||||
| `REMOVE` | `Y` | Deletes the downloaded Windows ISO after installation to save space. |
|
| `REMOVE` | `Y` | Deletes the downloaded Windows ISO after installation to save space. |
|
||||||
| `MANUAL` | `N` | Enables manual installation instead of unattended installation. |
|
|
||||||
| `COMMAND` | | Command to be executed during the final step of automatic installation. |
|
| `COMMAND` | | Command to be executed during the final step of automatic installation. |
|
||||||
|
|
||||||
## 🔌 Shutdown
|
## 🔌 Shutdown
|
||||||
|
|||||||
@@ -298,17 +298,6 @@ For a complete graphical desktop experience, see [WinBoat](https://winboat.app),
|
|||||||
|
|
||||||
The example folder `./example` will be copied to `C:\OEM` and the `install.bat` file inside it will be executed during the final step of the automatic installation.
|
The example folder `./example` will be copied to `C:\OEM` and the `install.bat` file inside it will be executed during the final step of the automatic installation.
|
||||||
|
|
||||||
### How do I perform a manual installation?
|
|
||||||
|
|
||||||
It's recommended to stick to the automatic installation, as it adjusts various settings to prevent common issues when running Windows inside a virtual environment.
|
|
||||||
|
|
||||||
However, if you insist on performing the installation manually (at your own risk), add the following environment variable to your compose file:
|
|
||||||
|
|
||||||
```yaml
|
|
||||||
environment:
|
|
||||||
MANUAL: "Y"
|
|
||||||
```
|
|
||||||
|
|
||||||
### How do I assign an individual IP address to the container?
|
### How do I assign an individual IP address to the container?
|
||||||
|
|
||||||
By default, the container uses bridge networking, which shares the IP address with the host.
|
By default, the container uses bridge networking, which shares the IP address with the host.
|
||||||
|
|||||||
+17
-16
@@ -333,10 +333,13 @@ downloadWindowsEval() {
|
|||||||
local lang="$2"
|
local lang="$2"
|
||||||
local desc="$3"
|
local desc="$3"
|
||||||
|
|
||||||
local culture compare type
|
local culture language agent winVer
|
||||||
local agent language winVer
|
local compare compare_name link_name type
|
||||||
|
|
||||||
case "${id,,}" in
|
case "${id,,}" in
|
||||||
|
"win10${PLATFORM,,}-enterprise-eval" )
|
||||||
|
type="enterprise"
|
||||||
|
winVer="windows-10-enterprise" ;;
|
||||||
"win11${PLATFORM,,}-enterprise-eval" )
|
"win11${PLATFORM,,}-enterprise-eval" )
|
||||||
type="enterprise"
|
type="enterprise"
|
||||||
winVer="windows-11-enterprise" ;;
|
winVer="windows-11-enterprise" ;;
|
||||||
@@ -692,7 +695,7 @@ getWindows() {
|
|||||||
case "${version,,}" in
|
case "${version,,}" in
|
||||||
"win2008r2"* | \
|
"win2008r2"* | \
|
||||||
"win81${PLATFORM,,}"* | \
|
"win81${PLATFORM,,}"* | \
|
||||||
"win10${PLATFORM,,}-enterprise"* | \
|
"win10${PLATFORM,,}-enterprise-ltsc-eval" | \
|
||||||
"win11${PLATFORM,,}-enterprise-iot-eval" )
|
"win11${PLATFORM,,}-enterprise-iot-eval" )
|
||||||
if [[ "${lang,,}" != "en" && "${lang,,}" != "en-"* ]]; then
|
if [[ "${lang,,}" != "en" && "${lang,,}" != "en-"* ]]; then
|
||||||
error "No download in the $language language available for $edition!"
|
error "No download in the $language language available for $edition!"
|
||||||
@@ -730,6 +733,7 @@ getWindows() {
|
|||||||
|
|
||||||
downloadWindowsLtsc "$version" "$lang" "$edition" && return 0 ;;
|
downloadWindowsLtsc "$version" "$lang" "$edition" && return 0 ;;
|
||||||
|
|
||||||
|
"win10${PLATFORM,,}-enterprise-eval" | \
|
||||||
"win11${PLATFORM,,}-enterprise"* )
|
"win11${PLATFORM,,}-enterprise"* )
|
||||||
|
|
||||||
if downloadWindowsEval "$version" "$lang" "$edition"; then
|
if downloadWindowsEval "$version" "$lang" "$edition"; then
|
||||||
@@ -889,8 +893,6 @@ parseESD() {
|
|||||||
|
|
||||||
# Microsoft catalogs may use different XML namespaces, tag casing, and checksum
|
# Microsoft catalogs may use different XML namespaces, tag casing, and checksum
|
||||||
# algorithms. Flatten the catalog once so all selection logic remains in Bash.
|
# algorithms. Flatten the catalog once so all selection logic remains in Bash.
|
||||||
local upper="ABCDEFGHIJKLMNOPQRSTUVWXYZ"
|
|
||||||
local lower="abcdefghijklmnopqrstuvwxyz"
|
|
||||||
local lname="translate(local-name(), '$upper', '$lower')"
|
local lname="translate(local-name(), '$upper', '$lower')"
|
||||||
|
|
||||||
if ! records=$(xmlstarlet sel -T -t \
|
if ! records=$(xmlstarlet sel -T -t \
|
||||||
@@ -1295,9 +1297,9 @@ tryDownload() {
|
|||||||
local url="$2"
|
local url="$2"
|
||||||
local sum="$3"
|
local sum="$3"
|
||||||
local size="$4"
|
local size="$4"
|
||||||
local desc="$6"
|
local desc="$5"
|
||||||
local seconds="$7"
|
local seconds="$6"
|
||||||
local web_desc="$8"
|
local web_desc="$7"
|
||||||
|
|
||||||
local total minimum="104857600"
|
local total minimum="104857600"
|
||||||
|
|
||||||
@@ -1361,9 +1363,8 @@ fallbackEnglish() {
|
|||||||
local version="$2"
|
local version="$2"
|
||||||
local lang="$3"
|
local lang="$3"
|
||||||
local desc="$4"
|
local desc="$4"
|
||||||
local web_desc="$5"
|
|
||||||
|
|
||||||
local culture web_msg
|
local culture
|
||||||
local msg="No working download method was found for $desc, falling back to English..."
|
local msg="No working download method was found for $desc, falling back to English..."
|
||||||
|
|
||||||
info "$msg"
|
info "$msg"
|
||||||
@@ -1419,7 +1420,7 @@ downloadImage() {
|
|||||||
desc=$(fromFile "$base")
|
desc=$(fromFile "$base")
|
||||||
web_desc="$desc"
|
web_desc="$desc"
|
||||||
|
|
||||||
tryDownload "$iso" "$version" "" "" "" "$desc" "$seconds" "$web_desc" || return 1
|
tryDownload "$iso" "$version" "" "" "$desc" "$seconds" "$web_desc" || return 1
|
||||||
return 0
|
return 0
|
||||||
fi
|
fi
|
||||||
|
|
||||||
@@ -1438,7 +1439,7 @@ downloadImage() {
|
|||||||
web_desc=$(printEdition "$version" "$web_desc")
|
web_desc=$(printEdition "$version" "$web_desc")
|
||||||
desc+=" in $language"
|
desc+=" in $language"
|
||||||
|
|
||||||
fallbackEnglish "$iso" "$version" "$lang" "$desc" "$web_desc" || return 1
|
fallbackEnglish "$iso" "$version" "$lang" "$desc" || return 1
|
||||||
return 0
|
return 0
|
||||||
|
|
||||||
fi
|
fi
|
||||||
@@ -1480,7 +1481,7 @@ downloadImage() {
|
|||||||
download_desc+=" using a static link"
|
download_desc+=" using a static link"
|
||||||
fi
|
fi
|
||||||
|
|
||||||
if tryDownload "$iso" "$MIDO_URL" "$sum" "$size" "$lang" "$download_desc" "$seconds" "$web_desc"; then
|
if tryDownload "$iso" "$MIDO_URL" "$sum" "$size" "$download_desc" "$seconds" "$web_desc"; then
|
||||||
# Commit the candidate only after the image was downloaded and verified.
|
# Commit the candidate only after the image was downloaded and verified.
|
||||||
DETECTED="$detected"
|
DETECTED="$detected"
|
||||||
return 0
|
return 0
|
||||||
@@ -1530,7 +1531,7 @@ downloadImage() {
|
|||||||
# its real extension through the active ISO variable.
|
# its real extension through the active ISO variable.
|
||||||
ISO="${ISO%.*}.esd"
|
ISO="${ISO%.*}.esd"
|
||||||
|
|
||||||
if tryDownload "$ISO" "$ESD" "$ESD_SUM" "$ESD_SIZE" "$lang" "$desc" "$seconds" "$web_desc"; then
|
if tryDownload "$ISO" "$ESD" "$ESD_SUM" "$ESD_SIZE" "$desc" "$seconds" "$web_desc"; then
|
||||||
return 0
|
return 0
|
||||||
fi
|
fi
|
||||||
|
|
||||||
@@ -1553,14 +1554,14 @@ downloadImage() {
|
|||||||
size=$(getSize "$i" "$version" "$lang")
|
size=$(getSize "$i" "$version" "$lang")
|
||||||
sum=$(getHash "$i" "$version" "$lang")
|
sum=$(getHash "$i" "$version" "$lang")
|
||||||
|
|
||||||
tryDownload "$iso" "$url" "$sum" "$size" "$lang" "$desc" "$seconds" "$web_desc" && return 0
|
tryDownload "$iso" "$url" "$sum" "$size" "$desc" "$seconds" "$web_desc" && return 0
|
||||||
|
|
||||||
fi
|
fi
|
||||||
|
|
||||||
done
|
done
|
||||||
|
|
||||||
if [[ "${lang,,}" != "en" && "${lang,,}" != "en-"* ]]; then
|
if [[ "${lang,,}" != "en" && "${lang,,}" != "en-"* ]]; then
|
||||||
fallbackEnglish "$iso" "$requested" "$lang" "$desc" "$web_desc" || return 1
|
fallbackEnglish "$iso" "$requested" "$lang" "$desc" || return 1
|
||||||
return 0
|
return 0
|
||||||
fi
|
fi
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user