←back to thread

305 points mooreds | 1 comments | | HN request time: 0.209s | source
Show context
brian-armstrong ◴[] No.42168027[source]
The fact that Windows can upgrade an installation in place with relatively high success is impressive. Is it possible to have an install that's been repeatedly upgraded all the way from MS-DOS without needing a reformat somewhere along the way?
replies(5): >>42168050 #>>42168106 #>>42169279 #>>42171691 #>>42181836 #
fuzzfactor ◴[] No.42169279[source]
All your PC needs is some kind of BIOS, whether real or Legacy CSM.

And a fresh SSD that you can set up with a traditional MBR layout instead of GPT layout. Since GPT doesn't work with BIOS, GPT requires UEFI to boot which is prohibitive for DOS.

You install DOS on your first partition after formatting it FAT32.

Just the same as getting ready to install W9x next.

The DOS from W98 is ideal for partitions up to 32GB.

After you install W9x next, it's easy to drop back to a DOS console within Windows, or reboot to clean DOS on bare metal, which is what people would often do to run older DOS games. DOS is still fully intact on the FAT32 volume which it shares with W9x as designed. It's basically a factory-multiboot arrangement from the beginning

The only problem is, W98 won't install easily if there is more than 2GB of memory.

DOS can handle huge memory though (by just neglecting it) so might as well skip W98 unless you have the proper hardware.

Very few people would put any form of Windows NT on a FAT32 volume, and IIRC W2k doesn't handle it, but XP performs much better on FAT32 than NTFS, if you can live without the permissions and stuff.

Do it anyway, when you install XP intentionally to that spacious (pre-formatted, fully operational) FAT32 volume which already contains DOS, the NT5 Setup routine makes a copy of your DOS/W9x bootsector and autosaves it in the root of your C: volume in a file known not surprisingly as bootsect.dos. And then it replaces the DOS boot routine with a working NT bootsector and uses NTLDR to boot going forward.

Most people who migrated from DOS/W9x to WXP started out with XP on NTFS, so users lost FAT32 overnight, and the idea was for DOS, W9x and FAT32 to be taken away from consumers forever. None of the NT stuff would directly boot from DOS bootsectors any more, you ended up with an NT bootsector and NTLDR instead. DOS and W9x don't recognize NTFS anyway, they were supposed to be toast.

So if you install both DOS & WXP side-by-side on the same FAT32 partition like this, you can still dual-boot back to DOS any time you want using the built-in NT multiboot menu (which never appears unless there is more than one option to display) where the DOS/W9x bootentry simply points to bootsect.dos and then DOS carries on like normal after that since it's the same FAT32 volume it was before, other than it's new NT bootsector.

Too bad there aren't any graphics drivers that XP can use on recent motherboards, so what, say hello to generic low-resolution.

I realize nobody ever wanted to skip Windows Vista, sorry to disappoint.

Next comes W7. But you would be expected to install from DVD and there's not really drivers for recent PC's.

What you would do is boot to the W7 Setup DVD, NOT to upgrade your XP, instead to create a second 32GB partition, format that second partition as NTFS and install W7 to there. The NT6 Setup routine will replace the NT5 bootsector on the FAT32 volume with an NT6 bootsector, and add a new BOOT folder right there beside the NTLDR files on the FAT32 volume. The built in NT6 multiboot menu may not appear unless you manually add a bootentry for NTLDR (which is easy to do), then you would be able to multiboot the factory way to any of the previous OS's since they were still there.

W10 is the better choice for a recent PC, do it by booting to the W10 Setup USB.

In this case the very first NTFS experience for this lucky SSD is going to be W10, quick while it's not yet obsolete ;)

I know people didn't want to skip W8 either :)

But if you had W7 or something on your second partition already, you would make a third partition for W10 and it would install like it does for W7. Except there would already be an NT6 BOOT folder in your FAT32 volume, with its associated bootmgr files. You would choose the third partition to format as NTFS and direct the W10 install to No.3. The NT6 Setup routine will end up automatically adding a bootentry for the new W10 into the same NT6 BOOT folder that was there from W7. So you can choose either of the NT6 versions which exist in their own separate partitions, from the factory multiboot menu if you want anything other than the OS that you have chosen as default at the time. As well as the OS's still existing on the FAT32 volume.

Oh yeah, once the NT6 BOOT folder is present, you can manually add a bootentry for the DOS you have residing on your FAT32 volume, then you can boot directly to DOS from the NT6 bootmenu without having to drop back to the (previous if present) NTLDR way to boot DOS. Using the same old bootsect.dos file which NT5 had in mind the entire time

Now this is vaguely reminiscent of how UEFI boots a GPT-layout SSD from its required FAT32 ESP volume.

However UEFI uses only an EFI folder and (unlike Linux) doesn't pay any attention to a BOOT folder if there is one present. But if there is an EFI folder present on an accessible FAT32 volume, UEFI is supposed to go forward using it even if the SSD is MBR-layout and not GPT.

You would have to carefully craft an EFI folder for this, but then the same SSD would be capable of booting to NT6 whether you had a CSM enabled or were booting through UEFI. Using the specific appropriate boot folder, either BOOT or EFI depending on motherboard settings. DOS would only be bootable when you have a working CSM option, not depending solely on crummy bare-bones UEFI.

You just can't boot to an MBR SSD with SecureBoot enabled.

You may even have an extra 64GB of space left over for W11, unfortunately the W11 Setup routine is the one that finally chokes on an MBR SSD.

You would have to do W11 some other way, and add it to your NT6 boot menu manually.

For extra credit.

replies(1): >>42181559 #
1. M95D ◴[] No.42181559[source]
> You install DOS on your first partition after formatting it FAT32.

DOS until v7 (Win95) didn't support FAT32. It also doesn't support weird FAT(12/16/16B) formats such as only one FAT copy.