iPXE discussion forum

Full Version: Blank screen when wimboot starts
You're currently viewing a stripped down version of our content. View the full version with proper formatting.
Hello Everyone,

I recently wanted to install Win 7 using Robin's scripts located here :
First, I would like to thank you for sharing all this stuff !! Smile that was very useful to me and probably for many others.

So back to my problem, I'm having problems with winboot that doesn't want to execute, I get a blank screen whenever I reach this final step in the boot process.

here's an excerpt of what I am trying to make work :
echo Starting Windows 7 ${arch} installer for ${initiator-iqn}

# Force gateway to be the iSCSI target server (kludge for stupid window behavior)
set netX/gateway ${iscsi-server}

# Hook iSCSI drive
set root-path ${base-iscsi}:${hostname}.boot.windows7
sanhook ${root-path} || goto failed

# Start Windows 7 installer DVD
#sanboot --no-describe --drive 0x81 ${sanboot-url}windows-7/ultimate-${arch}-en.iso || goto failed
# Better solution, according to Oliver Rath on the mailing-list
# Requires massive amounts of RAM, though
#initrd windows-7/ultimate-${arch}-en.iso
#chain memdisk iso raw || goto failed

# This method uses wimboot
set base-url windows-7/ultimate-${arch}-en
kernel wimboot
initrd ${base-url}/bootmgr                     bootmgr
initrd ${base-url}/boot/bcd                    BCD
initrd ${base-url}/boot/fonts/wgl4_boot.ttf    wgl4_boot.ttf
initrd ${base-url}/boot/boot.sdi               boot.sdi
initrd ${base-url}/sources/boot.wim            boot.wim
boot || goto failed
goto start

Everything goes smoothly, as you can see in the syslog screenshot below :

[Image: birm1v.png]

and when it reaches the step where it needs to launch wimboot I get a blank screen right after the screenshot below :

[Image: osbtqx.jpg]

I have read on this forum that I have to wait sometimes for a long time, well even after 30 minutes of wait nothing happens, still blank screen... After doing some investigations, I noticed that the network connection gets lost about 2 seconds after the attempt of launching the wimboot file, and never comes back... My NIC is a : RTL8111E (if it helps)

Does anyone ever solved this problem, because I've seen many people here on this forum having the exact same problem, but with no solution, I'm guessing it's a bug that needs to be addressed, or maybe I'm doing something wrong...

Any help or idea is welcome Smile


Oh I forgot to tell you something important, if I disable only this one line by commenting it :

#sanhook ${root-path} || goto failed

(means I don't hook anything)

The Windows 7 installation process loads, and I'm able to run the installation normally ! all this happens in less than 10 seconds (so it's very fast), of course I can't install it on the my san target since I didn't hook it in the first place... This is a really strange behavior.
You forgot to mention which version of WinPE you're using. I've heard rumors that the newest one, based on Windows 8 or 8.1 is giving people some trouble. You might have more luck with the one based on the Windows 7 (can't recall which version number it has in WinPE terms).

But ultimately, it seems very odd that you're able to load everything successfully if you disable the sanhook line. I'd try to packet capture the communication between the iPXE client and the iscsi server to figure out what might be going on there. If you're able to increase the debugging level on your iscsi server, that might help too. You could also try to recompile ipxe with DEBUG=iscsi,scsi,int13 and see if it gives any clues. We could also be dealing with some strange windows issue, which most likely must be debugged using windbg. That is not something I'm familiar with, unfortunately.
I would like to share my experience as:

1. Download the source and complie ipxe.pxe (for WINPE - it is slow, not GbE in my case, but it works) and undionly.kpxe (for booting WIN7).
2. Integrate the corresponding network driver to the WINPE & WIN7 source (using dism & imagex).
3. Disable the corresponding interface in the BIOS if there is another internal harddisk in the target computer which has Windows installed.
4. Low level format the iSCSI LUN (I use HDDErase to wipe the MBR and partition info.). DO NOT format at this point.

Boot to WINPE:
1. Use WINPE 3.1 for installing WIN7, if using WINPE 4 or above, the WIN7 installer will ask for WIN 8 network card driver - which I think is based on the version of WINPE, and to maintain the network connectivity, and thats why have to use WINPE 3.1 for installing WIN7SP1 (unless the WINPE and WIN7 do have the driver by default - which I have no experience).
2. Network boot using ipxe.pxe, perform "dhcp", "set keep-san 1" & "sanboot" (whould give error, and to preserve the drive instead of using "sanhook") command.
3. "chain" the WINPE Boot script - remember to imgfree the script itself (check using "imgstat") before booting to WINPE.

1. perfrom format of the iSCSI LUN using diskpart, i.e.
select disk #
create partition primary
select partition 1
format fs=ntfs quick
2. Connect to the share folder which contains the WIN 7 setup files using "net use" (use option /persistent:NO)
3. execute the setup.exe

Reboot to continue WIN7 installation:
1. I switched back to use undionly.kpxe such that it boots faster.
2. sanboot the iSCSI LUN where the WIN7 is installed.
2. I did experience BSOD during the first reboot. I did boot into safe mode, and it state that WIN7 cannot continue the installation, I did reboot again (normal) and it just works fine and continue the installation.

I am still working on how to get ipxe.pxe to have my network card to connect at Gb speed. The onboard network card is i217-lm, i did modify "intel.c" in order to recongnize this card, but not yet able to connect at Gb speed.

Equipment I use:
Synology DS713+ as DHCP, TFTP, HTTP & share folder.
Lenovo M93p Tiny.
Apple Airport Extreme & Dlink GbE switch.

Hope this helps. Smile
I can confirm the exact same behaviour (black screen) using a Winpe 8.1 with iscsi provide by Snology NAS. As soon as I remove the sanboot line it boots normal. I'm using a Intel NUCD54250WYKH.

Snowbird, did you have any findings in the meantime?
You should try upgrading to the latest version of wimboot. There's been a flurry of changes these last days. The recommended iPXE script to start wimboot has been quite simplified, and a pause option has been added so you can verify that everything looks good before you boot into WinPE.
Well, I did use the latest Wimboot version.

(2014-09-05 09:44)robinsmidsrod Wrote: [ -> ]You should try upgrading to the latest version of wimboot. There's been a flurry of changes these last days. The recommended iPXE script to start wimboot has been quite simplified, and a pause option has been added so you can verify that everything looks good before you boot into WinPE.
madmax1404: Did you use the set netX/gateway hack? You might have some luck by modifying the BCD to be more verbose. It might shed some light on where it stops. It would also be beneficial if you try older version of WinPE and/or 32/64 bit versions to figure out exactly where you're getting bitten. If you have access to it, connecting a serial port and attaching windbg might give you useful details, if you know how to read them. Also, if you're testing this out in a virtual machine it might be beneficial to also test it on bare metal to rule out hypervisor bugs.
Reference URL's