locked
Headless installation, autounattend.xml RRS feed

  • 일반 토론

  • Continued discussion from another thread...

    The idea of this thread is to share how to install Windows Server 2012 (Beta) Essentials on a server without display/keyboard. On my part, I installed it on my old WHS server, which is an enhanced (new CPU, more memory) HP MediaSmart server EX 490.

    What I did was this:

    1. Prepare the USB stick (I used the"Windows 7 USB DVD Download Tool"); Also copy autounattend.xml to the USB stick; Plug-in the stick at the back of my server (front USB ports don't boot).
    2. Remove all disks from the server.
    3. Clean the disk intended as the system disk (I did this in my desktop PC, with DISKPART).
    4. Install the cleaned disk in the bottom bay.
    5. Turn on the machine, and wait for a long time (it took almost an hour, much longer than an installation on a virtual machine).
    6. Browse to the server (http://server/connect)
    7. Enter data (product key etc.), and wait some more
    8. Once set-up, proceed with connecting the clients

    The autounattend.xml was produced with Windows System Image Manager (aka WSIM).

    Here is the autounattend.xml, which works on the system described above:

    <?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-US</UILanguage>
                </SetupUILanguage>
                <InputLocale>de-CH</InputLocale>
                <SystemLocale>de-CH</SystemLocale>
                <UILanguage>en-US</UILanguage>
                <UserLocale>de-CH</UserLocale>
                <UILanguageFallback></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">
                <DiskConfiguration>
                    <Disk wcm:action="add">
                        <CreatePartitions>
                            <CreatePartition wcm:action="add">
                                <Order>1</Order>
                                <Size>350</Size>
                                <Type>Primary</Type>
                            </CreatePartition>
                            <CreatePartition wcm:action="add">
                                <Extend>false</Extend>
                                <Order>2</Order>
                                <Type>Primary</Type>
                                <Size>122880</Size>
                            </CreatePartition>
                        </CreatePartitions>
                        <ModifyPartitions>
                            <ModifyPartition wcm:action="add">
                                <Active>true</Active>
                                <Format>NTFS</Format>
                                <Label>Boot</Label>
                                <Order>1</Order>
                                <PartitionID>1</PartitionID>
                            </ModifyPartition>
                            <ModifyPartition wcm:action="add">
                                <Format>NTFS</Format>
                                <Label>System</Label>
                                <Order>2</Order>
                                <PartitionID>2</PartitionID>
                            </ModifyPartition>
                        </ModifyPartitions>
                        <DiskID>0</DiskID>
                        <WillWipeDisk>true</WillWipeDisk>
                    </Disk>
                </DiskConfiguration>
                <ImageInstall>
                    <OSImage>
                        <InstallFrom>
                            <MetaData wcm:action="add">
                                <Key>/IMAGE/NAME</Key>
                                <Value>Windows Server 2012 Essentials</Value>
                            </MetaData>
                        </InstallFrom>
                        <InstallTo>
                            <DiskID>0</DiskID>
                            <PartitionID>2</PartitionID>
                        </InstallTo>
                        <InstallToAvailablePartition>false</InstallToAvailablePartition>
                        <WillShowUI>OnError</WillShowUI>
                    </OSImage>
                </ImageInstall>
                <UserData>
                    <ProductKey>
                        <WillShowUI>OnError</WillShowUI>
                        <Key></Key>
                    </ProductKey>
                    <AcceptEula>true</AcceptEula>
                    <FullName>[Your Name]</FullName>
                    <Organization>[Your Org]</Organization>
                </UserData>
            </component>
        </settings>
        <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">
                <ComputerName>Everest</ComputerName>
                <RegisteredOrganization>[Your Org]</RegisteredOrganization>
                <RegisteredOwner>[Your Name]</RegisteredOwner>
                <TimeZone>W. Europe Standard Time</TimeZone>
                <ProductKey>XXXXX-XXXXX-XXXXX-XXXXX-XXXXX</ProductKey>
            </component>
            <component name="Microsoft-Windows-TerminalServices-LocalSessionManager" 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">
                <fDenyTSConnections>false</fDenyTSConnections>
            </component>
            <component name="Networking-MPSSVC-Svc" 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">
                <FirewallGroups>
                    <FirewallGroup wcm:action="add" wcm:keyValue="Remote Desktop">
                        <Active>true</Active>
                        <Group>@FirewallAPI.dll,-28752</Group>
                        <Profile>all</Profile>
                    </FirewallGroup>
                </FirewallGroups>
            </component>
        </settings>
        <cpi:offlineImage cpi:source="wim:d:/temp/install/install.wim#Windows Server 2012 Essentials" xmlns:cpi="urn:schemas-microsoft-com:cpi" />
    </unattend>


    • 유형 변경됨 Tinue 2012년 7월 13일 금요일 오후 8:05 not a question...
    • 편집됨 Tinue 2012년 7월 15일 일요일 오전 9:00 Increased size of hidden partition (on suggestion of "Grey"
    2012년 7월 13일 금요일 오후 8:04

모든 응답

  • FWIW:  I just looked at a "standard" install and the system reserved is 350mb with 78mb free.  So it looks like 8 may need more space....

    Grey

    2012년 7월 14일 토요일 오후 12:22
  • It's strange: When I install with a 100MB partition I get 63.4 of 99.9 used. With a 350MB partition I get 108 of 349 used. But I guess it doesn't really matter on a 2TB disk, if I allocate 250MB more or not. Therefore I changed the script above.
    2012년 7월 15일 일요일 오전 10:55
  • Adding this link back from your first post  for the time zone

    http://technet.microsoft.com/en-us/library/ff715394.aspx

    So the "new" cfg.ini file will only do the WSE12 OOBE (Out Of Box Expereince), therefore it is no good for headless.  Combine a cfg.ini with the above autounattent.xml for a complete headless install.  put both files in the root of the install media.

    cfg.ini sample

    [InitialConfiguration]
    ;Optional, display language can only be one of the installed language
    Language=en-us
    ;Optional, The name of a script that runs after setupComplete.cmd but before the initial configuration begins.
    ;Optional
    Locale=en-us
    ;Optional
    Country=US
    ;Optional
    Keyboard=0409:00000409
    AcceptEula=true
    ;This is only required on a server where an OEM EULA has been specified
    ;by using the OOBE.xml file

    ;Optional. Example: My Company Name
    CompanyName=Contoso
    ServerName=MyServer
    ; Example: CONTOSO
    NetbiosName=contoso
    ; Example: contoso.local
    DNSName=consoto.local
    ; Used to set the user name for the domain admin
    UserName=Grey
    ;The password has to be strong and at least 8 characters
    PlainTextPassword=Passw0rd
    ;. Used to set the user name for the domain standard user account. Ignored in migration mode.
    StdUserName=Grace
    ;. The password for the domain standard user account has to be strong and at least 8 characters
    StdUserPlainTextPassword=Passw0rd
    ;Controls the Watson and automatic update settings
    Settings=None


    Grey

    2012년 7월 18일 수요일 오전 1:04
  • Continued discussion from another thread...

    The idea of this thread is to share how to install Windows Server 2012 (Beta) Essentials on a server without display/keyboard. On my part, I installed it on my old WHS server, which is an enhanced (new CPU, more memory) HP MediaSmart server EX 490.

    What I did was this:

      • Prepare the USB stick (I used the"Windows 7 USB DVD Download Tool"); Also copy autounattend.xml to the USB stick; Plug-in the stick at the back of my server (front USB ports don't boot).
      • Remove all disks from the server.
      • Clean the disk intended as the system disk (I did this in my desktop PC, with DISKPART).
      • Install the cleaned disk in the bottom bay.
      • Turn on the machine, and wait for a long time (it took almost an hour, much longer than an installation on a virtual machine).
      • Browse to the server (http://server/connect)
      • Enter data (product key etc.), and wait some more
      • Once set-up, proceed with connecting the clients

    The autounattend.xml was produced with Windows System Image Manager (aka WSIM).

    Here is the autounattend.xml, which works on the system described above:



    Unattend innstall with .xml file will not work on my EX470. I have followed all instruktions but the installation stops each time after preparing/configuring the disk. No install files copyed/installed. Also tryed with the cfg.ini file too. Have no VGA-cable yet. Any idea how to proceed? Struggeled with these for many days now...
    2012년 10월 8일 월요일 오전 12:45
  • It is proven to work, my guess is your unatend is bad, and or a bad disc


    Grey


    • 편집됨 Still Grey 2012년 10월 8일 월요일 오후 11:52
    2012년 10월 8일 월요일 오후 11:52
  • Is your Ex470 upgraded?  WSE2012 requires 2 GB RAM minimum and the stock EX470 came with 512 MB RAM.

    When I installed WHS2011 on my EX470, I did it by removing the boot drive and installing it in a PC (this is described in http://www.kewney.com/posts/database/installing-windows-home-server-2011-on-hp-mediasmart-ex470-or-ex475).  I didn't try this for WSE as I am using new hardware, but the same approach might work.

    2012년 10월 10일 수요일 오후 6:27
  • The installation installs but when the PC restarts to finish installation... if you do not unplugg the USB drive the installation restarts. Gotta wait to see when the server restarts itself?
    2012년 12월 3일 월요일 오후 8:38
  • Hi, I was windering if you could help me out making a fully unatended file for Server 2012 for an HP EX485 (no possible keyboard or mouse. I never got the recovery disk when i bought it used and i got Server 2012 Standard from Dreamspark with school.
    2012년 12월 6일 목요일 오전 1:14
  • In many cases this process is not necessary. I started the installation on another PC (maybe a PC that is not too modern) with 64bit processor, keyboard and monitor. When I asked the first installation reboot the PC turned off, remove the hard drive and insert it into my EX490. The installation continued and after a while it detected on the network with a ping to the name he had given to the server. From that moment I logged on Terminal Server and continue with the installation.

    Hardware Astracción Layer  in newer versions of Windows is much improved and allows these things.

    • 편집됨 amgl7223 2013년 2월 1일 금요일 오전 11:27
    2013년 2월 1일 금요일 오전 11:26
  • Hello Tinue,

    What processor and memory do you have?

    I want a upgrade to

    2013년 2월 11일 월요일 오후 1:02
  • <?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-US</UILanguage>
               
    </SetupUILanguage>
               
    <InputLocale>de-CH</InputLocale>
               
    <SystemLocale>de-CH</SystemLocale>
               
    <UILanguage>en-US</UILanguage>
               
    <UserLocale>de-CH</UserLocale>
               
    <UILanguageFallback></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">
               
    <DiskConfiguration>
                   
    <Disk wcm:action="add">
                       
    <CreatePartitions>
                           
    <CreatePartition wcm:action="add">
                               
    <Order>1</Order>
                               
    <Size>350</Size>
                               
    <Type>Primary</Type>
                           
    </CreatePartition>
                           
    <CreatePartition wcm:action="add">
                               
    <Extend>false</Extend>
                               
    <Order>2</Order>
                               
    <Type>Primary</Type>
                               
    <Size>122880</Size>
                           
    </CreatePartition>
                       
    </CreatePartitions>
                       
    <ModifyPartitions>
                           
    <ModifyPartition wcm:action="add">
                               
    <Active>true</Active>
                               
    <Format>NTFS</Format>
                               
    <Label>Boot</Label>
                               
    <Order>1</Order>
                               
    <PartitionID>1</PartitionID>
                           
    </ModifyPartition>
                           
    <ModifyPartition wcm:action="add">
                               
    <Format>NTFS</Format>
                               
    <Label>System</Label>
                               
    <Order>2</Order>
                               
    <PartitionID>2</PartitionID>
                           
    </ModifyPartition>
                       
    </ModifyPartitions>
                       
    <DiskID>0</DiskID>
                       
    <WillWipeDisk>true</WillWipeDisk>
                   
    </Disk>
               
    </DiskConfiguration>
               
    <ImageInstall>
                   
    <OSImage>
                       
    <InstallFrom>
                           
    <MetaData wcm:action="add">
            what do I put here
    <Key>/IMAGE/NAME</Key>
                               
    <Value>Windows Server 2012 Essentials</Value>
                           
    </MetaData>
                       
    </InstallFrom>
                       
    <InstallTo>
                           
    <DiskID>0</DiskID>
                           
    <PartitionID>2</PartitionID>
                       
    </InstallTo>
                       
    <InstallToAvailablePartition>false</InstallToAvailablePartition>
                       
    <WillShowUI>OnError</WillShowUI>
                   
    </OSImage>
               
    </ImageInstall>
               
    <UserData>
                   
    <ProductKey>
                       
    <WillShowUI>OnError</WillShowUI>
                       
    <Key></Key>
                   
    </ProductKey>
                   
    <AcceptEula>true</AcceptEula>
                   
    <FullName>[Your Name]</FullName>
                   
    <Organization>[Your Org]</Organization>
               
    </UserData>
           
    </component>
       
    </settings>
       
    <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">
               
    <ComputerName>Everest</ComputerName>
               
    <RegisteredOrganization>[Your Org]</RegisteredOrganization>
               
    <RegisteredOwner>[Your Name]</RegisteredOwner>
               
    <TimeZone>W. Europe Standard Time</TimeZone>
               
    <ProductKey>XXXXX-XXXXX-XXXXX-XXXXX-XXXXX</ProductKey>
           
    </component>
           
    <component name="Microsoft-Windows-TerminalServices-LocalSessionManager" 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">
               
    <fDenyTSConnections>false</fDenyTSConnections>
           
    </component>
           
    <component name="Networking-MPSSVC-Svc" 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">
               
    <FirewallGroups>
                   
    <FirewallGroup wcm:action="add" wcm:keyValue="Remote Desktop">
                       
    <Active>true</Active>
                       
    <Group>@FirewallAPI.dll,-28752</Group>
                       
    <Profile>all</Profile>
                   
    </FirewallGroup>
               
    </FirewallGroups>
           
    </component>
       
    </settings>
       
    <cpi:offlineImage cpi:source="wim:d:/temp/install/install.wim#Windows Server 2012 Essentials" xmlns:cpi="urn:schemas-microsoft-com:cpi" />
    </unattend>
    2015년 10월 17일 토요일 오후 1:59
  • On first glance, this seems to be for 64-bit processor architectures, hence the "amd64" reference. There's also other very specific values in the example which may not work in each and every case.

    With other words: do not consider this example "universal" because it is not.

    2015년 10월 29일 목요일 오전 9:23
  • Not sure I understand your reply.  All Server OS are 64 bit

    Grey

    2015년 10월 29일 목요일 오후 12:19
  • amgl7223: What kind of Terminal Server did you use? And what data to connect to a server to continue installation? Name/password, etc? Please give as much info as possible. I started setup on a desktop computer till the first reboot, then I moved HDD to MSS. What is next? I did not use an XML file because there is no need for that in this way, right?





    • 편집됨 duraley 2016년 9월 28일 수요일 오후 4:54
    2016년 9월 28일 수요일 오후 4:38
  • He meant he RDP (MSTSC) to the name he gave server during setup.  The User would be administrator and the password would be the one entered during setup

    What is MSS?  a Headless box?


    Grey

    2016년 9월 28일 수요일 오후 5:32