Hacker News new | ask | show | jobs
by terinjokes 477 days ago
Since the goal was just to have non-virtualized Windows to satisfy game developers, I haven't tried much else. Sorry.

> all the exampled online seem so outdated.

Many of the guides felt like they've been only slightly dusted since the Windows XP days. I've seen none that even hinted at making the DVD ISO a target, leading me to believe it wasn't well supported 20 years ago.

2 comments

> I've seen none that even hinted at making the DVD ISO a target, leading me to believe it wasn't well supported 20 years ago.

One of the most underrated things about UEFI in my opinion is how it made booting simple. No longer did you need to use special tools (or arcane knowledge) to stick a special real-mode binary in to a normally hidden area of your intended media, now you just drop a few PE binaries in a filesystem your UEFI can read and let it figure itself out.

I just created a bootable restore image for one of my clients and it's literally a zip file that can be extracted in to the root of a FAT32 disk drive and will boot on any x86-64 UEFI PC, with Secure Boot fully operational. No special tools required, just drop files on any disk using a filesystem any computer that matters can read/write.

> One of the most underrated things about UEFI in my opinion is how it made booting simple. No longer did you need to use special tools (or arcane knowledge) to stick a special real-mode binary in to a normally hidden area of your intended media, now you just drop a few PE binaries in a filesystem your UEFI can read and let it figure itself out.

In theory, yes. In practice, booting Slackware (elilo) from UEFI has been a challenge.

I guess for removable media that's fine, but Windows still likes to hide the ESP.
> I guess for removable media that's fine, but Windows still likes to hide the ESP.

It's not hidden, it's shown in disk management, it's just not mounted by default.

IMO that is perfectly reasonable considering 99.999% of users will never want or need to do anything with it and those who do want/need to access it should have no problem finding a single well-documented command. For everyone else it's just a "delete system32" level temptation to do something stupid that'll break their system.

mountvol <letter>: /s

I honestly have no idea what it'll do if multiple EFI system partitions are present though. I presume this command will mount the one Windows has booted from.

Yeah, but even then to change the default loader you'll need to point it to something else using some arcane bcdedit command. Dropping some PE binaries is not good enough.
Or just boot in to the EFI config interface and set a new default that way.
Only if it's registered! Registering a new binary isn't usually in the customer motherboard menus.
I may have written one of those dusty guides in my younger days.

>I've seen none that even hinted at making the DVD ISO a target, leading me to believe it wasn't well supported 20 years ago.

iPXE has always supported this, but the devil is always in the details.

Windows Setup has a disk-bootability-validation step that it runs before it'll let you install Windows. It checks that the firmware can actually see the drive (i.e. it was present during system boot) and understands the boot chain, looking for the ESP or MBR that will actually load Windows once Setup completes.

There's something about loading more than one disk into the iBFT[1] and hooking those disks into INT13 on a BIOS-based system that very frequently breaks one of those checks. You try to select a disk and Windows Setup complains about not being able to verify that it's bootable.

It'd all likely work just fine on a typical UEFI system these days.

Of course, since it's Windows, there's no "I checked and it's okay please install anyway" button. But I'm pretty sure you can just apply the wim manually from the command line and install the bootloader, but I was never clear if that process implemented the driver reflection step necessary to ensure the NIC would start on boot...

It's unfortunate that Windows Setup itself isn't open-source. It'd probably have made the time I spent doing this stuff a lot more interesting.

[1]: iSCSI Boot Firmware Table is a memory structure used to pass iSCSI disks from a firmware-level software initiator to the OS-level software initiator after the kernel takes over the hardware

[2]: https://ipxe.org/wimboot

Thanks, I skimmed some details about iBFT (mostly reading what the Linux kernel does with it) before writing the post, and came away with it likely being a difference in how things were hooked up in BIOS vs UEFI systems. Thanks for your perspective on it!