Image Windows 10 laptops with DISM (or other free tool)

Page 5 of 7 FirstFirst ... 34567 LastLast

  1. Posts : 17,661
    Windows 10 Pro
       #41

    xy677 said:
    Thanks Kari, I'm starting from the beginning again to see if it makes any difference!
    Just to let you know, I have to take a break. I will promise I will continue testing and troubleshooting tomorrow. I've done pretty much nothing else today than this, I am sorry but I need to stop now for today.
      My Computer


  2. Posts : 64
    Windows 10
    Thread Starter
       #42

    That's ok, I had to take a break too! I'll post some more findings tomorrow.
      My Computer


  3. Posts : 64
    Windows 10
    Thread Starter
       #43

    So after starting from the beginning again I have come to the following conclusion(s):

    1. My answer file works when I reboot the VM after running /generalize/ oobe /reboot and the unattended install works 100%
    2. If I take the customised install.wim file and use dism /apply-image after booting off the original Windows 10 ISO, the answer file works and the unattended install (again) works 100%
    3. This is where it goes wrong: If I open the original Win10 ISO in UltraISO and then replace the original install.wim with my own custom install.wim and create a new (customised) ISO with my own install.wim file then when I boot off this new ISO it prompts me at the language screen for user input. So I'm guessing that either I am doing something wrong in UltraISO or this program doesn't work properly with updating Windows 10 ISOs.


    I'm going to try seeing if there are any other options to update an original Windows 10 ISO with a customised install.wim tomorrow.
      My Computer


  4. Posts : 64
    Windows 10
    Thread Starter
       #44

    I've got an update :)

    I did some experimenting this morning and the only way I have been able to automate the language screens, disk configuration etc when installing Windows 10 is to add the AutoUnattend.xml to the root of the ISO/bootable USB drive. If I do this then Windows will install itself automatically and all I have to do is press any key to boot off the ISO/USB and a few minutes later I will be presented with a Windows desktop. The AutoUnattend.xml looks as follows so far:

    Code:
    <?xml version="1.0" encoding="utf-8"?>
    <unattend xmlns="urn:schemas-microsoft-com:unattend">
        <settings pass="windowsPE">
            <component name="Microsoft-Windows-International-Core-WinPE" processorArchitecture="amd64" publicKeyToken="31bf3856ad364e35" language="neutral" versionScope="nonSxS" xmlns:wcm="http://schemas.microsoft.com/WMIConfig/2002/State" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
                <SetupUILanguage>
                    <UILanguage>en-GB</UILanguage>
                </SetupUILanguage>
                <InputLocale>0809:00000809</InputLocale>
                <SystemLocale>en-GB</SystemLocale>
                <UILanguage>en-GB</UILanguage>
                <UserLocale>en-GB</UserLocale>
                <UILanguageFallback>en-GB</UILanguageFallback>
            </component>
            <component name="Microsoft-Windows-Setup" processorArchitecture="amd64" publicKeyToken="31bf3856ad364e35" language="neutral" versionScope="nonSxS" xmlns:wcm="http://schemas.microsoft.com/WMIConfig/2002/State" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
                <UserData>
                    <AcceptEula>true</AcceptEula>
                </UserData>
                <ImageInstall>
                    <OSImage>
                        <InstallFrom>
                            <MetaData wcm:action="add">
                                <Key>/image/index</Key>
                                <Value>1</Value>
                            </MetaData>
                        </InstallFrom>
                        <InstallTo>
                            <DiskID>0</DiskID>
                            <PartitionID>4</PartitionID>
                        </InstallTo>
                    </OSImage>
                </ImageInstall>
                <DiskConfiguration>
                    <Disk wcm:action="add">
                        <CreatePartitions>
                            <CreatePartition wcm:action="add">
                                <Order>1</Order>
                                <Size>1024</Size>
                                <Type>Primary</Type>
                            </CreatePartition>
                            <CreatePartition wcm:action="add">
                                <Order>2</Order>
                                <Size>100</Size>
                                <Type>EFI</Type>
                            </CreatePartition>
                            <CreatePartition wcm:action="add">
                                <Order>3</Order>
                                <Size>128</Size>
                                <Type>MSR</Type>
                            </CreatePartition>
                            <CreatePartition wcm:action="add">
                                <Order>4</Order>
                                <Extend>true</Extend>
                                <Type>Primary</Type>
                            </CreatePartition>
                        </CreatePartitions>
                        <DiskID>0</DiskID>
                        <WillWipeDisk>true</WillWipeDisk>
                        <ModifyPartitions>
                            <ModifyPartition wcm:action="add">
                                <Order>1</Order>
                                <PartitionID>1</PartitionID>
                                <Format>NTFS</Format>
                                <Label>WinRE</Label>
                                <TypeID>DE94BBA4-06D1-4D40-A16A-BFD50179D6AC</TypeID>
                            </ModifyPartition>
                            <ModifyPartition wcm:action="add">
                                <Order>2</Order>
                                <PartitionID>2</PartitionID>
                                <Label>System</Label>
                                <Format>FAT32</Format>
                            </ModifyPartition>
                            <ModifyPartition wcm:action="add">
                                <Order>3</Order>
                                <PartitionID>3</PartitionID>
                            </ModifyPartition>
                            <ModifyPartition wcm:action="add">
                                <Order>4</Order>
                                <PartitionID>4</PartitionID>
                                <Letter>C</Letter>
                                <Label>Windows</Label>
                                <Format>NTFS</Format>
                            </ModifyPartition>
                        </ModifyPartitions>
                    </Disk>
                </DiskConfiguration>
            </component>
        </settings>
        <settings pass="oobeSystem">
            <component name="Microsoft-Windows-Shell-Setup" processorArchitecture="amd64" publicKeyToken="31bf3856ad364e35" language="neutral" versionScope="nonSxS" xmlns:wcm="http://schemas.microsoft.com/WMIConfig/2002/State" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
                <OOBE>
                    <HideEULAPage>true</HideEULAPage>
                    <ProtectYourPC>1</ProtectYourPC>
                </OOBE>
            </component>
        </settings>
    </unattend>
    NB: This is for a UEFI install

    So what I did was try this out on an original Windows 10 ISO. I basically just updated the original ISO to have the
    AutoUnattend.xml in the root. This worked 100% using the original install.wim.

    After getting the AutoUnattend.xml to work, I then updated the original Windows 10 ISO with AutoUnattend.xml and my customised install.wim. This failed miserably. It basically automated the install of Windows 10 (well mostly) but I was then presented with a default Windows 10 desktop (ie: ALL my customisation was gone! Even the programs I installed like Office 2016 wasn't there).

    So I'm confused, why is it when I use AutoUnattend.xml with my customised install.wim file it (mostly) automated the install but then does a default install of Windows and ignores my customisations in the install.wim file?

    Really confused! Is it because I have AutoUnattend.xml in the root of the ISO/USB and have unattend.xml in c:\windows\system32\sysprep in my customised install.wim?

    I'm guessing that my approach to this may be wrong but basically I am trying to do an unattended install of Windows 10 from ISO/USB and to have a customised version of Windows installed with all my changes/applications etc.
      My Computer


  5. Posts : 17,661
    Windows 10 Pro
       #45

    @xy677

    OK, mystery solved. Got it right this time.

    My issue was false approach; I am so used to boot from PE and use DISM to apply a sysprepped / generalized image from a network share (which works perfectly) that I didn't even think the key differences in applying an image with DISM compared to installing from ISO (Flash drive / DVD).

    Will do two more test installs, both on Hyper-V vm and physical machine, posting about how I did it in an hour or two.
      My Computer


  6. Posts : 64
    Windows 10
    Thread Starter
       #46

    Kari said:
    @xy677

    OK, mystery solved. Got it right this time.

    My issue was false approach; I am so used to boot from PE and use DISM to apply a sysprepped / generalized image from a network share (which works perfectly) that I didn't even think the key differences in applying an image with DISM compared to installing from ISO (Flash drive / DVD).

    Will do two more test installs, both on Hyper-V vm and physical machine, posting about how I did it in an hour or two.
    Well I think it's finally working for me!! I don't know how or why but somehow having I must have mixed up installing my custom ISO with the original ISO.

    Long story short, I have created a custom ISO with my customised install.wim AND put the Autounattend.xml in the root of the ISO and am now able to do a fully unattended install (with the exception of entering my username which I want) and have a fully customised desktop with Office 2016 installed and fully patched.

    I tried using my custom ISO by booting off it in VMware Workstation and I also created a bootabled USB using the original ISO and then overwriting the origianal install.wim with my own and copying the Autounattend.xml to the root of the USB and both methods worked great! Since my install.wim is about 8GB in size I had to use Rufus to create a bootable USB key using NTFS so that I could use large files in the file system but it worked (FAT32 is a no no for files larger than 4GB in size).

    The one annoying thing I found when customising a Windows 10 desktop is that you can't use Settings to customise certain settings when Windows isn't activated? Is there a way around this? For now I have been editing the registry but it's a pain. Can you activate Windows before you sysprep so you can customise all the settings you want using Settings?

    I also used DISM to compress my wim file and used DISM to do a cleanup of all the Windows Updated which saved a couple gigabytes in space.

    Look forward to your findings and thanks so much for all your help!
      My Computer


  7. Posts : 17,661
    Windows 10 Pro
       #47

    Method I use to customize desktop in Audit Mode when Settings > Personalise is not working due Windows being not activated is I create a theme file on another machine (theme, background, colours, sounds, screensaver), copy that file to VM in Audit Mode and apply it.

    Could you please post the final answer file you used?
      My Computer


  8. Posts : 64
    Windows 10
    Thread Starter
       #48

    Kari said:
    Method I use to customize desktop in Audit Mode when Settings > Personalise is not working due Windows being not activated is I create a theme file on another machine (theme, background, colours, sounds, screensaver), copy that file to VM in Audit Mode and apply it.

    Could you please post the final answer file you used?
    That's a good idea, I'll have to look into that.

    unattend.xml:
    Code:
    <?xml version="1.0" encoding="utf-8"?>
    <unattend xmlns="urn:schemas-microsoft-com:unattend">
        <settings pass="specialize">
            <component name="Microsoft-Windows-Shell-Setup" processorArchitecture="amd64" publicKeyToken="31bf3856ad364e35" language="neutral" versionScope="nonSxS" xmlns:wcm="http://schemas.microsoft.com/WMIConfig/2002/State" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
                <CopyProfile>true</CopyProfile>
                <TimeZone>GMT Standard Time</TimeZone>
                <ComputerName>RENAME</ComputerName>
            </component>
        </settings>
        <settings pass="oobeSystem">
            <component name="Microsoft-Windows-International-Core" processorArchitecture="amd64" publicKeyToken="31bf3856ad364e35" language="neutral" versionScope="nonSxS" xmlns:wcm="http://schemas.microsoft.com/WMIConfig/2002/State" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
                <InputLocale>0809:00000809</InputLocale>
                <SystemLocale>en-GB</SystemLocale>
                <UILanguage>en-GB</UILanguage>
                <UserLocale>en-GB</UserLocale>
                <UILanguageFallback>en-GB</UILanguageFallback>
            </component>
            <component name="Microsoft-Windows-Shell-Setup" processorArchitecture="amd64" publicKeyToken="31bf3856ad364e35" language="neutral" versionScope="nonSxS" xmlns:wcm="http://schemas.microsoft.com/WMIConfig/2002/State" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
                <OOBE>
                    <HideEULAPage>true</HideEULAPage>
                    <HideOEMRegistrationScreen>true</HideOEMRegistrationScreen>
                    <HideOnlineAccountScreens>true</HideOnlineAccountScreens>
                    <HideWirelessSetupInOOBE>true</HideWirelessSetupInOOBE>
                    <ProtectYourPC>1</ProtectYourPC>
                    <UnattendEnableRetailDemo>false</UnattendEnableRetailDemo>
                </OOBE>
                <TimeZone>GMT Standard Time</TimeZone>
            </component>
        </settings>
    </unattend>
    AutoUnattend.xml: (NB: this does UEFI partitioning!)
    Code:
    <?xml version="1.0" encoding="utf-8"?>
    <unattend xmlns="urn:schemas-microsoft-com:unattend">
        <settings pass="windowsPE">
            <component name="Microsoft-Windows-International-Core-WinPE" processorArchitecture="amd64" publicKeyToken="31bf3856ad364e35" language="neutral" versionScope="nonSxS" xmlns:wcm="http://schemas.microsoft.com/WMIConfig/2002/State" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
                <SetupUILanguage>
                    <UILanguage>en-GB</UILanguage>
                </SetupUILanguage>
                <InputLocale>0809:00000809</InputLocale>
                <SystemLocale>en-GB</SystemLocale>
                <UILanguage>en-GB</UILanguage>
                <UserLocale>en-GB</UserLocale>
                <UILanguageFallback>en-GB</UILanguageFallback>
            </component>
            <component name="Microsoft-Windows-Setup" processorArchitecture="amd64" publicKeyToken="31bf3856ad364e35" language="neutral" versionScope="nonSxS" xmlns:wcm="http://schemas.microsoft.com/WMIConfig/2002/State" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
                <UserData>
                    <AcceptEula>true</AcceptEula>
                </UserData>
                <ImageInstall>
                    <OSImage>
                        <InstallFrom>
                            <MetaData wcm:action="add">
                                <Key>/image/index</Key>
                                <Value>1</Value>
                            </MetaData>
                        </InstallFrom>
                        <InstallTo>
                            <DiskID>0</DiskID>
                            <PartitionID>4</PartitionID>
                        </InstallTo>
                    </OSImage>
                </ImageInstall>
                <DiskConfiguration>
                    <Disk wcm:action="add">
                        <CreatePartitions>
                            <CreatePartition wcm:action="add">
                                <Order>1</Order>
                                <Size>1024</Size>
                                <Type>Primary</Type>
                            </CreatePartition>
                            <CreatePartition wcm:action="add">
                                <Order>2</Order>
                                <Size>100</Size>
                                <Type>EFI</Type>
                            </CreatePartition>
                            <CreatePartition wcm:action="add">
                                <Order>3</Order>
                                <Size>128</Size>
                                <Type>MSR</Type>
                            </CreatePartition>
                            <CreatePartition wcm:action="add">
                                <Order>4</Order>
                                <Extend>true</Extend>
                                <Type>Primary</Type>
                            </CreatePartition>
                        </CreatePartitions>
                        <DiskID>0</DiskID>
                        <WillWipeDisk>true</WillWipeDisk>
                        <ModifyPartitions>
                            <ModifyPartition wcm:action="add">
                                <Order>1</Order>
                                <PartitionID>1</PartitionID>
                                <Format>NTFS</Format>
                                <Label>WinRE</Label>
                                <TypeID>DE94BBA4-06D1-4D40-A16A-BFD50179D6AC</TypeID>
                            </ModifyPartition>
                            <ModifyPartition wcm:action="add">
                                <Order>2</Order>
                                <PartitionID>2</PartitionID>
                                <Label>System</Label>
                                <Format>FAT32</Format>
                            </ModifyPartition>
                            <ModifyPartition wcm:action="add">
                                <Order>3</Order>
                                <PartitionID>3</PartitionID>
                            </ModifyPartition>
                            <ModifyPartition wcm:action="add">
                                <Order>4</Order>
                                <PartitionID>4</PartitionID>
                                <Letter>C</Letter>
                                <Label>Windows</Label>
                                <Format>NTFS</Format>
                            </ModifyPartition>
                        </ModifyPartitions>
                    </Disk>
                </DiskConfiguration>
            </component>
        </settings>
        <settings pass="oobeSystem">
            <component name="Microsoft-Windows-Shell-Setup" processorArchitecture="amd64" publicKeyToken="31bf3856ad364e35" language="neutral" versionScope="nonSxS" xmlns:wcm="http://schemas.microsoft.com/WMIConfig/2002/State" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
                <OOBE>
                    <HideEULAPage>true</HideEULAPage>
                    <ProtectYourPC>1</ProtectYourPC>
                </OOBE>
            </component>
        </settings>
    </unattend>
    Just for fun I timed installing Windows using my customised ISO and it took just under 8min which is pretty impressive considering it has Windows 10 install FULLY patched, Office/Visio 2016 FULLY patched and has all my customisation! Just installing Windows Updates took me about an hour to do on it's own
      My Computer


  9. Posts : 17,661
    Windows 10 Pro
       #49

    OK, no bigger difference in our autounattend file except I've been testing today in Hyper-V Generation 1 VM which means it's BIOS / MBR whereas your file is for UEFi / GPT.
      My Computer


  10. Posts : 17,661
    Windows 10 Pro
       #50

    BTW, the MSR partition only needs to be 16 MB. I also noticed you have set one gig for RE partition, half of that is enough. Of course there's no harm done with bigger partitions.
      My Computer


 

  Related Discussions
Our Sites
Site Links
About Us
Windows 10 Forums is an independent web site and has not been authorized, sponsored, or otherwise approved by Microsoft Corporation. "Windows 10" and related materials are trademarks of Microsoft Corp.

© Designer Media Ltd
All times are GMT -5. The time now is 03:11.
Find Us




Windows 10 Forums