Installing Windows Server 2008 on a headless server from a USB disk

I am installing Windows Server 2008 on a new server that has no video card and no DVD drive. It's an interesting challenge to make that one work and I'm relying on using a bootable USB disk and unattend files.

In my case, it turns out the server has a USB interface and using USB to boot is not that hard, assuming your server allows you to boot from USB. Most of them have that option in the BIOS these days. Using a USB stick (also known as flash drive or pen drive in other parts of the world) is usually faster compared to a USB DVD player, with the advantage of being easier to update. Just make sure that, if you're using a USB hub, it's USB 2.0 hub. The older USB 1.x hubs are just too slow...

You need to prepare the USB stick in a certain way for it to boot. In short, to create a bootable USB stick, clean all partitions on it, create a single primary partition, make it active, format it and copy the install DVD files into it. Do all that on Windows Server 2008 to make sure you have the right bootcode after you format (or else you'll have to play around with the bootsect.exe tool to fix it). For Windows Server 2008, you will need about 2.5 GB of space on that USB device (that means you'll likely use at least a 4GB stick).

I found a good reference on how to create a bootable USB device (including the commands for DISKPART) at:
https://blogs.technet.com/jamesone/archive/2006/12/31/bootable-usb-keys.aspx

The other part of it is having the right tools to get the install to start automatically. You will need to work with SYSPREP, IMAGEX and WINPE to create an image with all the the required drivers (if they are not in-box drivers) and get the right setup running with an unattend file. The tools and procedures are included in the Microsoft Deployment Toolkit (MDT), which you can download from
https://www.microsoft.com/downloads/details.aspx?familyid=3bd8561f-77ac-4400-a0c1-fe871c461a89 

Another item that can help with the configuration of that box is the Emergency Management Services (EMS), which allows you to interact with a server via its serial interface (mostly likely USB, since most new systems no longer have a classic RS232 interface). Details on EMS at:
https://download.microsoft.com/download/1/6/1/161ba512-40e2-4cc9-843a-923143f3456c/EMS.doc