You are on page 1of 8

43 - Install Windows from many ISO files all on one Flash drive using FiraDisk

Introduction
This method describes how you can place all your Windows Vista 32-bit/64-bit ISOs, Windows 7 32-bit/64-bit ISOs, Server 2K8 ISOs etc. all one just one (large) USB Flash drive and install any version of Windows onto any system whenever you like. This is a slightly neater alternative to tutorial #32 and uses FiraDisk. Most of this is directly 'pinched' from a post by Karyonix (thanks!) on reboot.pro (this post) but I have added the AutoUnattend.xml file so that the process is completely automatic if using a USB Flash drive. All ISO files must be kept in one single folder (called \ISO in this example. but you can change it) and if you want the user choice feature to work, then the ISO folder must also contain a marker file called 'Choose_an_iso'. Note that the ISO folder that contains the ISO files and the special tag/marker file Choose_an_Iso can be on any drive (e.g. a hard disk or a USB hard disk). You can change the name of the folder or marker file if you like, as long as you also change the path and name in the menu or you can just use one of your iso files as the marker file and delete the 'Choose_an_iso' file so it is not listed when the iso files are listed on the screen.

History
Update 26 June 2011: Fixed 64-bitWindowsISOinstallwhichdidnotwork,asdevcondidnotincludeanamd64versionand extraction of the x64-bitversionisveryawkward! The 64-bit version of devcon from the MS site KB article download (2003) does not actually run under 64-bitWinPEasitisania64platformversion!!!Pleaseusethenewversionofmyzipdownloadwhichnow includes both devcon versions (32&64). Update 26 June 2011 (19:00 BST): Added an Addendum to support hard disks and included two new files in the tutorial download. Updated 1st July 2011: Changed menu to not use wenv and use grub4dos variables instead, also now allows boot from BOOTMGR or non-ISO9660 iso files. New download Tut43_Fira_iso.zip Updated 20th July 2011: Typo in loadiso.cmd meant it reported devcon as missing - now fixed (thanks G R!). Updated 10th August 2011: Sushil1576 from Reboot.pro has found the if X:\Setup.exe is run, you also get the repair option. This is useful for the Hard Disk version. The download has been updated with a new MySetup.cmd file so that the Repair option is offered.

Using this method with USB Hard Disks


The method does not work automatically for bootable USB hard disks because the AutoUnattend.xml MUST be on a removable drive (which could be a USB flash drive or CD). If you have lots of ISO files, and want to boot any one of them from a USB hard disk, you have these options: 1. Use a USB Flash drive as described below but keep all your ISO files on the USB hard drive (or on a separate partition on the internal hard disk on the target system). If using two USB drives (flash+hdd), make sure both are connected when you boot from your Flash drive. 2. Make a USB hard drive following the instructions for a Flash drive below. When Windows Setup loads, press SHIFT+F10 to open a commandconsoleandtypeF:\firadisk\loadiso(whereF:isthedriveletterofyourUSBharddisk- which may vary). 3. See Addendum below for how to modify any Windows Vista/7/2K8 or later ISO so that a bootable USB hard drive can be used with this method without a flash drive being needed or the user needing to type some extra commands.

Method (for USB Flash drives)


Note: the instructions below also apply if you already have a bootable grub4dos disk, just extract the Tut43_FiraISO.zip contents ontoit(notethatitwilloverwriteyourmenu.lstthough!)andcopyallyourISOfilesandoverwriteyourgrldr file with the recent one included in the latest version of RMPrepUSB v2.1.623 or later. 1. Create a new folder on your hard drive called C:\WINFira 2. Download the zip file Tut43_FiraIso.zip from the Beta Downloads - Tutorials page and extract the contents to the C:\WINFira folder Contents of Tut43_FiraIso.zip: AutoUnattend.xml \FiraDisk folder au.xml firadi64.cat iradi64.sys firadisk.cat firadisk.inf firadisk.sys LOADISO.CMD slp.exe spaces.txt wenv(notusedinthistutorial) \i386\devcon.exe \ia64\devcon64.exe mysetup.cmd(notactuallyused- see Addendum below) winpeshl.ini(notactuallyused- see Addendum below)

\ISO folder Choose_an_iso <<<<<<<(your iso files go here) Menu.lst 3. Now copy your Windows install ISO files to the C:\WinFira\ISO folder - Note: the iso filenames must NOT contain spaces! You can download some Windows 7 ISOs fromhere. 4. The sample menu.lst contains 5 menu entries. The first two menu entries are set to boot a fixed iso name. Just copy the first two complete menu entries to make as many more as you like for all your ISO files. The third menu entry is merely to allow you to reboot to your hard disk after Windows has been installed onto it. The last two menu entries allow the user to choose which iso to boot to, by getting the user to type in the name of the iso that they want to use. You can delete any menu entries that you do not require. Edit the menu.lst and change the first line (title) and second line (ISO filename) in each menu, a sample menu is shown below: #NORMALHIGHLIGHTHELPTEXTHEADINGinpairsconsistingofforeground/background color black/cyan blue/cyan red/light-blue red/cyan write (md)0x220+1 !BAT\necho -n -P:0000$[0133]--- Windows install ---\0 initscript (md)0x220+1 title1INSTALL Windows 7 32-bit\nThis will install any edition of Windows 32-bit to your hard disk set MYISO=win7.iso dd if=()/firadisk/au.xml of=()/AutoUnattend.xml map --mem (md)0x800+4 (99) set mm=map /ISO/%MYISO% (0xff) %mm% map (hd0) (hd1) map (hd1) (hd0) map --hook set mm=write (99) [FiraDisk]\nStartOptions=cdrom,vmem=find:/ISO/%MYISO%;\n\0 %mm% chainloader (0xff)/BOOTMGR || chainloader (0xff) title2REPAIRWindows732-bit\nThis will repair any edition of Windows 32-bit on your hard disk - choose the Repair option after selecting a country/language set MYISO=win7.iso dd if=()/firadisk/spaces.txt of=()/AutoUnattend.xml map --mem (md)0x800+4 (99) set mm=map /ISO/%MYISO% (0xff) %mm% map (hd0) (hd1) map (hd1) (hd0) map --hook set mm=write (99) [FiraDisk]\nStartOptions=cdrom,vmem=find:/ISO/%MYISO%;\n\0 %mm% chainloader (0xff)/BOOTMGR || chainloader (0xff) ### ADD MORE ISO MENU ENTRIES HERE - DUPLICATE THE TWO ENTRIES ABOVE AND CHANGE THE ISO FILENAME title root () title 3 Boot from 1st Hard Disk \nBoot from MBR of first hard disk and remove the USB drive map (hd0) (hd1) map (hd1) (hd0) map --hook chainloader (hd0)+1 rootnoverify (hd0) title root () title Choose any iso file... root () title root () title 4 INSTALL WINDOWS - Boot from any Windows ISO to install Windows\nThis menu allows you to type in the name of any Windows ISO file and boot from it # find the ISO folder by looking for a marker file find --set-root /ISO/choose_an_iso clear echo

# list all files in the /ISO folder so the user can see them ls ()/ISO/ echo # Ask user which iso they want (name is converted to uppercase as /u is specified) set/p/uask=EnterisofilenameWITHNO.ISOEXTENSION(e.g.Win7Pro32): if "%ask%"=="" echo No iso file specified! && configfile /menu.lst clear # check if user entered a valid filename with no ISO extension! ls /ISO/%ask%.iso || echo Cannot find /ISO/%ask%.iso !!! && pause --wait=3 && configfile (bd)/menu.lst echo Loading /ISO/%ask%.iso - please wait ... #set root drive to USB stick find --set-root /firadisk/loadiso.cmd map --mem (md)0x800+4 (99) dd if=()/firadisk/au.xml of=()/AutoUnattend.xml set mm=find --set-root /ISO/%ask%.iso %mm% # run the grub4dos map command and specify the iso file we want to load set mm=map /ISO/%ask%.iso (0xff) %mm% map (hd0) (hd1) map (hd1) (hd0) map --hook # Specify the same iso file for when firadisk runs in winpe find --set-root /firadisk/loadiso.cmd set mm=write (99) [FiraDisk]\nStartOptions=cdrom,vmem=find:/ISO/%ask%.iso;\n\0 %mm% chainloader (0xff)/BOOTMGR || chainloader (0xff) clear title5REPAIRWINDOWS- Boot from any Windows ISO to repair Windows\nThis menu allows you to type in the name of any Windows ISO file and boot from it for a repair operation only # find the ISO folder by looking for a marker file find --set-root /ISO/choose_an_iso clear echo # list all files in the /ISO folder so the user can see them ls ()/ISO/ echo # Ask user which iso they want (name is converted to uppercase as /u is specified) set/p/uask=EnterisofilenameWITHNO.ISOEXTENSION(e.g.win7pro32): if "%ask%"=="" echo No iso file specified! && configfile /menu.lst clear # check if user entered a valid filename with no ISO extension! ls /ISO/%ask%.iso || echo Cannot find /ISO/%ask%.iso !!! && pause --wait=3 && configfile (bd)/menu.lst echo Loading /ISO/%ask%.iso - please wait ... map --mem (md)0x800+4 (99) #set root drive to USB stick find --set-root /firadisk/loadiso.cmd dd if=()/firadisk/spaces.txt of=()/AutoUnattend.xml set mm=find --set-root /ISO/%ask%.iso %mm% # run the grub4dos map command and specify the iso file we want to load set mm=map /ISO/%ask%.iso (0xff) %mm% map (hd0) (hd1) map (hd1) (hd0) map --hook # clear any memory drive contents find --set-root /firadisk/loadiso.cmd write (99) DDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDD\n\0 chainloader (0xff)/BOOTMGR || chainloader (0xff) clear 5. Now prepare a USB Flash drive using RMPrepUSB (optional - if you already have a bootable USB drive with grub4dos) RunRMPrepUSB (use v2.1.622 or later) TowipeandformattheUSBdrive(optional)- set the following options in RMPrepUSB: 1.MAX 2.(anyvolumenameyoulike!) 3.WinPEv2/v3(orDOSorFreeDOSorXP) 4.FAT32orNTFS(orFAT16butithasa2GBlimit)andalsoselecttheBoot as HDDoption 5.TickCopy OS FilesboxandsettheCopy FoldertoC:\WINFIRA 6.ClickPrepareDrivetoformatthedriveandcopythefilesover

NOTE:Whetheryoualreadyhaveanexistinggrub4dosUSBdriveor have just formatted one as detailed above, you need toinstall thelatest versionofgrub4dosasfollows: NowclickonInstall grub4dosandchooseYesfor MBR andhitEnterto copy across the grldr file. You need the correct grub4dosgrldrfile as this supports some newer grub4dos commands.

Contents of bootable grub4dos drive: AutoUnattend.xml grldr(new'chenallbuild'versionasusedbylatestRMPrepUSB) \FiraDisk folder au.xml firadi64.cat firadi64.sys firadisk.cat firadisk.inf firadisk.sys LOADISO.CMD slp.exe spaces.txt wenv \i386\devcon.exe \ia64\devcon64.exe \ISO folder Choose_an_iso (your iso files go here) <<<<<<<<<<<<<<<<<<<<<<<<<<<<< (use short names if possible to avoid typing!) Menu.lst That's it! To test your menu, run RMPrepUSB and hit F11 to run the QEMU emulator (you do not need to create a virtual hard disk so enter 0 when prompted). Note that you can only test the menu out using this method, once the ISO starts to runs it seems to crash under QEMU! Now go boot it and install Windows on something - you should see the blue Windows Command Shell window flash up briefly and install the FiraDisk driver and load the ISO file when Windows Setup starts. The screenshots below show the INSTALL WINDOWS - Boot from any Windows ISO menu option action.

This is the unchanged menu.lst provided with the download. You can add more entries or delete the ones you do not want.

Thegrub4dosmenuwilllookforamarkerfile(thefile'\ISO\Choose_an_iso')oneverydriveandlistthefilesinthatfolderwhenitfindsit, so that the user can choose one of them...

The Install Windows from any ISO list is presented to the user. Note: you must use the USB drive on a real system -WinPEneedstoseearemovabledrivecontainingtheAutoUnattend.xmlfile. YoumayhaveproblemsusinganemulatorsuchasQEMUastheddcommandneedsawriteabledriveinordertosucceed- but most emulators do not allow writes to physical drives such as USB drives. Once your OS has installed, if the system reboots back to the USB drive again, just use the 3rd menu item to boot from the hard disk (or just remove the USB drive and reboot). Note:ToaddastandardXPinstallISOtoyourUSBdrive,seeTutorial #30.

Addendum - How to use this technique on a bootable USB Hard drive


The auto-detection of \AutoUnattend.xml will not work if you use a hard drive (neither USB nor IDE/SATA) as a hard drive is not a 'removable' disk, we need to patch the ISO files themselves so that they will automatically run the LOADISO.CMD from the boot drive. To do this we need to copy the contents of the ISO file to an empty folder, modify the ISO file contents and then create a new version of the ISO file. The guide below is for advanced users. I assume you already know how to mount images using ImageX (or DISM or GImagexX) or can use similar tools. It is easiest to download and install the Windows 7 WAIK. Please refer to my other tutorials (e.g. for WAIK and Virtual CloneDriveseeTutorial #1) for details on installing and using the WAIK. 1.OnyourWindowssystem,Mount the ISO that you want to modify using ImDisk or Virtual CloneDrive or any suitable tool and extract all the contents to an empty folder on your hard drive (e.g. C:\TESTISO) 2. If you want to be able to install any edition of Windows (e.g. all SKUs rather than just Professional), then delete the C:\TESTISO\SOURCES\EI.CFG file. 3. Run a WAIK command prompt as Administrator (found in the Start Menu after installing WAIK) and mount the C:\TESTISO\Sources\boot.wim file (use Imagex /info to determine the correct image number that you need to mount, usually this is Index #2 - but not always!). e.g. imagex /info C:\TESTISO\SOURCES\boot.wim (check what images you have by looking at the output) mkdir c:\mount imagex /mountrw C:\TESTISO\SOURCES\boot.wim 2 c:\mount 4. Now we just need to copy the two files to the C:\mount\windows\system32 folder - winpeshl.ini and mysetup.cmd. Use the ones in the \FiraDisk folder inside the tutorial download. Their contents are shown below just for reference: winpeshl.ini [LaunchApps] x:\windows\system32\mysetup.cmd

mysetup.cmd

@echo off TITLE MYSETUP.CMD REM run wpeinit after loading ISO file cmd/q/c"FOR%%iIN(CDEFGHIJKLNMOPQRSTUVWXYZ)DOIFEXIST%%i:\FIRADISK\LOADISO.CMDcmd/k %%i:\FIRADISK\LOADISO.cmd" TITLE MYSETUP.CMD REM find RAMDRIVE with ISO contents for %%I in (C D E F G H I J K L M N O P Q R S T U V W X Y Z) do if exist %%I:\sources\install.wim set RAMdrive=%%I: If NOT "%RAMdrive%"=="" echo Found Install.wim at %RAMdrive%\sources\install.wim IF "%RAMdrive%"=="" ( echo ERROR - COULD NOT FIND INSTALL.WIM! pause pause REM Reboot goto :EOF ) echo Run Setup.exe with Repair option from X: drive (if available) if exist X:\Setup.exe X:\setup.exe echo looking for setup in root of DVD ISO Ifexist%RAMdrive%\setup.exe( %RAMdrive% REM setup will use its path to find the install.wim %RAMdrive%\setup.exe goto :RBT ) echo looking for setup.exe in \sources on DVD ISO Ifexist%RAMdrive%\sources\setup.exe( %RAMdrive% REM setup will use its path to find the install.wim echo Launching %RAMdrive%\sources\setup.exe %RAMdrive%\sources\setup.exe goto :RBT ) REM if not then just call setup in root of boot.wim and point it at install.wim if exist X:\sources\Setup.exe X:\sources\setup.exe /installfrom:%RAMdrive%\sources\install.wim if exist X:\Setup.exe X:\setup.exe /installfrom:%RAMdrive%\sources\install.wim goto :RBT :BAD dir X:\ /b echo Cannot find X:\Setup.exe ! @echo Press a key to reboot now... pause :RBT wpeutil reboot pause Although these two files are located in the \FiraDisk folder inside the Tutorial #43 Tut43_FiraIso.zip download for your convenience, they are not actually used in booting and can be deleted from the\FiraDisk folder after copying them to the mounted ISO folder - if you wish. 4. Commit the changes and unmount the mounted image - e.g. (close any Explorer windows which point at C:\mount first!) imagex /unmount /commit c:\mount imagex /cleanup 5. Create a new ISO file from the WAIK command prompt: tomakeabootableISOusethecommand: oscdimg.exe -b"C:\Program Files\Windows AIK\Tools\PETools\x86\boot\etfsboot.com" -u1 -d -h -m -lWIN732SP1 C:\TESTISO\ C:\Win732SP1.iso - OR -foranon-bootable ISO (but still usable for this tutorial and it will still load Windows Setup) use: oscdimg.exe -u1 -d -h -m-lWIN732SP1C:\TESTISO\C:\Win732SP1.iso (-l specifies the volume Label - note that the source path C:\TESTISO\ should end in a back-slash!). The -u1 (ISO9660) option ensures that the ISO is readable in both UDF and ISO 9660 (grub4dos readable) format - NOTE: when mounted by grubdos, all filenames will be uppercase -e.g.BOOTMGRnotbootmgr.Formaximumcompatibility(e.g.withWinImage)youcanalsoadd-j1forJolietformat (upper/lower case and long filenames).

6. Now follow the tutorial above but use this new ISO file. The Repair menu options in the menu.lst (menu's 2 and 5 can be deleted as you will be offered the repair option anyway). 7.(optional)TheAutounattend.xmlfileintherootoftheUSBdriveisnotrequiredandcanbedeleted. If you delete the AutoUnattend.xml file, you need also to change the menu.lst slightly and delete the lines that mention AutoUnattend.xml, otherwise the grub4dos menu will give an error as the file no longer exists. 8. The new ISO should allow you to install any Edition of Windows that is contained within the Install.wim file. You can also use the same files on a USB Flash drive if you wish. Note: MySetup.cmd can run different versions of Setup.exe X:\Setup.exe will run Setup and offer the Repair Operating System option. %RAMDRIVE%\Setup.exeand\Sources\Setup.exewillgostraighttothe'InstallWindows'GUIandwillnotallowtheusertoRepair Windows. If you do not want the Repair option offered, you should comment out the line shown in purple in MySetup.cmd (i.e. place a double colon :: in front of it - or delete the line).

TroubleShooting
Check you have a recent (2011) version of grub4dos - only later versions support grub4dos variables. If you already have a grub4dos boot drive and do not want to re-format it or install grub4dos using RMPrepUSB, then just copy over the grldr file from the RMPrepUSB folder to your USB boot drive to update it. If any of the commands fail, try adding a pause command after each line to see which line gives the error: title InstallWindows 7 64-bit Enterprise Edition\nRun the Windows install DVD to install a copy of Windows to your hard disk echo 1 && pause find --set-root /Firadisk/loadiso.cmd echo2&&pause etc, set mm=map /ISO/%MYISO% (0xff) %mm% echo %mm% pause If the map command fails for 'file not contiguous' -youwillneedtorunWinContig.exe(downloadfromhere) on the failing ISO file (on the USB drive) to defrag it. If this fails to work (usually because you do not have enough spare space on the USB drive), then you will need to copy ALL the files from the USB drive to your hard disk, reformat the USB drive using RMPrepUSB as in step 3. It is often faster and easier to re-copy the files than it is to use WinContig on a large USB iso file. Somegruberrornumbersarereportedhere- these may or may not be the same as in grub4dos, but may be useful as a reference. If Setup seems to want to install the wrong version of Windows (e.g. you are prompted to install Vista Business instead of say Windows 7 Home Premium) check that none of your drives have a file in the folder \SOURCES called INSTALL.WIM - this includes any Windows install DVD-ROM you may have left in your DVD-ROM drive! Somemembersofreboot.prohavereportedthattheirsystemdoesnot detect the AutoUnattend.xmlontheirUSBpen.Inonecase this turned out to be an unlucky combination of Buffalo USB pen, Server 2008 ISO (not R2) and a Dell Latitude E6400. Other USB pens worked and other OS ISO's worked. Another user reported difficulty with their SanDisk pen. If the blue command console window does notbrieflypop-up and run during the boot from the ISO or the first part of the Windows Setup GUI, then press SHIFT+F10 to get a console window and type DISKPART followed by LIST DISK to see if your USB drive is listed (if no USB drive is listed then it means your USB drive is incompatible with the OS ISO your are trying to use) - if the USB drive is not listed, type RESCAN and then LIST DISK to see if it is now listed. If it is you may have an incompatible USB drive - try a different make or model. Use EXIT to quit Diskpart. Alternatively,trytheworkaroundforFixeddisksatthetopofthispage(i.e.alsoinsertanotherdifferentUSBpendrivewiththe AutoUnattend.xml file on it). If you are using an OEM Recovery Disk ISO file, the AutoUnattend.xml detection may be suppressed. In this case you will have to use the manualmethoddetailedintheworkaroundforFixeddisksatthetopofthispageandrunacommandprompt(SHIFT+F10maynotwork so use the OEM Command prompt menu entry instead) - or - unpack the ISO and make a new one without any unattend.xml file in it (the newISOdoesnotneedtobebootablesoany'makeiso'toolwilldotomaketheISO).

How it works (when using a USB Flash drive)


The boot/mapping sequence goes like this: ISO mapped as virtual drive by grub4dos -> load WinPE (ISO drive is now lost as in protected mode) -> find and load AutoUnattend.xml -> find and run \FiraDisk\LoadIso.cmd -> run FiraDisk and load ISO as virtual drive under WinPE (iso filename is passed via ramdrive from grub4dos) -> Exit command shell -> Setup continues and finds \sources\Install.wim on virtual disk loaded by FiraDisk. 1. The menu.lst basically just maps the ISO file as a DVD-ROM drive (0xff) but this mapping is lost as soon as Setup fully loads up into RAM and enters protected mode. However, we also write the name of the iso file to a ramdrive whilst in the grub4dos menu. We do

this because we need to tell FiraDisk the name and path of the ISO file when Setup starts to run. 2. When the ISO boots, it will prompt you to 'Press any key to boot from the CD or DVD' - because it thinks you are booting from a DVD (tip: press a key!). 3. Now when a Windows Vista/7/2K8 WinPE based Setup runs, WinPE always tries to look for a file called AutoUnattend.xml or Unattend.xmlwhichhasa'WindowsPE'sectioncontainingcommandsandconfigurationsettings.ThefileAutoUnattend.xmlmustbe on a Removable disk and not a Fixed disk. Luckily, we just happen to have such a file (\AutoUnattend.xml) on the USB Flash drive (cos we put it there!). This contains a command to run the file \FiraDisk\LOADISO.cmd from wherever it can find it (it searches all drives until it finds it) 4. LOADISO.cmd runs FiraDisk and maps the ISO file as a virtual drive, ready for Windows Setup to scan and recognise. 5. We then exit from the LOADISO script to allow WinPE to continue and run Setup. 6. Setup continues to run once LOADISO has finished executing and starts to look for a drive which has the \sources\install.wim file on it (this contains the Windows images). 7. Now when Setup looks for the \sources\install.wim file, it finds it on the new virtual drive which was made by FiraDisk and thus continues as normal - just as if it booted from a real DVD.

The way that we pass the correct path for the ISO file is via these lines in menu.lst map --mem (md)0x800+4 (99)createsanewramdrive write (99) [FiraDisk]\nStartOptions=cdrom,vmem=find:/ISO/win7.iso;\n\0writesthenameoftheisototheramdrivewhen the FiraDisk driver loads, it will try to find it When LOADISO loads the FiraDisk driver using devcon.exe, FiraDisk looks for the special grub4dos parameter in memory and then searches all media until it finds the file specified and then loads it as a CD/DVD. SomeISOsdonotallowtheusertochoosetherepairoptionbutinsteadshow all Editions of Windowsthatarepresentinthe install.wimfileifanAutoUnattend.xmlisdetectedandisvalid.ThisisgreatunlessyouactuallywanttheRepairoption!Toforcetherepair optiontoappear,weneedtoremovethetextfromwithintheAutoUnattend.xmlfile.Thisiswhatthedd of=()\Autounattend.xmllinedoes in the 2nd menu. It overwrites the \AutoUnattend.xml file with a lot of spaces. The files must be over 2K in size because the NTFS filesystem (if used on your flash drive) under grub4dos gives an error if the file length is under 2K and you try to use dd. Forcing the Repair option to be given is done using this line to get rid of the xml content by filling the file with spaces... dd if=()/ImDisk/spaces.xml of=()/AutoUnattend.xml or we can load the ISO as a DVD for an install by putting the correct commands into the Autounattend.xml file using... dd if=()/ImDisk/au.txt of=()/AutoUnattend.xml

You might also like