Doing an unattended install of Windows 8 Pro on the HP MediaSmart Server (Ex470)

Recently I’ve wanted to experiment with whether Windows 8 would make a good home server (since there appears to be no future for WHS now, unfortunately).

Rather than buy some nice NAS form factor hardware to test things out, I thought maybe I would try to get Windows 8 to install on my aging Ex470. Its also super cute hardware, so I wanted a reason to run it some more.

Note: My Ex470 has the stock processor, but I have upgraded the RAM. The stock processor meets Win8’s minimum requirements but the stock RAM does not. If you want to run Windows8 you will need to at least upgrade your memory to a sufficient amount for Windows 8 (1GB). There are plenty of guides for how to accomplish this out there.

The problem, though, is that it is a completely headless machine. People out there have built various VGA adapters that you can buy to hook it up to a display, but one of my goals for this experiment was not to spend any excess money on it (I’ve just spent some cash on computer upgrades, and need to give it a rest for a while).

The solution? I decided to try and do a completely unattended install of Windows 8. There are a few challenges to doing this on the Ex470, though:

  1. You can’t see the bios screen to get it to boot off USB.
  2. It does not have a VGA hookup, so Remote Desktop MUST be enabled from the get go, along with the associated user accounts to allow for login.

Point number 1 is not a big deal. Other Ex47x enthusiasts out there have figured out the correct sequence of key presses to get the unit to boot off usb.

Point number 2 is also surmountable by application of some wizardry in the Windows System Image Manager.

So, how do we do it?

Note: What I’m going to describe below involves wiping the system disk in the Media Smart Server. Please make sure anything on that disk is backed up and its best to make sure no other disks are inserted into your server when doing any of the steps to follow. You can reinsert them after Windows 8 is installed.

First, we follow the first part of these directions to get the Windows System Image Manager set up to create our answer file, but there are a lot of settings from the latter part of the document that we do not want, because the purpose of that document is to get the machine to boot into audit mode, so you can mess around and test before putting the machine into OOBE (out of box experience?) mode. We don’t want any of that. We want the machine to boot into a fully usable state, complete with enabled Remote Desktop, A computer name, and an account to log onto.

So, add these components to the configuration passes (the way described in the document). For the ex47X you mostly want components to be prefixed with AMD64. I’m not sure about the newer MSS hardware, you may need to adjust some things to accommodate.

  • Pass: WindowsPE (when you right click the components to add, as described in the document, select this as the pass)
    • amd64_Microsoft-Windows-International-Core
      • Fill out InputLocale, SystemLocale, UILanguage, UserLocale (I set them all to en-US)
    • amd64_Microsoft-Windows-International-Core/SetupUILanguage
      • Fill out UILanguage (Again, I picked en-US, for my case)
      • WillShowUI -> OnError
    • amd64_Microsoft-Windows-Setup/DiskConfiguration/Disk
      • DiskId -> 0
      • WillWipeDisk -> true (Note! This means we are going to wipe the first disk! Make sure nothing important is on it, and best off just have the one disk in the MSS when running this)
    • amd64_Microsoft-Windows-Setup/DiskConfiguration/Disk/CreatePartitions/CreatePartition
      • Extend -> true
      • Order -> 1
      • Type -> Primary
    • amd64_Microsoft-Windows-Setup/DiskConfiguration/Disk/ModifyPartitions/ModifyPartition
      • Active -> true
      • Format -> NTFS
      • Label -> Windows (But you can call it whichever 😉 )
      • Letter -> C
      • Order -> 1
      • PartitionId -> 1
    • amd64_Microsoft-Windows-Setup/ImageInstall/OSImage
      • WillShowUI -> OnError
    • amd64_Microsoft-Windows-Setup/ImageInstall/OSImage/InstallTo
      • DiskID -> 0
      • PartitionID -> 1
    • amd64_Microsoft-Windows-Setup/UserData
      • AcceptEula -> true
    • amd64_Microsoft-Windows-Setup/UserData/ProductKey
      • Key -> The windows product key you want to use..
      • WillShowUI -> OnError
  • Pass: Specialize
    • amd64_Microsoft-Windows-Shell-Setup
      • ComputerName -> Whatever you want to call the server (I chose Server8)
      • ProductKey -> The windows product key you want to use.
      • Registered Owner -> Your Name
    • amd64_Microsoft-Windows-Shell-Setup/OEMInformation
      • HelpCustomized -> false
    • amd64_Microsoft-Windows-TerminalServices-LocalSessionManager
      • fDenyTSConnections -> false  (this enables RDP)
    • amd64_Microsoft-Windows-TerminalServices-RDP-WinStationExtensions
      • SecurityLayer -> 1
      • UserAuthentication -> 0 (from my understanding, these allow you to Remote in from older versions of Remote Desktop. Check the online doc for more options here).
    • amd64_Networking-MPSSVC-Svc/FirewallGroups/FirewallGroup
      • Active -> true
      • Group -> Remote Desktop
      • Key -> rd1
      • Profile -> all (these settings add an exception to the firewall for Remote Desktop)
  • Pass: auditSystem
    • amd64_Microsoft-Windows-Shell-Setup/UserAccounts/AdministratorPassword
      • Value -> The Administrator password you want.
  • Pass: oobeSystem
    • amd64_Microsoft-Windows-Deployment/Reseal
      • forceShutdownNow -> false
      • Mode -> OOBE
    • amd64_Microsoft-Windows-International-Core
      • InputLocale -> Your input locale (for me, en-US)
      • SystemLocale -> Your system local (for me, en-US)
      • UILanguage -> Your UI language (for me, en-US)
      • UserLocale -> Your User locale (for me. en-US)
    • amd64_Microsoft-Windows-Shell-Setup
      • TimeZone -> your time zone (for me Eastern Standard Time). Search for this setting online for the different options you can put.
    • amd64_Microsoft-Windows-Shell-Setup/OOBE
      • HideEulaPage -> true
      • HideOEMRegistrationScreen -> true
      • HideOnlineAccountScreens -> true
      • HideWirelessSetupInOOBE -> true
      • NetworkLocation -> home
      • ProtectYourPC -> 1
    • amd64_Microsoft-Windows-Shell-Setup/UserAccounts/AdministratorPassword
      • Value -> The administrator password you want to use (note: I think the admin account is still disabled by default though)
    • amd64_Microsoft-Windows-Shell-Setup/LocalAccounts/LocalAccount
      • DisplayName -> your display name
      • Group -> Administrators (for ease of remoting, you can change this later)
      • Name -> the user id
    • amd64_Microsoft-Windows-Shell-Setup/LocalAccounts/LocalAccount/Password
      • Value -> The password for the user account.

You can now validate (Tools -> Validate Answer File) and then save the answer file as Autounattend.xml. Then, make a bootable usb of the windows 8 install and put that xml file in the root of the key. Then:

  1. Make sure you backup anything useful on the system drive of the server, because its going to be wiped!
  2. Hook up that system drive to another machine and delete any partitions on it (the answer file we created above doesn’t seem to accomplish this, although you could probably add the relevant setting in there somewhere)
  3. You will have to repeat number 2 if something goes wrong and the install stops halfway.
  4. Put JUST the system drive into the Media Smart Server.
  5. Start with the server off.
  6. Insert the usb key with the windows 8 install and the Autounattend.xml file into the bottom usb port on the back of the server.
  7. Plug a usb keyboard into a different port on the server.
  8. Turn the server on and immediately start jamming the f12 key. Continue this until the rightmost led is a steady blue.
  9. Hit the down arrow 7 times and then hit enter.
  10. Windows 8 should now be installing. It will take a little while.
  11. If you can log onto your router, do so and keep refreshing the dhcp clients list, if you have a network cable hooked up to the MSS, eventually you should see the ComputerName that you recorded above show up. At this point you should be able to Remote Desktop into the machine using the credentials for the User Account that you created in the answer file above.

If your USB has an activity indicator light, you can make your job a bit easier by watching the indicator light to see that it starts buzzing away after you hit enter in step 9. This should confirm that the install has indeed started.

Good luck! Hopefully I haven’t missed a setting in what I have described above. Let me know if it works for you.



9 Responses to Doing an unattended install of Windows 8 Pro on the HP MediaSmart Server (Ex470)

  1. Jeff Rose says:

    Hey Graham,

    Thanks for this. I used your instructions to build my own answer file in WSIM and I was able to install Windows 8 Pro on my EX485. The only difference was that the BIOS in the EX485 already has the USB before the hard drive, so it works without a keyboard.

    • Graham Murray says:

      Awesome, glad it worked out 🙂

      • Alvin says:

        Hello Graham, I have a EX485 also and would like to install windows 8 also. Can I use your answer file? Can you help me please?

      • Graham Murray says:

        hi guys, i didnt post my answer file because i wasnt sure how to sanitize it, but then let you easily fill in the details you needed. The nature of what you are doing here requires storing passwords, etc. If you filkow these steps, though, youll end up with the answer file.

  2. Mark Ciliberti says:

    Hey Graham,
    I have an EX495. I followed your directions but when I try to install the right most LED flashes lavander and everything stops. Any idea what is causing this?

  3. Christopher LeBlanc says:

    Can you please link the answer file for download.

  4. Hey Graham thank you so much for this! I saw your post on WeGotServed. Well I got a few questions:

    1. Why did you choose Windows 8 over WS 2012 Essentials?

    2. Would this also work to install WS 2012 Essentials?

  5. Vava Ovav says:

    Hi Graham, I’m going to try these instructions, but I’m thinking that I should install x84 version.. since there is only 2GB RAM in my EX470 (after modding) it only makes sense to have a 32-bit OS. Was there a particular reason you chose 64-bit OS? Thanks a lot — Vava

  6. Vava Ovav says:

    … oops. typo. I meant to say “x86” 🙂

Leave a Reply

Fill in your details below or click an icon to log in: Logo

You are commenting using your account. Log Out /  Change )

Google+ photo

You are commenting using your Google+ account. Log Out /  Change )

Twitter picture

You are commenting using your Twitter account. Log Out /  Change )

Facebook photo

You are commenting using your Facebook account. Log Out /  Change )


Connecting to %s

%d bloggers like this: