Post Reply 
 
Thread Rating:
  • 1 Vote(s) - 4 Average
  • 1
  • 2
  • 3
  • 4
  • 5
iPXE problems with iSCSI Boot and Windows
2016-02-17, 19:24
Post: #2
Wink RE: iPXE problems with iSCSI Boot and Windows
(2016-02-17 00:12)brownmit Wrote:  Well.

<snip>

I may be making a habit of getting frustrated, posting a message to the forums, then figuring it out myself Cool Once again, here's what I learned that may help other people.

First of all, and most importantly, Microsoft has broken installation of Windows 10 via ISCSI. You can get it to deploy the image but you will end up with an inaccessible boot device error when it goes on to the second phase of installation.

The short answer is that what you need to do is to follow this process:
1...Install Windows 10 on a local hard drive
2...iPXE boot with iSCSI sanhook device to a PE environment loaded up with HD copy tools
3...Copy your fully installed Windows 10 HD to the iSCSI device
4...Shut Down, remove local HD, boot to iSCSI device.

There are however, some things you really need to know, that I learned the hard way from various experimentation.

1...With Windows, this will NOT work with undionly.kpxe. You must use the full iPXE stack or when windows switches out of preboot it will lose the connection to your iSCSI drive and you end up with inaccessible boot device.
2...With Windows 8 and later, when you first boot off the iSCSI HD, you will get an error about unsigned drivers. You can deal with this in two ways. One, hit F8 and select the option to enable unsigned drivers, or Two, make sure the PE environment you used in step 2 above has EasyBCD or something similar so you can tweak this flag in the BCD before you reboot.
3...Its incredibly important to have set netX/gateway 0.0.0.0 before your sanboot command otherwise it will take a VERY long time to boot (10 min +)
4...It is helpful to set initiator-iqn properly in your ipxe script. This can avoid issues with secured iSCSI devices.
5...I'm not certain if it's important or not to use root-path; it seemed to be important when doing my Windows 7 iSCSI install testing, but once installed it doesn't seem to be needed.

Here's my boot script that works, again, using the full ipxe.pxe/ipxe.lkrn rather than undionly.kpxe

#!ipxe
set iqn-base iqn.2016-01.com.mydomain
set client mysystem
set initiator-iqn ${iqn-base}:${client}
set root-path iscsi:${next-server}::::${iqn-base}:${client}_d0
set netX/gateway 0.0.0.0
sanboot -k ${root-path} || goto doError

Here's a copy of my script that I used to boot into a PE environment with the iSCSI LUN attached:

#!ipxe

set iqn-base iqn.2016-01.com.mydomain
set client mysystem
set initiator-iqn ${iqn-base}:${client}
set root-path iscsi:${next-server}::::${iqn-base}:${client}_d0
set netX/gateway 0.0.0.0
set keep-san 1
sanhook -d 0x80 ${root-path} || goto doError

set hbase http://<path to pxe/ipxe root of server>
set wpath ${hbase}/rescue64 # path to the PE image
kernel ${hbase}/wimboot || goto doError
initrd ${wpath}/bcd BCD || goto doError
initrd ${wpath}/boot.sdi boot.sdi || goto doError
initrd ${wpath}/bootmgr.exe bootmgr.exe || goto doError
initrd ${wpath}/boot.wim boot.wim || goto doError
boot

:doError
shell
Find all posts by this user
Quote this message in a reply
Post Reply 


Messages In This Thread
RE: iPXE problems with iSCSI Boot and Windows - brownmit - 2016-02-17 19:24



User(s) browsing this thread: 1 Guest(s)