Skip to content

Windows 7 Pro 64Bit

jonathanherbst edited this page Feb 8, 2014 · 1 revision

Installing directly to an iSCSI drive:

What I used:

  1. A computer that can boot into iSCSI, and http enabled ipxe. I built my ipxe image using http://rom-o-matic.eu/ and have my dhcp server point to that image on a tftp server.
  2. A usb drive with the windows installer and network card drivers (inf, cat, sys).
  3. An iSCSI target to install to.
  4. grub4dos installed on an http server.

What I did:

  1. I configured my bios to net boot.
  2. I pressed ctrl-b to enter the ipxe shell when prompted.
  3. I entered the following commands to boot my windows installer:
dhcp net0
set net0/gateway 0.0.0.0
set keep-san 1
sanhook iscsi:<targetHost>:<username>:<password>:<lun>:<targetIQN>
chain http://server/grub4dos/grub.exe --config-file="root (hd0,0);chainloader +1"
  1. When the windows installer got to the select hard drive screen no hard drives showed up. I clicked on Load Drivers and selected the folder where I put my network drivers. The installer loaded my drivers and my iSCSI drive came up. I proceeded to install to that drive.
  2. When the Windows installer rebooted my machine I booted into the iSCSI drive with the following ipxe commands:
dhcp net0
set net0/gateway 0.0.0.0
set keep-san 1
sanboot iscsi:<targetHost>:<username>:<password>:<lun>:<targetIQN>
  1. Windows rebooted again and I used the same command in step 5 to boot again.
  2. When windows fully booted up it could not connect to the internet. This was because Windows statically set the gateway to 0.0.0.0. I tried rebooting without setting the gateway to 0.0.0.0, but Windows couldn't find the iSCSI drive this way. The way I got around this was to write a startup script that removes the 0.0.0.0 gateway from the static routes:
route delete 0.0.0.0
ipconfig /release
ipconfig /renew

Notes

For the Windows installer to see the iSCSI drive it must be in the iSCSI Boot Firmware Table (iBFT). The Windows iSCSI Initiator does not put the drive here so you must use a net boot loader, like ipxe, to put your iSCSI drive in the iBFT. I wasn't able to find a way to get gpxe to write to the iBFT, the instructions, http://etherboot.org/wiki/sanboot/win2k8_iscsi_install, did not work for me as gpxe did not put the drive in the iBFT.

The windows installer makes a static route to your iSCSI drive through your network's gateway, so you must either tell your gateway to send those packets back to the lan, or disable the network gateway in the net boot loader. I opted to disable the network gateway because routers do this to protect from hackers.

I tried installing to the iSCSI drive from VirtualBox, installed my network drivers, and then booted from my computer. Boot hung for a few minutes then I got a blue screen of death and my machine restarted. This can be fixed with http://support.microsoft.com/kb/2344941, but new nic needs to be in the registry to do this, mine wasn't after the BSoD.

Clone this wiki locally