mirror of
https://github.com/dockur/windows.git
synced 2026-08-05 21:47:16 +01:00
fix: Improve image edition detection (#2061)
This commit is contained in:
@@ -80,6 +80,23 @@ getVersions() {
|
||||
|
||||
done
|
||||
|
||||
# Preserve NAME precedence, but allow a recognized DISPLAYNAME edition to
|
||||
# refine an otherwise generic family name.
|
||||
if [ -n "$candidate_base" ] && [ -n "$candidate_id" ] && [ -n "$display" ]; then
|
||||
name=$(normalizeEdition "$(printVersion "$candidate_base" "")") || return 1
|
||||
candidate=$(normalizeEdition "$candidate") || return 1
|
||||
|
||||
if [ "$candidate" = "$name" ]; then
|
||||
structured=$(getVersion "$display" "$platform")
|
||||
|
||||
if [ "$(fromName "$display" "$platform")" = "$candidate_base" ] &&
|
||||
[ -n "$structured" ] && [[ "${structured%-eval}" != "$candidate_base" ]] &&
|
||||
[[ "$(getVersionPriority "$structured" "$candidate_base")" != "other" ]]; then
|
||||
candidate_id="$structured"
|
||||
fi
|
||||
fi
|
||||
fi
|
||||
|
||||
if [ -z "$candidate_base" ] || [ -z "$candidate_id" ]; then
|
||||
|
||||
name="${display:-${image:-$product}}"
|
||||
|
||||
+5
-3
@@ -338,12 +338,14 @@ skipUnattended() {
|
||||
|
||||
# Standalone ESD files and nested archives are not directly bootable media,
|
||||
# so they cannot use the manual-install fallback.
|
||||
[[ "${iso,,}" == *".esd" ]] && exit 60
|
||||
enabled "${UNPACK:-}" && exit 60
|
||||
if enabled "${UNPACK:-}" || [[ "${iso,,}" == *".esd" ]]; then
|
||||
error "Failed to boot \"$iso\" because it is not a directly bootable ISO image!"
|
||||
exit 60
|
||||
fi
|
||||
|
||||
# When automatic preparation fails, inspect extracted media to determine
|
||||
# whether it can still be booted manually using legacy firmware.
|
||||
if [[ "${PLATFORM,,}" == "x64" ]] && [ -d "$dir" ]; then
|
||||
if enabled "$aborted" && [[ "${PLATFORM,,}" == "x64" ]] && [ -d "$dir" ]; then
|
||||
|
||||
efi=$(find "$dir" -maxdepth 1 -type d -iname efi -print -quit) || return 1
|
||||
efi32=$(find "$dir" -maxdepth 3 -type f -ipath '*/efi/boot/bootia32.efi' -print -quit) || return 1
|
||||
|
||||
Reference in New Issue
Block a user