Supporting Windows 2000 and (other) old operating systems in a lab
Some may ask why on earth I'd be writing a blog to support operating systems we have long since forgotten about. But, I did have a need to research Windows 2000 recently for a customer. Why does Windows 2000 matter? In all reality, it doesn't in the broader sense of things.
Some have had and upgraded Active Directory since Windows 2000. With that, you will find a lot of legacy objects that newer, not upgraded domains donot have. This answers the questions of "what are these objects, and is it safe to delete them – where did they come from?
So allow me to throw out the disclaimer now. In this article, I am talking about unsupported operating systems and technologies, this, like all my other blogs are "do at your own risk" and "I make no guarantees or warranties based on this content".
The Dark Labs, as I call them, are a collection of VMs that contain operating systems that might still be relevant to an organization, but no longer supported. This blog is about how I was able to run Windows NT and 2000 on systems for labs and testing. Don’t laugh, some places still use it. It’s my hope that you will get some use of this content, and it will save you a lot of time building these things.
Why not use Hyper-V?
Hyper-V as of this writing (May, 2017) supports Windows Server 2003 and XP as the oldest OS. Windows 2000 and earlier is not supported. Also, remote controlling a Windows 2000 Server is pretty much keyboard driven. I haven’t attempted any older OS on Hyper-V than 2000. I do however in the "Lessons Learned" section discuss how I got Windows 2000 running in Hyper-V.
What was used to build the dark labs?
The Dark Labs are built on a single VM, running Windows Server 2008 x64 SP2 (fully patched) and Virtual Server 2005 SP1. This is the newest OS that would support Virtual Server (maybe a newer OS would work, but I am sticking with what is supported for the host). All the features of Virtual PC are enabled except for the web interface, as it was written for a much older browser standard and found it tobe problematic. In lieu of this, VMRC Remote is installed on the host.
I broke the host system into 3 drives (VHDXs) that can be moved around as needed. My reasoning is that I have a mixture of SSD and magnetic for my hard drives. So, I prefer the OS for speed and data, well, it can live on slower drives. Plus, it's not like the legacy OS needs a lot of speed or resources.
The 3 disks are:
- 0: Drive C – the OS
- 1: Drive D – The VMs
- 2: Drive E – The ISOs or installs that are needed
There are no dependencies on disk 2 as it is just a place to hold files. For ease of use, I just created a virtual disk in Computer Management, mounted it, and copied files as needed. I created Disks 0 and 1 independently as I use SSDs in my labs, some of you may want to put the VMs on magnetic drives.
The newest supported OS for the guest appears to be Windows Vista and possibly Server 2008. According to this blog, only Longhorn Beta was supported, so there is a reasonable chance this may work if you want to do an upgrade scenario.
Changes to Guest OS Support with Virtual Server 2005 R2 SP1
What OS installs did I do in the labs?
I have added and tested the following OS installations into the labs:
- Windows 2000 Advanced Server (SP4)
- Windows 2000 Server (SP4)
- Windows 2000 Professional (SP4)
- Windows NT 4.0 Enterprise Server (SP6)
- Windows NT 4.0 Server (SP6)
- Windows NT 4.0 Workstation (SP6)
- Windows 98 Second Edition (Yes, I had togo there).
All of the above machines are supported in Virtual Server and have the appropriate VM additions installed on them for a somewhat cleaner experience. This is really recommended as trying to navigate Windows with just the keyboard can be a pain.
Lessons learned (and going Hyper-V)
Issues I ran into:
- The web interface doesn’t work well, if at all: The interface is really not stable on newer browsers, so I removed it for VMRC for VM Remote Control. Here's a link to it VMRC Download link from Microsoft
- Windows Server 2003 had issues with a BSOD starting a VM, this is why it is running Server 2008.
Windows 2000
If you want to run Windows 2000 on Hyper-V, keep in mind…
- There are no guest Hyper-V components to install on Windows 2000, so be prepared to use a lot of keyboard shortcuts. If you lose a window, you can always Ctrl-Alt-Del and go to Task Manager and bring an app to the foreground if you lose it.
- To the above point, don’t try hacking off the vmguest.iso, it will lead toa lot of false hope and disappointment. Windows 2000 guest components on Hyper-V is simply not supported.
- Windows 2000 caused a BSOD when I tried loading it with the Virtual Server extensions in Hyper-V. I am not sure which driver caused it (and didn't care to root cause it), so be forewarned.
- Windows 2000 does support a straight upgrade to 2003, where you can install the guest components. It (Windows 2000 Server) also supports the upgrade directly to Server 2008, which was one of the few I’ve seen allow this (2008 also doesn’t need extensions).
- You will need to remove the network adapter and use a legacy network adapter for Windows 2000 support.
Domain Controllers
- Keep in mind Windows 2000 didn’t have a x64 version and 2008 R2 doesn’t have the x86 version. At some point if you are building DCs to build an upgrade path, then you will at some point need to cut over to x64.
Why did I do this? I was asked some questions about specific objects in AD created back in Windows 2000 that are not specifically created on new DCs.
Here was my path:
- DC1: Install Windows 2000 Server, DNS and run dcpromo.
- DC1: Insert the Windows Server 2003 x86 CD</li
- Run adprep /forestprep and adprep /domainprep
- DC1: Upgrade to Server 2003 x86
- DC1: Changed the domain functional level to 2003 (just the domain, not the forest functional). This step is needed prior to going to 2008, or it will error on you.
- DC1: Insert the Windows Server 2008 DVD
- Run adprep /forestprep and adprep /domainprep
- DC2: Install Windows Server 2008 SP2 x64, DNS, AD Domain Role
- DC2: Run dcpromo(new DC in existing forest)
- DC2: Transfer all 5 FSMO roles from DC1, while online.
This will have to happen before adprep as you cannot run adprep on a machine that is not the schema master. In addition, the idea ultimately is that you will be updating to x64.
- AD Users and Computers: Transfer PDC Emulator
- AD Users and Computers: Transfer RID Master
- AD Users and Computers: Transfer Infrastructure Master
- AD Domains and Trusts: Transfer Domain Naming Master
- MMC Snapin: Transfer Schema Master
Note this one is a bit tricky. You won’t see it in MMC/Add Snapins – you will have to register the DLL first from the command prompt: regsvr32 schmmgmt.dll before you’ll see it.
- DC2: Insert the Windows Server 2008 R2 DVD
- Run adprep /forestprep and adprep /domainprep
- DC2: Upgrade to 2008 R2
- DC1: Decommission using dcpromo, it’s no longer needed (you won’t be able to raise the functional levels past 2003 if you don’t do this).
The below are all optional steps, if you want a second DC running a newer server x64 platform OS for various reasons.
- DC3: Create new DC, install Windows Server 2008 R2
- DC3: Install DNS, AD Role
- DC3: Run dcpromo (new DC in existing forest)
At this point, you can move the domain and forest functional levels however you like and upgrade and add DCs as you see fit. Your AD should carry over from 2000 up to the new version of the DC. You will need to decommission DC1 if you want to go past a 2003 functional level, however.
In General
Don’t overcommit resources for either Virtual Server or Hyper-V (you’ll likely get unpredictable results or just the classic BSOD). Keep in mind you are going back in time, so 512MB RAM for Windows 98 may be a bit overkill. For resources, keep the following guide:
- If you create a checkpoint, keep in mind you cannot expand a disk in this state. Choose disk space wisely.
- Not all older OS products support expanding disks (inside the guest VM) like the more modern operating systems.
Operating System | Memory | Disk Space |
---|---|---|
Windows 98 | 16MB | 500MB |
Windows NT 4.0 Server | 32MB | 2GB |
Windows NT 4.0 Workstation | 16MB | 1GB |
Windows 2000 Server | 64MB | 4GB |
Windows XP | 128MB | As needed |
Windows Server 2003 | 128MB | As needed |
Windows Server 2008 | 512MB | As needed |
-- If you like my blogs, please share it on social media, rate it, and/or leave a comment. --
Comments
- Anonymous
May 25, 2017
I feel like assigning Windows 98 to have 16GB of RAM is a bad idea, yet you have that listed.- Anonymous
May 25, 2017
Thanks for catching that typo, I'll change it to MB where it belongs. Thanks for reading... lol
- Anonymous