Windows XP is probably the Microsoft operating system that has had the most community tweaks. For example, there is a stripped down version called MicroXP. Once installed, it only uses 200 MB (!) of disk space and 39 MB (!!) of RAM.
It's fully functional, boots in a few seconds, and it feels extremely fast in my experience even on very low-end computers. I have fond memories of this stripped down OS. When I was still a teenager I didn't have unrestricted access to a computer so I salvaged one with 512 MB of memory. The normal version of Windows XP didn't run well on this computer but MicroXP worked like a charm!
If you're interested, the official site is down[1] but you can still take a look at the README file[2], and you can find the ISO very easily using the MD5 from the README.
So, out of curiosity, what’s the fastest PC that will still work on 95, 98, XP respectively?
I recently tried installing XP on my desktop and, despite it being old enough to still be compatible and have drivers available, I wasn’t able to ever get it installed. I’m still trying to figure it out. I certainly don’t remember it being this difficult the last time I tried it... (before 2010?)
Windows XP installation CD doesn't have AHCI driver and cannot recognize hard drives on most computers since 2008, and only allows you to load an external device driver via a floppy disk, which is obviously not helpful. You can set your SATA controller to IDE mode in BIOS to install, but there's a performance penalty, and because of how Windows XP handles disk drivers, it's difficult if not impossible to enable native AHCI after Windows XP is already installed, you are likely to get a BSoD after you flip the switch.
A better choice is patching the installation disc to bundle a AHCI driver in it, works like a charm.
First, download and install nLite [0], a Windows installation disc modding tool, and then download a copy of Rapid Storage Technology driver from Intel (in zip format) [1] and decompress it. Finally, open your Windowx XP disc image in nLite, bundle driver "iaAHCI.inf", and burn a new CD. You can find a lot of tutorials on the web [2]. You may need to bundle other essential drivers as well, USB and Ethernet comes to mind.
I still have a Windows XP SP3 CD in my CD collection, it is the original MSDN version with an AHCI driver bundled, although I haven't used it in the last 6 years or so...
If you bundle the SATA drivers with the CD it will find the SATA hard drive and format it.
There was also a WinUltra DVD that had Windows 2000, XP, and 2003 on it that had driver packs on it for every SATA device at the time. It also had a Tiny install with just the basics of the OS like XP. Used 48M RAM small hard drive space as well.
You could slipstream an install disk with driver packs using this website http://driverpacks.net/
I liked SP2 better than SP3 because SP3 needed more RAM or else it ran slow on a PIII like my father's PC and it had some sort of Vista features in it.
Someone did leak the MSDN ISO files on the Internet but Microsoft shut it down. The MSDN disks were always up to date.
Windows XP lost Internet support for IE and Firefox is no longer made for it. I know people who still run it for the old apps they bought and still using them. Microsoft Office 97 or Lotus Smartsuite 99 run great on XP.
> I liked SP2 better than SP3 because SP3 needed more RAM or else it ran slow on a PIII like my father's PC and it had some sort of Vista features in it.
Bear in mind that for WiFi you only get WPA2 support with SP3.
The NT/2k/XP installers prompted the user to load a controller driver from a floppy. Would this serve as a fix for the problem you describe or are you referring to installing Windows XP on something modern-day?
Oldows support for something like that might be dicey. I wonder why one would just not run 32bit(better compat) windows server 2003. A bit of setup for desktop use for sure. That said, if you are going down this road, you are already rolling your sleeves up.
list "(USB) Floppy Diskette Drive" as one of the hardware requirements.
As for storage, the Z820, at least, includes an XP-compatible LSI 6Gbps SAS controller onboard in addition to SATA, so performance with SAS and/or SATA drives shouldn't be an issue.
High core count, dual-socket Z820s are readily available on the used market for <$1,000, and seem like they'd make excellent high-end XP boxes (and even better Windows 10/Linux boxes; I'm running both under ESXi with GPU passthrough on mine; licensing issues aside, current [10.14 and 10.15] OS X versions also work, including GPU passthrough, at least in the case of the NVIDIA Quadro K2000 and Apple-supplied drivers).
More generally, XP-compatible 6Gbps SAS PCIe RAID cards and HBAs are readily available on eBay for peanuts, so that'd probably be the way to go if you want the best disk performance under XP with (relatively) modern hardware.
USB floppy drives work as designed to install SATA drivers during XP Setup.
You push the F6 key when prompted just like NT Setup where you would add SCSI drivers if needed from a manufacturer's OEM floppy.
The OEM (F6) floppy for your specific SATA hardware will contain a fileset with their basic drivers and a TXTSETUP.OEM text file referencing that particular Device ID as well. These floppy contents are often included in a small folder in the manufacturer's full unzipped SATA driver setup files.
There are workarounds if you don't have a floppy, see my other message.
Any proper BIOS serves USB devices to DOS no differently than legacy hardware, even if it is optional to be enabled when needed. You do have to plug in USB drives, kybd, mouse before turning on the PC but then DOS or W9x can boot from or access them best usually without USB drivers installed in the OS. USB-connected non-80's-legacy devices like webcams would be recognized by W9x only if the USB hub they were on had been properly installed beforehand to the somewhat uncommon USB-enabled W9x, but still would not work unless you had the device-specific W9x USB drivers for windows installation of the exact cam. Cams like this were the kind of thing that actually used windows drivers and would work after windows was booted without having to plug them in beforehand.
I don't have one. What kind of device interface do USB floppy drives use, and does Windows XP have drivers? I highly doubt it (edit: others have pointed out that they use USB-FDD mode and is supported by Windows XP, so yes.).
The reason I don't have one is that although I have floppy drives, but I cannot find a single working blank floppy anymore... A floppy emulator that uses an SD card and the identical floppy interface should have better compatibility (but without the convenience of Plug & Play like USB), and you don't have to find a source of working floppy.
IIRC even a USB drive in HDD mode with the appropriate drivers (they were different based on chipset) will work. It's been a long time since I've done it, but I remember installing the AHCI driver from a USB drive or even a partition on the internal hard drive.
Later on I found you could integrate the driver into the WinXP installation CD itself.
Might work on motherboards with a bIOS implementation, there’s often a “legacy” mode that emulates a FD interface making a USB floppy bootable and accessible from Windows Setup. Likely not the case for any UEFI motherboard.
All recent[1] non-UEFI (BIOS only) and UEFI/BIOS hybrid systems I've used provide BIOS emulation for both floppy drives (using USB floppy drives) and hard drives (using USB mass storage devices; e.g., I have MS-DOS 6.22 installed on an MBR-partitioned USB flash drive that I regularly use to flash firmware updates, etc.).
Pure UEFI ("class 3") firmware without BIOS support won't boot (32-bit?) XP at all; as for whether native UEFI drivers are typically provided for USB (or any other) floppy drives, I have no idea.
[1] Qualification because I recall having trouble booting from USB optical and flash drives on at least some USB-capable systems that predate XP, but haven't had a problem with USB boot on any system in at least a decade.
To install XP on a SATA HDD using most common install CD's it's easiest to set a modern mainboard BIOS (or BIOS/UEFI) to be in IDE or Legacy mode beforehand instead of the default AHCI/SATA setting. This way the XP Setup will see the physical SATA HDD as if it was an older IDE type and have no problem copying files from XP install CD's which do not contain any SATA drivers.
If you do have the proper SATA hardware drivers needed for this type of XP install to be in SATA mode, you still would need an actual floppy to install them from during XP Setup the recommended way, which does work ideally if you've got it.
Without the NT floppy routine, using the vendor's Setup file, most of the time you can not install the SATA/AHCI drivers for XP after you have first installed XP in the default IDE/Legacy mode. The Device ID's are not the same in these two different modes.
There is a workaround, easier than it sounds.
You can manually add the SATA drivers in XP (after installing the OS wth the HDD in IDE/Legacy mode) easiest if you have a copy of the files that would be found on the hardware vendor's "F6 Setup Floppy" for that particular AHCI hardware.
These can often be found after unzipping the full XP drivers for that hardware. There will be a small folder (less than 1.44 mb) sometimes just labeled F6, it will contain the minimal SATA drivers needed on the floppy during the setup phase, and a TXTSETUP.OEM text file that would be used by the XP Setup routine if you actually had a floppy drive, USB or not. The XP Setup step where you have the chance to use an actual floppy to preinstall non-standard drivers for show-stopping devices was mainly intended for installations to SCSI drives originally.
Other times there may not be dedicated floppy provisions and you have to select the regular non-F6 SATA drivers for XP from where you have them unzipped to. They can also sometimes be considered RAID drivers even when you are not going to use RAID.
I copy these files to a new AHCIREG folder on the C: volume.
I copy my old instructions from how I did it last time using different hardware, this is an INSTRUCTIONS.TXT file which I add to the folder.
I copy the old AHCI.REG file that I used to modify the XP registry last time for different hardware, in the form of a text file, this adds AHCI.TXT to the folder.
I then modify these two text files to fit the current set of hardware.
INSTRUCTIONS.TXT is like a manual script, crafted from the previous one, using an open parenthesis on lines from earlier versions that are not executed in the current version. Basically documents which files to manually copy and install.
Here's one to add SiS drivers to a Dell, where my Instructions and REG file are derived from earlier Intel procedures:
Begin INSTRUCTIONS.TXT
add AHCI drivers in IDE mode then switch to sata mode
(this time ICH9 has already been installed in IDE mode
(this time there are no ICH9 drivers yet
(this time "7 Series/C216" chipset driver has already been installed in IDE mode
this time xp standard dual channel pci ide controller has already been installed in ATA mode
with xp successfully installed in IDE mode:
(try R173416.exe, for SATA on XP
(-this dell package fails, but before cancelling the install, it appears unzipped
(in c:\windows\temp\IIF
(-copy it and use it later
run SiS_SATA_A01_R198505.exe,
it unzips to the dell\drivers folder
copy SISAHCI & TXTSETUP.OEM from dell\drivers\R198505\FloppyImage\968\1184 to this "AHCIREG" folder
copy contents of dell\drivers\R198505\FloppyImage\968\1184\RAID\Winxp_2k to this "AHCIREG" folder
(copy contents of IIF\Winall\Driver\ to this "AHCIREG" folder
(-unzip the SATA drivers from ASUS
(copy contents of IRST_XP_VER11101006\Driver\Disk\32bit to this "AHCIREG" folder
(from the AHCI32_11_2_1006 folder:
(copy contents to this "AHCIREG" folder
(copy iaAHCI.inf & iaAHCI.cat, iastor.inf & iastor.cat to INF folder
(copy iastor.sys to c:\WINXP\SYSTEM32\drivers
copy sisraid4.inf & sysraid.cat to INF folder
copy sisraid4.sys to c:\WINXP\SYSTEM32\drivers
copy PROPERTY.dll to c:\WINXP\SYSTEM32
(in the INF folder, right click on iaAHCI.inf, hit INSTALL
(in the INF folder, right click on iastor.inf, hit INSTALL
in the AHCIREG folder, right click on sisraid4.inf, hit INSTALL
(copy iaAHCI.inf & iaAHCI.cat to INF folder
(copy ibexAHCI.inf & ibexAHCI.cat from c:\IPMx2\All\ to INF folder
(copy iaAHCI.inf & iaAHCI.cat FROM c:\WINDOWS\NLDRV\001\ to INF folder
(copy iastor.sys to c:\WINXP\SYSTEM32\drivers
(copy iastor.sys from c:\WINDOWS\NLDRV\001\ to c:\WINXP\SYSTEM32\drivers
(right click on iaAHCI.inf, hit INSTALL
(right click on ibexAHCI.inf, hit INSTALL
run this AHCI.REG
reboot and switch to SATA mode in bios,
then wizard will install the whole sata package in windows
End INSTRUCTIONS.TXT
Modify the Instructions to work with the current hardware then save it and follow it. You will basically be manually copying the drivers and any dependencies into the c:\windows\system32 folder & subfolders as needed for that hardware, copying the corresponding INF file(s) and associated CAT files to the regular INF folder, then manually installing the INF file from there.
Note that for this SiS AHCI chip there was a dependency on not only their .SYS driver to be in the regular drivers folder, but also the PROPERTIES.DLL to be in the regular folder with most DLLs. Dependencies like this will be seen in the text of the INF file, when there is a TXTSETUP.OEM file these dependencies will also be listed within, even though TXTSETUP.OEM is only for floppy usage.
Then there is my AHCI.TXT file which was modified to be completely specific for this Dell SIS AHCI hardware according to its Device ID(s), Service, .SYS driver, and DisplayName:
You customize the AHCI.TXT for your exact machine, save a copy, then save another copy renaming it as AHCI.REG.
The needed AHCI Device ID's are in the matching AHCI INF (which will be similar but not exactly the same as the IDE-mode Device ID when the same hardware is installed in IDE mode)
So overall after placing a correct INF file in the regular folder, with all its dependencies in their proper folders you run your custom AHCI.REG file and it adds that exact SATA hardware and driver to the Critical Device Database in the Registry so it will load earlier in the bootup routine not much differently than it would if you had used the floppy during Setup.
Then you reboot to the BIOS Setup and change from IDE-mode to SATA/AHCI and you will get to the desktop.
From that point you can then run the vendor's full XP SATA driver install or update routine and it can add more features than the floppy alone would have done, since the device ID's will then match.
If the previous/default IDE drivers have not been removed, the partition should boot with BIOS in either SATA or IDE mode afterward.
For Intel platforms, drivers for Windows 98 were provided up to the Northwood Pentium 4 era (8xx chipsets). Windows XP support lasted a bit longer but it was rather patchy by the Core 2 era and seems to have totally dried up by 2010. Nevertheless Intel has recently purged a lot of older drivers and documentations from their website so it's hard to be sure.
ATI dropped XP support in 2013, nVidia have actually managed to ship Windows XP drivers until 2016.
It's not Windows 95, but a while back LGR did try installing MS-DOS 6.22[1] on a modern gaming PC. Things got weird basically immediately but it did more or less work.
Ah yeah he's got a fair few of that kind of video--basically one from each major era of PCs all the way back to the original XT. His whole channel is great. He's so enthusiastic about all of this retro hardware and software. Even though I've seen most of them a few times at least it's still my go-to for relaxing YouTube binges.
If he can get DOS installed and CDROM drivers working he should be able to install at least windows 95a. Windows 95b preferred to use its own drivers (or drivers loaded from a floppy disk) for such things, but the early versions felt more like a GUI running on top of DOS.
The issue is mainly with drivers, though there are (unofficial) drivers for a few newish thingies (like NVME and USB 3.x) they do not work on all motherboards.
You can run Windows 95 on any current x86-64 PC. They are basically backwards compatible all the way to 8088. The problem is you will have no drivers for any OS that old.
While "any current x86-64 PC" is an exaggeration — UEFI-only systems, in particular, won't boot any version of DOS or Windows 9x — drivers may be less of a problem than you think:
- Even fairly recent systems with hybrid UEFI/BIOS still provide an IDE-compatible mode for onboard SATA
controllers that should work with Windows 95.
- Windows 95 supports 16-bit MS-DOS drivers and BIOS disk access, so any storage controller with BIOS boot support and/or 16-bit MS-DOS drivers (disk, optical, ASPI) should work.
- Modern video cards still provide SVGA-compatible modes that should work.
- PS/2 keyboard and mouse ports should work.
- Serial and parallel ports should work.
- USB devices with legacy emulation provided by the system's BIOS (floppy, mass storage [hard drive, flash drive], keyboard, mouse, [optical?]) should work, assuming they're plugged in at boot.
Likely problems:
- non-emulated USB devices
- network adapters
- audio
- large amounts of RAM
For network and audio, your best bet would probably be to find a (still relatively recent) machine with pre-Express PCI slots for an older NIC and sound card (some not terribly old workstations and servers have these); while PCIe-to-PCI, and even PCIe-to-ISA, expansion boxes exist, the ones I've seen are both expensive (>$1,000) and hard to find on the used market.
You likely wouldn’t find DIMMs small enough to boot it though. When I tried to prank my boss by replacing the HDD in his machine with one loaded with W95 it would not boot with even 512mb.
That's not true - Windows 95/98 will crash on startup if you have more than one CPU core present. You could make it work on Pentium D/CoreDuo/Core2Duo cpus by disabling the second core, but nowadays with modern CPUs there's no option to limit the CPU to a single core. Unless there is some workaround for it that I'm not aware of.
I've haven't seen a bios that would allow disabling all cores except for one since at least intel 2xxx series - there is almost always a switch to disable hyperthreading, but a switch to disable all cores bar one?
The standard PC peripherals will still work, and although you can only use one core, it's one core of a very fast CPU (relative to what was around when it was released and designed to run acceptably on), and gives you an idea how much "modern bloat" there is.
Well, ignoring the fact that WLAN/Ethernet won’t work without drivers (since internet is a bad idea with XP anyway), Sound and graphics don’t work either. So games are out, which is really the only reason I have for running XP. It’s too limited without working drivers and can’t be considered a working system.
I'd also like to ask about single-board computers that can run some version of Windows. I'm quite a fan of the Raspberry Pi, but there are times when I'd like to use software that only supports Windows XP or newer, and WINE doesn't cut it (e.g. iTunes with iPhone drivers, Age of Empires 2, PowerPoint).
Age of Empires 2 works under Wine, it just needs some minor hacks. Last time I checked, the game launcher has an embedded webpage, and if it doesn't load, the "game start" button won't be laid out properly. Installing Internet Explorer 6 under Wine (by winetricks) fixes it...
Yes, Win10 IoT Core has a lot of limitations. It's fine for developers who are familiar with C# development in Visual Studio and want to use their same development tools for an IoT device, but it's not a desktop OS. Emulators are fine if the I/O works. Getting full resolution HDMI out of an emulated OS with any fps, or even just getting USB devices to mount is a hassle.
> Getting full resolution HDMI out of an emulated OS with any fps, or even just getting USB devices to mount is a hassle.
QEMU has easy GPU passthrough, so that shouldn't be a hassle. And whilst the USB options are slightly more intimidating, you can passthrough that as well.
There are unofficial projects that combine the drivers from IoT with the "full" ARM32 version of Win10. I tried it and it did boot, but on a pi 3B it was too slow to be usable. I'd want at least a pi 4B 2GB before trying again...
There is https://www.lattepanda.com/products/3.html as a single board Win 10 computer, but the Amazon UK reviews are 1 glowing and 3 broken hardware and bad support, so YMMV.
Someone should run these sorts of experiments w/ ReactOS. Anecdotally, it doesn't seem to be possible to start a mainstream Linux distribution w/ less than about 128MB of RAM, perhaps due to the initramfs-based boot that's ubiquitous nowadays. And a i686 class CPU is needed.
> Anecdotally, it doesn't seem to be possible to start a mainstream Linux distribution w/ less than about 128MB of RAM, perhaps due to the initramfs-based boot that's ubiquitous nowadays.
Depends on what you call a mainstream Linux distro. Maybe if you only include "desktop" style Linux distributions, which don't tend to be the most mainstream use for Linux.
dd-wrt is extremely popular. It generally requires somewhere between 2-4MB Flash, and the smallest amount of RAM I saw when going through the supported router list was 8MB.
U-Boot is an extremely popular Linux bootloader, that generally runs the mainline ucLinux kernel, which has support for STM32 microcontrollers, where you'll be looking at much, much less RAM. More likely to be measured in kilobytes than megabytes. It could be argued this isn't complete enough to be called a distribution.
> And a i686 class CPU is needed.
Not at all. Debian, Ubuntu, Gentoo, Arch, all have ARM based versions, before you go diving into what else they support. (Keep reading if you meant the kind of x86)
And whilst some have dropped the 486 (Debian even dropped the 586 in 2016 [3]), Gentoo still supports it if you follow along with the mostly manual installation guide. (Though this [0] spells it out in a much easier way.)
However, running Linux on a 386 is difficult and unsupported (the kernel dropped support in 2012 [2]), NetBSD still actively maintains a port. [1]
As to the 286... Linux never supported it as far as I know.
So the upshot is, if you have a 386, 486, or 586 you can still run Gentoo.
You could chooch along quite nicely in Kolibri OS all the way down to 8MB of RAM it seems and have a relatively okay experience in it [1]. Seems as though something like Puppy Linux will get you going on 64MB of RAM or lower [2].
If you really want to take Linux to the extreme, probably the place to start would be the efforts made to use it on embedded devices [3].
I still have a very old USB key with Puppy Linux on it from, back a darker time when I didn't have my own computer.
I've booted quite a few very old systems with it, probably down to Pentium-era machines, and things usually ran well. I do remember it was quite RAM intensive due to having a relatively large filesystem in RAM. I'd say 64 MB is a minimum if you actually want to use it for anything.
I ran modern GNU/Linux on a laptop with a 333 MHz Pentium II processor and 96 MB of RAM until 2010. I still have the laptop and it probably still works, though I lended its charger and I don't know where it landed.
It was a bit slow. You had to avoid opening more than two or three browser tabs and avoid swapping at all cost because of the relatively slow HDD. You had to be patient.
The computer was designed for windows 95 and 98. It ran Windows 2000 quite well. XP was slow.
I was amazed by the fact that a live CD of Ubuntu 5.04 ran pretty good on it, with an early version of GNOME 2. Late versions of GNOME 2 were unusable on it.
It also managed to run mandrake 9 with kde 2 (?) well too.
Now, current distributions are removing support for x86-32. Debian would probably be the best bet (or slackware ?), if not a specifically lightweight distro.
I tried Arch on it but I would not install a rolling distro on anything with a slow drive today. Too painful because of the updates.
I wonder if its silicon motion GPU would still work under X11. I'm not sure the vesa driver worked on it. I remember having issues with X11 with this laptop the last times I used it.
I used a pcmcia card for the Wi-Fi that I sill have. I needed to use ndiswrapper to use the windows driver on Linux. It didn't handle WPA. Fortunately, almost all Wi-Fi networks were open or encrypted with WEP. Today, I would probably need to use Ethernet, or the only USB1 port it has to plug a Wi-Fi stick.
One web page of today would send this computer to swap hell though.
> It was a bit slow. You had to avoid opening more than two or three browser tabs and avoid swapping at all cost because of the relatively slow HDD. You had to be patient.
Perhaps try a modern CF card? There are passive notebook-PATA bridges still made and sold for under 5$ IIRC - did this to save an old HP Z2100 from a disk failure recently. The bus is still a bottleneck in terms of speed but latency is a no-issue compared to HDDs.
I'm a big fan of replacing old laptop HDDs with an mSATA SSD in a 2.5" 44-pin IDE adapter. The JM20330-based ones have had the best compatibility for me. Just be sure to disable any auto-defrag that old OSes like Windows 98 come with by default :)
Win98 didn't have auto-defrafg. IIRC the first one to ship this was Vista. Win98 still had that atrocious defrag program that would restart every time it noticed that any program modified the file system in any way. So you had to make sure to shut down any program or daemon running in the background. Looking back it's quite amazing you could actually shut down everything that was running and accessing the disk.
I assume the defrag program directly accessed the raw disk and understood FAT, bypassing the kernel, and just used it to get notified about write access to the disk.
Mine (same arch kernel) is twice the size, both compressed and uncompressed, for what it's worth; I have a handful of vfio modules included explicitly, as well as amdgpu; so it's still doable. My fallback initramfs is a little over 128MiB compressed.
Tried installing Debian 8 or 9 with 128MB a while ago. The installer warned that this wouldn't be enough to finish setup, and sure enough, during installation the OOM killer got in the way. I restarted the installer, spawned a shell and killed some processes that looked non-essential, and this time I managed to finish. Using the actual system was obviously slow given two 233MHz CPUs, but even X11 with i3 worked. I then used it as a secondary screen via VNC. For about an hour. Then I shoved the machine back into the basement.
I think lubuntu comes relatively close to that requirement, but really it is becoming a needless exercise other than being intellectually stimulating. You could just download the older releases of Linux for such machines
2019 malware likely won't run on Windows 95. The kind of malware you'd stumble across in your normal online activity will mostly target Windows 10 and back to XP, and will be written to that environment and its APIs. Given the need to minimise size and detectable features.
Naturally I would not rely on this for my own online safety. A motivated adversary with a specific target in mind would no doubt learn that a vintage Windows 95 install was present, or maybe just throw everything at it.
> Both are really good plans if you want to get 0wned.
It is wise to point that out; running an old OS on old equipment or in a VM is perfectly viable, but one should NEVER connect those machines to the open Internet.
It's fully functional, boots in a few seconds, and it feels extremely fast in my experience even on very low-end computers. I have fond memories of this stripped down OS. When I was still a teenager I didn't have unrestricted access to a computer so I salvaged one with 512 MB of memory. The normal version of Windows XP didn't run well on this computer but MicroXP worked like a charm!
If you're interested, the official site is down[1] but you can still take a look at the README file[2], and you can find the ISO very easily using the MD5 from the README.
[1] http://retestrak.nl/board/
[2] https://microxp-readme.neocities.org/