iPXE problems with iSCSI Boot and Windows
|
2016-02-17, 19:24
Post: #2
|
|||
|
|||
RE: iPXE problems with iSCSI Boot and Windows
(2016-02-17 00:12)brownmit Wrote: Well. I may be making a habit of getting frustrated, posting a message to the forums, then figuring it out myself 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 |
|||
« Next Oldest | Next Newest »
|
User(s) browsing this thread: 1 Guest(s)