mirror of
https://github.com/dockur/windows.git
synced 2026-08-03 20:47:12 +01:00
Update image.sh
This commit is contained in:
@@ -918,6 +918,58 @@ findIsoImage() {
|
|||||||
return 1
|
return 1
|
||||||
}
|
}
|
||||||
|
|
||||||
|
readWimHeader() {
|
||||||
|
|
||||||
|
local iso="$1"
|
||||||
|
local image="$2"
|
||||||
|
local result_name="$3"
|
||||||
|
|
||||||
|
local header="$TMP/wim-header.bin"
|
||||||
|
local size signature
|
||||||
|
|
||||||
|
printf -v "$result_name" '%s' ""
|
||||||
|
|
||||||
|
if ! rm -f -- "$header"; then
|
||||||
|
return 1
|
||||||
|
fi
|
||||||
|
|
||||||
|
if ! udfread range \
|
||||||
|
--ignore-case \
|
||||||
|
-o "$header" \
|
||||||
|
"$iso" \
|
||||||
|
"$image" \
|
||||||
|
0 \
|
||||||
|
208 \
|
||||||
|
>/dev/null 2>&1; then
|
||||||
|
|
||||||
|
rm -f -- "$header"
|
||||||
|
return 1
|
||||||
|
fi
|
||||||
|
|
||||||
|
if ! size=$(stat -c%s -- "$header"); then
|
||||||
|
rm -f -- "$header"
|
||||||
|
return 1
|
||||||
|
fi
|
||||||
|
|
||||||
|
if (( size != 208 )); then
|
||||||
|
rm -f -- "$header"
|
||||||
|
return 1
|
||||||
|
fi
|
||||||
|
|
||||||
|
if ! signature=$(od -An -N8 -tx1 "$header" | tr -d ' \n'); then
|
||||||
|
rm -f -- "$header"
|
||||||
|
return 1
|
||||||
|
fi
|
||||||
|
|
||||||
|
if [[ "$signature" != "4d5357494d000000" ]]; then
|
||||||
|
rm -f -- "$header"
|
||||||
|
return 1
|
||||||
|
fi
|
||||||
|
|
||||||
|
printf -v "$result_name" '%s' "$header"
|
||||||
|
return 0
|
||||||
|
}
|
||||||
|
|
||||||
findImage() {
|
findImage() {
|
||||||
|
|
||||||
local dir="$1"
|
local dir="$1"
|
||||||
|
|||||||
Reference in New Issue
Block a user