I love testing the latest version of Windows 10 via the Windows Insider program but sometimes it is interesting to go back and play with operating systems from the past. Depending on your age, it could be your first time looking at the great-great-great grandfather of Window 10 or a trip down memory lane.

UPDATE: I have record a video of Windows Longhorn cira 2004

UPDATE2: I have recorded a video walk through of how to set up Hyper-V to run old versions of Windows

UPDATE3: If you want to try Windows 11 on Hyper-V check out my new guide 

UPDATE4: I have new guide focusing on Running old versions of Windows on Windows 11 with Hyper-V 

One great feature of Windows 10 Professional is Hyper-V, the ability to run multiple virtual PCs from your PC and this is what I used for my retro Windows project.

My aim was to install Windows 3.1, Windows NT 3.51, Windows 95, Windows NT4 and Windows 2000 on Windows 10 via Hyper-V. Somethings worked and some did not but I did get Microsoft Bob working! So here is my guide to running old versions of Windows on Windows 10 along with a few tips you need to get them working.

Jump to the bottom of the post for my video of the OS in action.

Installation Media

Before you can start, you are going to need the installation media and this is where licensing gets a little tricky. I already had ISO files of Windows NT4 and Windows 2000 but getting hold of Window NT3.51 took a bit more searching. One site I found is winworldpc.com which has install media for a range of old OS, from Windows 1.x up to Windows 2000. You can even try beta versions of Windows and some more obscure operating systems. Later versions of Windows require a product key, which I already had. Downloads from winworldpc.com come in the 7zip format so you are going to need tool that can unpack 7zip files. The virtual floppy drive files are .IMG file type, to use them with Hyper-V you will need to rename them to .VFD files.

Setting up Hyper-V

Hyper-V is Windows’s virtualization technology, and what I will be used to emulate the old hardware. This is part of Windows 10 Professional and not included in the Home version of Windows 10. There are other solutions like Oracle’s Virtual Box.

To turn on Hyper-V go to Windows’s Turn Windows features on or Off, find Hyper-V and tick the box:

After a reboot Hyper-V will be ready.

Creating a retro virtual machine

This part is more or less the same for all versions of Windows. You will need the install media, which will be virtual floppy disk images or virtual CD drive images.

Create a new virtual machine using the wizard in Hyper-V and give it a suitable name.

Select Generation 1 of the machine type.

Select the startup memory of 1024MB and turn off Dynamic memory. The next question on the wizard is the network connection, leave this as Not connected for now.

Next create a new virtual hard disk, I found that a 2GB fixed side VHD files works best. On the install options screen tick the box to install an operation system from a bootable floppy disk or CD/DVD. Use the browse button to location the floppy disk image or CD/DVD and click Finish. This will create your virtual machine.

The next step is to enable legacy support for the guest OS. So load up PowerShell (type Powershell into the search box) and run as administrator. From the command line type the following command:

Set-VMProcessor VirtualMachineName -CompatibilityForOlderOperatingSystemsEnabled $true

Now you can start up your virtual machine by going into Hyper-V manager, right clicking and selecting Start. Double click on the virtual machine and it will bring up the virtual machine version.

Network access

For the 32bit systems from Windows NT3.51 and up to Windows 7 you need to use a legacy network adapter rather than the default network adaptor. So go to Hyper-V Manager and select the settings for your VM (right click). In the settings select the Network Adapter and click Remove to remove the adapter.

Then go to Add Hardware and select Legacy Network Adapter.

Select the network switch you created during the setup of Hyper-V. If you do these steps you should be able to get Windows NT4, Windows 2000 etc connected to the internet. Be careful when connecting an old version of Windows to the internet, they were not known for their security!

Windows 1.0, 2.0, 3.11 and Windows 95

Before the birth of Windows 95 all version of Windows ran on top of MS-DOS so if you are going back before Windows 95 you will need to install DOS first. So I grabbed a copy of MS-DOS 3.30 which shipped on two floppies.

I got as far of getting Windows 1.0 started nothing worked past the initial screen so I gave up with that. With Windows 2 I got the startup screen again but nothing past that.

I also had the same problem with Windows 3.11. I got as far as the setup and then I got as far as disk 3.

With Windows 95 I got as far as the final part of the setup and this it got stuck:

Windows NT 3.51

I had more success with true 32bit versions of Windows. For Windows NT 3.51 you get a bootable floppy disk and a CD with the install media. So to get it up and running you mount the NT start up floppy disk and the NT install media. Windows takes you through the setup and pretty soon I was up and running. 2GB fixed virtual drive and 1024MB of memory would great.

You should be able to install Internet Explorer 2 if you want to surf the information super highway! I had more luck getting on the internet on NT4

Windows NT 4

NT4 was a real blast from the past! I have installed many an NT4 system in the distant past so it was like meeting up with an old friend. This was simple to install, as the CD image is bootable so no need for any virtual floppy drives. Using the legacy network driver I was able to get the network up and running and even managed to get Internet Explorer 2 and 3 installed.

I don’t think I will be switching to IE3 and NT4 from Microsoft Edge!

I even tried Netscape Navigator:

How about Microsoft Bob!

Windows 2000

Windows 2000 Professional which is a single bootable CD image and simple to install. Windows 2000 came with Internet Explorer 5.

All the old apps are there like HyperTerminal, Netmeeting and Pinball:

Windows Longhorn

I managed to get Longhorn M3 and M4 builds running but they have expiration dates so they stopped working a couple of hours after setting them up. Longhorn was Microsoft’s code name for the operating system to replace Windows XP. Microsoft reset the project which then became Windows Vista.


It was an interesting trip down memory lane and it was great to see how you can trace Windows 10’s roots right back to Windows NT 3.51, NT4, Windows 2000 and Longhorn. It also shows how flexible and useful Hyper-V is. I ran all the guest operating systems on my Surface Laptop 2, the beauty of running old operating systems is that they don’t take up much disk space or demand much RAM (well maybe not the case for Longhorn!).

I would love to know if any readers have had any luck running old operating systems on Windows 10.


In this video I show some tips to get started and take you back to Windows NT 3.51, Windows NT4, Windows 2000, Windows Longhorn beta, Windows 1.0 and Microsoft Bob! I end the video with a classic blue screen of death!

8 thoughts on “Running old versions of Windows on Windows 10 with Hyper-V”
  1. Thanks for the article Ian. I found it helpful since I’m also trying to get a version of Windows NT running on Hyper-V for a project at work. But I seem to be having some problems. I’ve created the virtual switch and assigned it to the physical NIC on the chassis. The vNIC for the host is configured, tied to the virtual switch and can connect to the network. The vNIC for the Windows NT guest was created in PowerShell and is also tied the virtual switch. Everything in PowerShell and the GUI seems like it is configured properly – legacy vNIC assigned to the virtual switch attached to the physical NIC – but the Windows NT guest cannot connect to the network. Running ipconfig in the command prompt on WNT populates no information, as though there were no network connection. Is there something else I need to do inside of WNT to make it recognize the vNIC created by Hyper-V?

  2. Ian – my dream is to create a VM that is a complete clone of my existing still-running XP machine, with all its apps and data. More – that XP machine was fully updated through 2018 or 2019 (forget which) by using the POS registry trick, which is no longer possible with a new XP install.
    My host PC would be my Win 10 Pro 64-bit machine.
    Is there a way, not just to install an old OS but to clone in a complete older PC?

    1. There is a tool Microsoft have for creating a VHD image from a real PC. You can then mount that image file in Hyper-V so that would work. ITs called disktovhd

  3. You probably ran into freeze ups because you allotted too much memory to the old OSes. windows 9x/ME had a usable cap of 512mb then would become unstable and crash if you could even get it to boot. NT4 doesn’t like more than 256mb before a certain service pack (dont remember which) so just install sp6 then up the ram from there. Its been too long for me to remember the pre win95 probably have even lower ram cap but its been too long and i don’t remember what it is anymore. hope this helps.

    1. you are 100% correct. Those old Win versions 98-ME are capped at 512 and wont even boot above 512. That probably explains why they did not work on his VM install.

      Best to set the old OS\’s as follows:
      ME and 98 = 512mb or less
      95 = 64mb
      3.1 = 16mb
      anything older = 8mb

      I plan to test these old OS sometime soon (over this winter) with Win11 Hyper-V. I will update my findings when I am done.

  4. I tried doing this myself. I was able to get Windows for Workstations 3.11 working on Virtual Box with SVGA, Sound, and Internet Access.
    Windows 3.1 I couldn\’t get the internet to work because Microsoft didn\’t provide a TCP/IP stack and I couldn\’t get WinSock configured manually so I gave up once someone told me 3.11 worked out of the box with networking/internet.

  5. Hey, this was super helpful! When I try to create a new virtual machine, I cannot select Generation 1, only Generation 2.

Leave a Reply