mirror of
https://github.com/dockur/windows.git
synced 2025-10-27 19:35:49 +00:00
Update install.sh
This commit is contained in:
parent
66e8704d93
commit
55f197db00
1 changed files with 78 additions and 0 deletions
|
|
@ -521,6 +521,84 @@ downloadImage() {
|
|||
return 0
|
||||
}
|
||||
|
||||
extractESD() {
|
||||
|
||||
local iso="$1"
|
||||
local dir="$2"
|
||||
local size desc
|
||||
|
||||
desc=$(printVersion "$VERSION")
|
||||
local msg="Extracting $desc bootdisk..."
|
||||
info "$msg" && html "$msg"
|
||||
|
||||
size=$(stat -c%s "$iso")
|
||||
|
||||
if ((size<10000000)); then
|
||||
error "Invalid ESD file: Size is smaller than 10 MB" && exit 62
|
||||
fi
|
||||
|
||||
rm -rf "$dir"
|
||||
mkdir -p "$dir"
|
||||
|
||||
local esdImageCount
|
||||
esdImageCount=$(wimlib-imagex info "${iso}" | awk '/Image Count:/ {print $3}')
|
||||
|
||||
wimlib-imagex apply "$iso" 1 "${dir}" --nocheck --compress=none --quiet 2>/dev/null || {
|
||||
retVal=$?
|
||||
error "Extract of boot files failed" && return $retVal
|
||||
}
|
||||
|
||||
local bootWimFile="${dir}/sources/boot.wim"
|
||||
local installWimFile="${dir}/sources/install.wim"
|
||||
|
||||
local msg="Extracting $desc environment..."
|
||||
info "$msg" && html "$msg"
|
||||
|
||||
wimlib-imagex export "${iso}" 2 "${bootWimFile}" --nocheck --compress=none --quiet || {
|
||||
retVal=$?
|
||||
error "Adding WinPE failed" && return ${retVal}
|
||||
}
|
||||
|
||||
local msg="Extracting $desc setup..."
|
||||
info "$msg" && html "$msg"
|
||||
|
||||
wimlib-imagex export "${iso}" 3 "$bootWimFile" --nocheck --compress=none --boot --quiet || {
|
||||
retVal=$?
|
||||
error "Adding Windows Setup failed" && return ${retVal}
|
||||
}
|
||||
|
||||
local msg="Extracting $desc image..."
|
||||
info "$msg" && html "$msg"
|
||||
|
||||
local edition imageIndex imageEdition
|
||||
|
||||
case "${VERSION,,}" in
|
||||
win11arm)
|
||||
edition="11 pro"
|
||||
;;
|
||||
win10arm)
|
||||
edition="10 pro"
|
||||
;;
|
||||
*)
|
||||
error "Invalid version specified: $VERSION"
|
||||
return 1
|
||||
;;
|
||||
esac
|
||||
|
||||
for (( imageIndex=4; imageIndex<=esdImageCount; imageIndex++ )); do
|
||||
imageEdition=$(wimlib-imagex info "${iso}" ${imageIndex} | grep '^Description:' | sed 's/Description:[ \t]*//')
|
||||
error "$imageEdition"
|
||||
[[ "${imageEdition,,}" != *"$edition"* ]] && continue
|
||||
wimlib-imagex export "${iso}" ${imageIndex} "${installWimFile}" --nocheck --compress=none --quiet || {
|
||||
retVal=$?
|
||||
error "Addition of ${imageIndex} to the image failed" && return $retVal
|
||||
}
|
||||
break
|
||||
done
|
||||
|
||||
return 0
|
||||
}
|
||||
|
||||
extractImage() {
|
||||
|
||||
local iso="$1"
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue