How do I PXE boot multiple Windows 7 desktops off the same image?

Solution 1:

To answer my own question. It is possible using iPXE and iSCSI or AoE. The idea is to either replace the network card option ROM with iPXE or to chainload ipxe and then do a sanboot.

iSCSI is the easier of the two san protocols because you can actually install Windows 7 directly to an iSCSI target. This is because iSCSI support is built into windows 7 while AoE is not.

See: archive.org mirror of windowsdiskless.wordpress.com

Or: archive.org mirror of windowsdisklessaoe.wordpress.com

Noting of course that although iSCSI supports multiple machines accessing the same target with NTFS. Corruption will occur. Either a Copy on Write mechanism at the back end needs to be employed, or create a base image (template) and copy that to a newly exported target.

I ended up patching the open source iscsi target from freebsd and adding copy on write. So I could use the same LUN but the writes were directed elsewhere. I was able to direct them to local RAM or to another file on the server. I'm not using this anymore though, it was a proof of concept.

Solution 2:

The scenario you describe essentially amounts to the use of each workstation as a thin client to access a centrally located desktop environment. It would be highly impractical for Windows 7 to boot from PXE even if it could be done.

Whenever PXE is used to boot, it downloads the entirety of the boot image to the client system, which would mean several GB of transfer at each boot.

Ideally, this scenario is accomplished by keeping the desktop environments on the network in the central location. In a Virtual Desktop Infrastructure (VDI) environment, this is accomplished using virtualization to allow separate virtual desktop environments to reside together on hardware, the virtual environments are provided to the clients through a manager. In a session based environment, each user’s desktop environment launches natively on the server and is brokered to the clients through a technology like Remote Desktop Services.

In both instances, the workstation must still run an operating system; however it is typically a very lightweight operating system providing a basic interface for the hardware and a client for redirection to the server hosting the desktop environments. For customers with Software Assurance, Microsoft provides Windows Thin PC as a lightweight operating system designed to connect through Remote Desktop Services to a Windows Server. Additional features supported like RemoteFX support for enhanced graphics, DirectAccess VPN connectivity, and BitLocker encryption help to provide the optimum thin client operating system for repurposing desktop hardware.

If the above sounds like the right route for you, you can find more information, guides for IT professionals, access to trials and betas, and much more in the Desktop Virtualization Center of the Springboard Site on TechNet.


Solution 3:

It's not possible to boot Windows 7 over PXE or anything similar to that. Windows PE (Pre-Installation Environment; which is licensed only for maintenance and installation purposes and has nothing like a normal Windows Desktop) can be PXE booted. Certain other versions of Windows that you're not interested in can also be PXE booted, but nothing like a Desktop OS.

Most Enterprise-grade iSCSI targets can do thin provisioning, where they use the same base image for all systems and only the differences take up extra space. Also, Windows doesn't support single instance boot (yet; it's something MS has been kicking around internally for a while now). So each computer does need to see different storage, they can't yet share.


Solution 4:

not possible to use same image, but you can use the deduplicated filesystem to use a lot of cloned images and safe disk space, i think the result will be the same.

Try to use my distro with SDFS, OpenDHCP for simple configuration and AoE to boot diskless Windows...

http://windowsdisklessaoe.wordpress.com

and the preview release of distro here:

http://susestudio.com/a/UZQFsW/windows-diskless-with-aoe


Solution 5:

xMy solution for identical problem:

Hardware: Igel Thin Client (winNET p680, 1.5 Ghz, 1 GB CF, 1 GBit NIC in pci)

does a IPXE-Boot to iSCSI-disk with Windows 7 ThinPC (ISCSI is located on nas4free)

The Steps are:

  1. Format USB / CF with FAT32 with freeware USBFormat
  2. Install grub4dos on USB / CF and copy files "grldr" an "menu.lst" from grub4dos directory to USB / CF with editor change menu.lst

    default 0

    title Windows ThinPC

    kernel /ipxe.lkrn

  3. build with "rom-o-matic.eu" ipxe.lkrn and save it after download on USB /CF choose advanced and linux kernel Attention 1: only mark option for booting iSCSI, rest unchanged Attention 2: Embedded script is (change ip an iqn !):

    "#!ipxe

    dhcp net0

    sanboot iscsi:192.168.???.???::::iqn.2007-09.jp.ne.peach.istgt:disk?

    set keep-san 1"

    With Virtualbox I installed a Windows 7 TC VM. The disk has to be VHD with fixed size (
    7 GB and later expanded on LUN to 25 GB).
    Then I "restored" with winimage 9.0 the VHD to iSCSI from my Windows machine.

Remark for owners of Igel: The Igel TC has now dual monitor in Windows 7 (driver from Top4download 22.00.01u). For Audio use Vinyl Deck. The Igel performs like a desktop. The processor isn't lame.


The Solution from windowsdiskless isn't smart and simple and did not work for me.