You CAN install Vista, or server 2008 from a hard disk

The internets seem to think that the only way to install Vista or Windows Server 2008 when you don’t have a DVD drive is to use a USB hard / flash drive. Even Microsoft seems to think so.

Thankfully, there is one site that has some directions that work!

I am going to paraphrase based on my experience.

1. Format the hard disk as NTFS.
2. Copy the complete content of the windows install DVD to the hard disk.
3. Start an Elevated command prompt (if you are doing this in vista+), change to the DVD drive (NOT the hard drive as the directions state), and run the folowing:
Note: d: is the DVD drive; x: is the hard drive from which you are planning to install.

cd /boot
bootsect /nt60 x:

You should not get any errors.

(For good measure, I also used diskpart to set the partition as active. bootsect may do the same thing…)

4. Your prep work on the drive is done. Go throw it into the target machine, make sure it is the boot drive, and fire it up! It will boot into the installer. DO NOT go through with the installer – apparently it doesn’t work.

5. Choose the repair option, skip the partition selection, and choose command prompt.

Type the following:

cd /boot
move bcd bcd.bak
bcdedit /createstore
cd ../sources

The installer will start up again, over top of the already running installer. This is OK.

6. Go through the installer as normal, with the following notes:
a. After pressing the first Next button, it may hang for a short while – again, this is ok, it will continue.
b. If you get a weird error message while trying to select a destination drive, make sure you partition it first. This should fix the problem.

If you are lucky, you can remove the install drive, and everything will work. If you are like me, windows placed the boot loader on the D: drive instead of the C: drive, so you will get the dreaded “BOOTMGR is missing” error, or simply an error saying that there is no bootable disk. Here’s what to do:

Fixing the boot steps (incomplete)

Note: this assumes that your install drive is D:, your destination drive is C:, and that the boot loader was installed on D:

1. Boot into your freshly installed windows.
2. Flag partition as active (this may not be necessary):
a. open an elevated command prompt
b. Run “diskpart”
c. Type “list disk” to get a list of drives
d. Look for the drive that matches the parameters of the C: drive. In my case, it was disk 0, so I typed “sel disk 0”
e. type “list part” to list the partitions. in my case there was only 1, numbered 0, so
f. type “sel part 0”
g. type “active” to flag the partition as bootable
h. type exit to leave
3. Setup boot partition

cd /boot
bootsect /nt60 c:

You will receive an error about locking, but it should be ok.
4. copy over bootmgr

cd \
xcopy /h bootmgr c:\

5. Copy all the unlocked contents of d:\boot to c:\boot

robocopy d:\boot c:\boot /mir /r:0

6. Export the BCD file to the c: drive

bcdedit /export c:\boot\BCD

7. Look through the BCD for any references to D:
This command lists out the boot settings.

bcdedit /store C:\boot\BCD /enum all /v

In my case, three headings were pointing to D: (Windows Boot Manager,Windows Memory Tester, and Windows Legacy OS Loader)
Use the value of the identifier field (yours may be the same) in the following commands to change the copied BCD to point to the C: drive.

bcdedit /store C:\boot\BCD /set {9dea862c-5cdd-4e70-acc1-f32b344d4795} device partition=c:
bcdedit /store C:\boot\BCD /set {b2721d73-1db4-4c62-bf78-c548a880142d} device partition=c:
bcdedit /store C:\boot\BCD /set {466f5a88-0af2-4f76-9038-095b170dc21c} device partition=c:

Note: You may have to replace the value between the curly braces.

You are done. You can now safely remove the install disk, and windows server 2008 (this will also work for Vista, but there are much easier ways to do so there) will boot from your C: drive without the D: drive present.

I used the following post, as well as the poster’s resources to come up with this solution:

Leave a Reply

Your email address will not be published. Required fields are marked *