Hey Terin! Nice post!<p>I also netboot Windows this way! To run a 20 machines in my house off the same base disk image, which we use for LAN parties. I have code and an extensive guide on GitHub:<p><a href="https://github.com/kentonv/lanparty">https://github.com/kentonv/lanparty</a><p>It looks like you actually figured out something I failed at, though: installing Windows directly over iSCSI from the start. I instead installed to a local device, and then transferred the disk image to the server. I knew that building a WinPE environment with the right network drivers would probably help here, but I got frustrated trying to use the WinPE tools, which seemed to require learning a lot of obscure CLI commands (ironically, being Windows...).<p>You observed some slowness using Windows over the network. I did too, when I was doing it with 1G LAN, but I've found on 10G it pretty much feels the same as local.<p>BTW, a frustrating thing: The Windows 10->11 updater also seemingly fails to include network drivers and so you can't just upgrade over iSCSI. I'm still stuck on Windows 10 so I'm going to have to reinstall everything from scratch sometime this year. Maybe I'll follow your guide to use WinPE this time.
> You probably want to remove the disks anyways so Windows doesn’t install its boot manager to an EFI System Partition on a local disk. To boot with iPXE later, you’ll want Windows to create an EFI System Partition on the iSCSI disk. ↩<p>Oh the frustrations I’ve had with Windows and more than one disk during install. For <i>months</i> I had Windows installed on SSD, except the bootloader was on a HDD. I didn’t even realise till I removed the HDD and got the familiar no boot drive found.<p>Turns out if a drive has Windows on it, and then you decide to install Windows on a new drive, it will detect that bootloader on the old drive and use that. Instead of putting it on the drive you just asked it to install Windows to.<p>Lesson learned here is always unplug any other drives when installing Windows!
I'm going to try this out later! Hopefully it works with a Unix iSCSI daemon.<p>I have been doing this with a lot of my machines at home, and it's been awesome. Swapping what OS boots on what machine is as simple as symlinking a MAC address to a directory on my TFTP server.<p>I wrote up some notes for doing this on Unix systems: <a href="https://ahepp.dev/2024/08/05/linux-without-hdds.html" rel="nofollow">https://ahepp.dev/2024/08/05/linux-without-hdds.html</a><p>Looking at it again now, it seems as though these instructions assume the system is being booted in a VM. It's not substantially more difficult to boot on real hardware, as long as you add the relevant network drivers to your initramfs and handle changes to any interface names.
In my experience booting VMs over iSCSI at home the network speed made it practically unusable. I'm happy Terin got Windows working though.<p>Clearly it depends a lot on the network backend.
I ran a bunch of workstations with Windows 7 for many years this way, also using the predecessor of PrimoCache with local SSDs with a cache. I had an OpenSolaris server for the backing storage with ZFS/COMSTAR.<p>I've been pretty much Linux only for the last ~15 years or so, but NVMe/TCP is so much faster. I would look at doing a secondary disk applications using NVMe/TCP once booted.
Excellent job!
How did you approach the licensing matter, as in order to customise Windows installation media and in order to be compliant with licensing terms one needs to solve (and pay for) this non-trivial puzzle if it can be solved in the first place: <a href="https://download.microsoft.com/download/3/d/4/3d42bdc2-6725-4b29-b75a-a5b04179958b/reimaging.pdf" rel="nofollow">https://download.microsoft.com/download/3/d/4/3d42bdc2-6725-...</a> ?<p>I guess Microsoft has to make money somehow, but it's not funny. And the worst thing is that you somehow have to magically know this.
Hahaha, this is batshit, and I am here for it.<p>I knew it was possible, as I'd seen some thin terminals doing something similar (using ephemeral filesystems though) However I've only ever done something like this for linux, rather than windows.<p>Excellent work, I salute your skill.
Netbooting Windows11 with iSCSI and iPXE sounds like a game-changer for streamlining deployments.I've always been fascinated by how tech can transform operations.This approach feels like the equivalent of switching from dial-up to broadband.Imagine the time saved and the consistency achieved across systems.As someone deeply involved in HealthTech, the implications for secure, scalable environments in our sector are huge.It's not just about tech; it's about enabling innovation at a pace that was unimaginable a decade ago.Curious to see how this evolves and impacts our industry's landscape.Let's keep pushing the boundaries of what's possible.