]> wimlib.net Git - wimlib/blobdiff - programs/mkwinpeimg.in
wimcapture.1: 7-Zip 15.12 supports LZMS decompression
[wimlib] / programs / mkwinpeimg.in
index 697ffb82cddd85c265d18708d31c75689146ccf2..c74b9d42f6d24ad81cffed6a9493e7c46670d1c9 100755 (executable)
@@ -21,7 +21,6 @@
 script_name="$(basename "$0")"
 PREFIX_REG="::"
 WIMLIB_VERSION=@VERSION@
-imagex=@IMAGEX_PROGNAME@
 
 calc_columns () {
        STAT_COL=80
@@ -88,20 +87,23 @@ Usage: $script_name [OPTIONS] IMAGE
   -i, --iso                Make an ISO image instead of a disk image.
   -o, --only-wim           Make neither a disk image nor an ISO image;
                               instead, only make a modified boot.wim file.
-  -W, --windows-dir=DIR    Use DIR as the location of the mounted Windows 7
-                              or Windows 8 DVD.  Default is /mnt/windows,
-                              then /mnt/windows7, then /mnt/windows8.
-  -A, --waik-dir=DIR       Get the boot files and boot.wim from the ISO of the
-                              Windows Automated Installation Kit mounted on DIR
-                              instead of from the Windows 7 or Windows 8 DVD.
-                              This also works if the mounted ISO is for the
-                              WAIK supplement rather than the WAIK itself.
+  -W, --windows-dir=DIR    Use DIR as the location of the mounted Windows
+                              installation ISO image.  If not specified, then
+                              the script tries the following locations:
+                              /mnt/windows, /mnt/windows7, /mnt/windows8,
+                              /mnt/windows10.
+  -A, --waik-dir=DIR       Get the boot files and boot.wim from the ISO image
+                              of the Windows Automated Installation Kit (WAIK)
+                              mounted on DIR instead of from a Windows
+                              installation ISO.  This also works if the mounted
+                              ISO is for the WAIK supplement rather than for the
+                              WAIK itself.
   -s, --start-script=FILE  Add FILE to the root directory of Windows PE image
                               and adjust \Windows\System32\winpeshl.ini to
                               execute FILE when Windows PE starts up.
   -w, --wim=WIM            Use WIM as the boot.wim file.  This defaults to the
-                              appropriate WIM file from the Windows DVD, WAIK,
-                              or WAIK supplement.
+                              appropriate WIM file from the Windows or WAIK
+                              directory.
   -O, --overlay=DIR        Adds all the files in DIR to the Windows PE image.
   -t, --tmp-dir=DIR        Use DIR as the temporary base of the ISO filesystem.
                               Defaults to making one using "mktemp -d".
@@ -228,7 +230,9 @@ process_command_line() {
 
 find_windows_dir() {
        if [ -z "$windows_dir_specified" ]; then
-               for windows_dir in /mnt/windows /mnt/windows7 /mnt/windows8; do
+               for windows_dir in /mnt/windows /mnt/windows7           \
+                                  /mnt/windows8 /mnt/windows10;        \
+               do
                        if [ -d "$windows_dir"/sources ]; then
                                break
                        fi
@@ -237,8 +241,8 @@ find_windows_dir() {
        if [ ! -d "$windows_dir" ]; then
                if [ -z "$windows_dir_specified" ]; then
                        cat 1>&2 << EOF
-ERROR: Could not find the directory that the Windows 7 or 8 ISO image is mounted
-on!  Please specify this directory using the --windows-dir option.
+ERROR: Could not find the directory that the Windows (Vista or later) ISO image
+is mounted on!  Please specify this directory using the --windows-dir option.
 EOF
                else
                        echo 1>&2 "ERROR: Could not find the directory \"$windows_dir\"!"
@@ -247,8 +251,9 @@ EOF
        fi
        if [ ! -d "$windows_dir/sources" ]; then
                cat 1>&2 << EOF
-ERROR: The directory "$windows_dir" exists, but it seems that the Windows 7 or 8
-ISO image is not mounted on it.  Please mount the image to continue.
+ERROR: The directory "$windows_dir" exists, but it seems that a Windows
+(Vista or later) installation ISO image is not mounted on it.  Please mount
+the image to continue.
 EOF
                exit 1
        fi
@@ -256,10 +261,10 @@ EOF
 
 check_needed_programs() {
        if [ -z "$waik_dir" -o -n "$modify_wim" ]; then
-               if ! type -P "$imagex" &> /dev/null ; then
+               if ! type -P wimlib-imagex &> /dev/null ; then
                        cat 1>&2 << EOF
-ERROR: To make a customized image of Windows PE, we need the "$imagex" program
-from "wimlib" so that we can modify the boot.wim file.  However, "$imagex"
+ERROR: To make a customized image of Windows PE, we need the wimlib-imagex program
+from "wimlib" so that we can modify the boot.wim file.  However, wimlib-imagex
 doesn't seem to be installed.  Please install "wimlib" to continue.
 EOF
                        exit 1
@@ -342,7 +347,7 @@ get_primary_boot_files() {
        else
                # Get boot files from the Windows ISO
 
-               stat_busy "Copying primary boot files from mounted Windows DVD ($windows_dir)"
+               stat_busy "Copying primary boot files from mounted Windows ISO ($windows_dir)"
                if [ $make = iso ]; then
                        cp "$windows_dir"/boot/etfsboot.com "$tmp_dir" || stat_fail
                fi
@@ -355,11 +360,11 @@ get_primary_boot_files() {
 get_boot_wim() {
        boot_wim="$1"
        # Copy the WIM over, or export the 2nd image in the WIM in the case of boot.wim
-       # from the Windows DVD.
+       # from the Windows ISO.
        remove_setup=
        if [ -z "$wim" ]; then
 
-               # WIM file unspecified- grab it from the WAIK or the Windows DVD
+               # WIM file unspecified- grab it from the WAIK or the Windows ISO
                if [ -n "$waik_dir" ]; then
                        # WAIK
                        if [ -f "$waik_dir/WinPE.cab" ]; then
@@ -374,11 +379,11 @@ get_boot_wim() {
                        fi
                        stat_done
                else
-                       # Windows DVD
+                       # Windows ISO
                        remove_setup=yes
                        wim="$windows_dir/sources/boot.wim"
                        stat_busy "Exporting image from \"$wim\""
-                       "$imagex" export "$windows_dir"/sources/boot.wim 2 \
+                       wimlib-imagex export "$windows_dir"/sources/boot.wim 2 \
                                                --boot "$boot_wim" || stat_fail
                        stat_done
                fi
@@ -432,7 +437,7 @@ modify_boot_wim() {
        exec 3>&-
 
        stat_busy "Rebuilding WIM with changes made"
-       "$imagex" update "$boot_wim" --rebuild \
+       wimlib-imagex update "$boot_wim" --rebuild \
                < "$tmp_dir/__mkwinpeimg.update.cmds" > /dev/null || stat_fail
        stat_done
 }
@@ -529,7 +534,7 @@ if [ -n "$start_script" -o -n "$overlay" -o -n "$remove_setup" ]; then
        modify_wim=yes
 fi
 check_needed_programs
-trap cleanup exit
+trap cleanup EXIT
 
 if [ $make != wim ]; then
        mkdir -p "$tmp_dir"/{boot,sources}