iPXE discussion forum
0x7B when iSCSI booting on alternate hardware - Printable Version

+- iPXE discussion forum (https://forum.ipxe.org)
+-- Forum: iPXE user forums (/forumdisplay.php?fid=1)
+--- Forum: General (/forumdisplay.php?fid=2)
+--- Thread: 0x7B when iSCSI booting on alternate hardware (/showthread.php?tid=5082)



0x7B when iSCSI booting on alternate hardware - digitalis99 - 2012-09-10 06:32

I've built a Win7 machine that's stored on an iSCSI share. I'm using a chain-loaded iPXE rom to mount the share and boot from it. I did the install using a VMWare VM with and emulated Intel Pro 1000 NIC.

I'd like to be able to boot this same image on alternate hardware and NIC's. My thinking was that I'd simply have to add drivers for the alternate NIC's into the image so that Windows can find and connect to the iSCSI share in the second half of the boot phase. I've added drivers using pnputil -i -a _.inf for the network cards I want to support from the VM when it was booted to the iSCSI share.

When attempting to boot on 3 different machines, all with NIC's that match the drivers I added, Windows only boots half-way and then throws the 0x7B bluescreen. The animated Windows logo is still glowing until the bluescreen, so that leads me to believe iPXE itself is working with the other cards just fine. It appears to be the problem that Windows itself either can't find the new network card, can't install a driver for it, or can't use it to connect to the iSCSI share itself.

Does anyone know what trickery I might have to do to Windows to get this to work? Let me know if anyone needs more info.

Thanks!


RE: 0x7B when iSCSI booting on alternate hardware - robinsmidsrod - 2012-09-14 11:03

Is your network card driver service set to boot-start, so that it is available once the windows kernel takes over and continues the iSCSI session?


RE: 0x7B when iSCSI booting on alternate hardware - digitalis99 - 2012-09-14 15:59

In the time it took for my first post to be approved, I actually already solved this. The network card driver needs to be listed in the critical device database section of the registry. Just installing the driver isn't enough for Windows, apparently. The correct entries in criticaldevices makes Windows load the driver before it starts the second phase of bootup. If the driver is loaded then, Windows switches from using the iPXE provided disk to its own initiator connected to the same disk. If the driver isn't loaded, no PnP process can run to find a driver...and the system bluescreens.

I didn't need to set any driver service to boot-start, as Windows just didn't need that. Win7 and Server 2008 R2 require the wfd (I think that was the name) driver unbound from any iSCSI boot adapter. That's very difficult to do in an offline mode, so I ended up just disabling that service entirely. So the steps are:

1) Install the driver for the new NIC
2) Add the relevant entries to the cddb in the registry so that driver loads on boot
3) Disable the wfd service

Do all of that, and you've got it made.


RE: 0x7B when iSCSI booting on alternate hardware - small1234 - 2012-11-20 02:40

can i ask u about what means "Add the relevant entries to the cddb in the registry so that driver loads on boot"
and what is the full name of "wfd service"
(2012-09-14 15:59)digitalis99 Wrote:  In the time it took for my first post to be approved, I actually already solved this. The network card driver needs to be listed in the critical device database section of the registry. Just installing the driver isn't enough for Windows, apparently. The correct entries in criticaldevices makes Windows load the driver before it starts the second phase of bootup. If the driver is loaded then, Windows switches from using the iPXE provided disk to its own initiator connected to the same disk. If the driver isn't loaded, no PnP process can run to find a driver...and the system bluescreens.

I didn't need to set any driver service to boot-start, as Windows just didn't need that. Win7 and Server 2008 R2 require the wfd (I think that was the name) driver unbound from any iSCSI boot adapter. That's very difficult to do in an offline mode, so I ended up just disabling that service entirely. So the steps are:

1) Install the driver for the new NIC
2) Add the relevant entries to the cddb in the registry so that driver loads on boot
3) Disable the wfd service

Do all of that, and you've got it made.



RE: 0x7B when iSCSI booting on alternate hardware - ntdeveloper31 - 2013-09-03 09:33

@digitalis99:

Did you actually got this to work? Adding few Device-Id entries into CDDB did not solve my problem. Infact, lot of other forums also say that adding only CDDB entries does not solve this problem and hence this is still vastly unanswered.

Assuming, I must have entered wrong Device-ids in CDDB, I've few questions for you:
1. How did you install the driver for new NIC? Using PnPUtil? Because it neither creates Service entry in registry nor copies the .sys file in "drivers" dir. I did both of these things manually in addition to using PnPutil. Did you added Service entry inside registry and copied .sys file explicitely?
2. How to add entries in CDDB? I don't think there is any tool that does this . I just looked at the .INF file for various device-ids, added some of them in CDDB with usual values (i.e. ClassGUID, Service, DriverPackageId etc) manually. Is it the correct method?
3. Did you had any other components installed such as Microsoft hotfix(http://support.microsoft.com/kb/976042), Microsoft iSCSI initiator boot version etc.