I know exactly what he issues is. It’s not really fixable in Win 7, and I don’t know if it’s improved or not in Win 8.
Basically, when you boot on different hardware, the OS needs to install the new NIC drivers, and installing NIC drivers requires running the user mode network class installer. You can’t run the user mode network class installer unless you can boot, access the system disk, and run user mode code, so you have a chicken and egg problem that has no good solution. Other kinds of storage than software iSCSI, can have the minimal drivers installed without running any user mode code (using the critical device database).
Your best bet might be to write a WinPE repair script/program. When the OS can’t boot after migrating to different hardware, it will often attempt boot repair by booting a copy of WinPE from a ramdisk. Last I knew, the default boot repair does not fix iSCSI boot disks. The boot to WinPE is done by iSCSI BIOS (or I supposed the UEFI equivalent, or something like gPXE/iPXE chain loading via PXE) loading of the WinPE ramdisk. Once WinPE is running, you can do device detection, install of the correct NIC drivers, and then you will need to clone that driver install info into the real boot disk, which is not a documented procedure. If this all worked correctly, when you reboot again, the real OS will have the correct NIC drivers loaded.
I believe I know the patch you’re talking about, and believe that only works if it’s the same hardware kind in the same slot. When by default they used PCIe serial numbered based PnP instance naming, it became a problem when moving images between identical servers or when hardware had to be replaced due to failures. The need for serial number based instance ids was partially due to servers with dynamically created PCIe devices, as a device might dynamically be added that changed the PCIe BDF of a boot device, but it’s serial number was stable.
A number of people have looked into this some years ago there was a discussion thread on a gPXE (now iPXE) forum.
The easy solution is boot a thin client that talks via remote desktop to a server running a Windows 7 VM.
Jan
-----Original Message-----
From: xxxxx@lists.osr.com [mailto:xxxxx@lists.osr.com] On Behalf Of xxxxx@hotmail.com
Sent: Tuesday, July 23, 2013 1:49 AM
To: Windows System Software Devs Interest List
Subject: [ntdev] How to boot windows 7 over iscsi with different hardware
Hi,
As the title suggests, I’m looking for something that will help me to boot windows7 over iscsi with different NIC.
Here’s the current situation,
I’ve iscsi set-up on ubuntu server edition with dhcp server up and running on it. All the settings related with the dhcp configuration have been taken care of (You can be sure of this).
Windows 7 has been installed on the iscsi disk thr’ some particular machine (it’s basically a thin-client, let’s say x1). It has drivers corresponding to NIC of this machine. So this way I have a windows7 iscsi image and I can diskless boot from this image from the machine (x1) as many times as I want to without any problem and everything works fine.
Problem is when I try to boot from some completely different machine (say, thin-client, x2-with different NIC than x1), the booting process halts at “Starting Windows” windows logo.
The microsft hotfix works when ALL NIC going to be used to boot from iSCSI are present in computer. How to add NIC when it?s different brand (the one which was not present during iSCSI installation)?
You can conisder the scenario where 2nd machine is just a clone of 1st machine. And while booting from 2nd machine I’m just changing the NIC thr’ hypervisor settings. Do I need to write some driver which will enable me achieve this? If yes, what its functionality should be? Have there been any previous successful attempts at this? (As per my reasearch, there haven’t been any, not counting the commercial ones.)
This question may seem like a bit out of place for NTDEV but after several weeks of unsuccessful research & tryouts I thought this would be the best place to get further info.
NTDEV is sponsored by OSR
Visit the list at: http://www.osronline.com/showlists.cfm?list=ntdev
OSR is HIRING!! See http://www.osr.com/careers
For our schedule of WDF, WDM, debugging and other seminars visit:
http://www.osr.com/seminars
To unsubscribe, visit the List Server section of OSR Online at http://www.osronline.com/page.cfm?name=ListServer