Microsoft Server

Update or Install missing drivers on Windows Server Core 2016/2019 for free

Install Drive Easy Free from:
https://www.drivereasy.com/download-free-version/

Start DriverEasy from

“C:\Program Files\Easeware\DriverEasy\DriverEasy.exe”

Scan the machine and pick the driver you need from the list and download it.

In the command prompt, cd to folder:

c:\users\<username here>\Appdata\Roaming\Easeware\DriverEasy\Drivers\

To find the driver you just downloaded, type:
dir *.inf /s/b
CD to that directory and type:
pnputil -i -a *.inf

Note: DriverEasy will crash after ever single download as it does not have a GUI to fall back on, so, unless you want to spend a lot of time restarting DriverEasy, only bother with the drivers you really need. I usually only bother with storage and network drivers.
Also, if you happen to have core installed on a laptop with integrated hardware like webcams, etc. these drivers will have issues installing as the underlying infrastructure is missing

Hyper-V

Windows 2000 on Hyper-V

Sometimes it’s necessary to install an old Operating System, but you really cannot (or don’t want to) get the old hardware out, even if it would still work.
I was in such a position that I had to install Windows 2000 Server. After locating the installation media, I decided it was a good idea to get it running on the 2019 Hyper-V cluster. This actually can be done, but there are a few hoops to jump through:

– The base VM must be setup with a legacy network card.
– Also the vCPU must be set to legacy mode for this VM.
– The Windows 2000 installation media must have SP4 slipstreamed.
If SP4 is not slipstreamed into the installation media, setup will not even properly start, but will Blue Screen with:

STOP: 0x0000001E (…) KMODE_EXCEPTION_NOT_HANDLED on the driver acpi.sys

If you don’t have the original installation media with SP4 installed, you can download SP4 from WinWorldPC and slipstream yourself as explained here.

Creating the VM

This part is pretty much the standard process. I’ve named my VM: Windows 2000 Adv En, Generation 1 VM type, Startup Memory of 3072MB and make sure Dynamic Memory is turned off. Also leave the network card as Not Connected. (We’ll connect the NIC in a later stage)
Note: I’ve put the RAM to 3GB as Windows 2000 is a 32bit operating system and is not capable of addressing much more without some PAE trickery)

Create a new virtual hard disk. For Windows 2000 you don’t really need a lot, so I gave it 20GB. A lot more than it needs, but it doesn’t really matter. A fixed size seems to be the fastest for the installation, as the formatting of the disk during setup seems faster. Make sure you create a VHD and not a VHDX. The OS intermittently Blue Screens after the installation of the storage drivers when a VHDX is used.

Next remove the SCSI controller. Windows 2000 does not support the SCSI controller and will Blue Screen with:

STOP: 0xC0000263 {Driver Entry Point Not Found} The \SystemRoot\system32\DRIVERS\storvsc.sys device driver could not locate the entry point ZwQueryFullAttributesFile in driver ntoskrnl.exe.

On the install options tick the box to install an operating system from a bootable CD/DVD-ROM, select Image File and browse to where the Windows 2000 iso is stored and click finish.

Enable legacy settings

The following step is to enable the vCPU legacy compatibility for Windows 2000. So open up Powershell in administrator mode and enter:

Set-VMProcessor <VM Name Here> -CompatibilityForOlderOperatingSystemsEnabled $true

So in my case I type:

Set-VMProcessor “Windows 2000 Adv En” -CompatibilityForOlderOperatingSystemsEnabled $true
(Notice the quotes. These are needed if you have spaces in your VM name)

If you need network access, you need to setup a legacy network adapter. In the Hyper-V manager select Settings for your VM and select Network Adapter. Click the Remove button. Now click on Add Hardware and add a Legacy Network Adapter. The NIC will stay disconnected if you don’t specifically connected to the virtual switch in the settings of the Legacy Network Adapter. If you have any further network configuration, like named vLANs, you can set these there.
Note: Since Windows 2000 (and this goes for Windows NT3.51, NT4 and 2003 as well) has not had any security patches for years and these were not known for a robust security to begin with, be very careful connecting a legacy VM like this one to the internet. Take extra steps to protect your network in these times of ransomware and other malicious software.

From here you can follow the normal setup process for Windows 2000 and this should succeed. During the setup of the operating system, the mouse is not going to be available. You will not be able to immediately add the server to a domain during setup either. The reason for this is that Server 2019 does not offer Windows 2000 compatible integration services. These will have to be installed manually after setup completes.
The latest installable integration services that will install most drivers on Windows 2000 are the vmguest.iso is for Windows Server 2008R2 (Linked below), but the 2008 version will work. Unfortunately Microsoft no longer officially hosts these on their webpage.

Various versions of the VM Guest tools:
Hyper-V2008-vmguest.iso
Hyper-V2008R2-vmguest.iso
Hyper-V2012R2-vmguest.iso

Product Keys for Windows 2000 (Taken from WinWorldPC):

Pro: RBDC9-VTRC8-D7972-J97JY-PRVMG
Server: H6TWQ-TQQM8-HXJYG-D69F7-R84VM
Advanced Server: WY6PG-M2YPT-KGT4H-CPY6T-GRDCY

Abandonware

Windows ME on Dosbox ECE, even on Raspberry Pi4b

If you search the web you’ll find a lot statements that the installation of Windows Millennium or Windows ME on Dosbox is just not possible, that it will not work, that it will not even complete setup, no matter what.
I wouldn’t be writing this if I hadn’t found differently. Nowadays it is indeed possible to run Windows ME on Dosbox and, even though it’s not supported, it is fairly stable. At least more stable than I expected and a lot more stable than Windows 98SE on the same environment.

Now the question is “Why? Why would anyone want to install an OS that was (and still is) considered the second most horrible operating system ever released by Microsoft? (The first most hated is Windows Vista) The answer to that is simple: Because people said it could not be done while there is no logical reason for this not to work. Also I never developed a bias against it as I didn’t use it at the time. I had a dual-boot Windows 98SE/Windows 2000 workstation and before I finally got around installing ME, Windows XP was launched.

Anyway, below a quick and dirty video of Dune 2000 on Windows Millennium running on a Raspberry Pi4b with Dosbian 1.5 install. One of these days I’ll modify this post with a how-to installing Windows ME on Dosbox.

Games

Caesar IV – Runtime error on Windows 10

When trying to run the Steam version of Caesar IV on Windows 10, a runtime error will pop up and will close the game.

The Eventlog gives this:

Before immediately going for the refund, there are a few things that can be done to get this working. (this does not have to be done in this specific order, as long as it’s done before running the game again)

  1. In the folder “C:\Program Files (x86)\Steam\steamapps\common\Caesar 4\C4” right-click on the file: “RegisterDLL.bat” and select “Run as administrator”
  2. In the same folder, “C:\Program Files (x86)\Steam\steamapps\common\Caesar 4\C4” right-click on the file: “CaesarIV.exe”, click on Properties, there click on the “Compatibility” tab and select: “Run this program in compatibility mode for: Windows XP (Service Pack 2)” and “Run this program as administrator” and click the Apply button.

3. Download and install “DirectX End-User Runtimes (June 2010)” from the Microsoft page: https://www.microsoft.com/en-us/download/details.aspx?id=8109

The system does not have to be rebooted.

Note: This was tested on various versions of Windows 10 up to 20H2 fully patched until January 2021.
Updated on the 27th of January 2021

Microsoft Generic

Slipstreaming Service Pack 4 into Windows 2000

When installing Windows 2000 (and also Windows NT4 or Windows XP/2003 or even MS Office versions), it’s usually easier and less error-prone to install the OS with the latest service-pack or SP already slipstreamed into the installation media. Quite often this will resolve driver issues which may cause Blue Screens of Death during installation.
This guide assumes you already have a copy of the installation media and SP handy and further assumes you’re working on the D-drive. The mounted image or DVD drive is assumed to be the E-Drive. You can substitute the drive letters with whichever you’re using.

What do we need:
1) At least 1GB free space on the hard disk you’re working on
2) A CDR/CDRW drive to burn the CD or a USB Pendrive with sufficient capacity already made bootable before copying the slipstreamed image
3) A Windows 2000 installation disc or .iso image
4) A copy of Windows 2000 SP4 in the same language as the install media

From here I find it easiest to work with the command prompt. This is just a habit however and there is no real difference between working with the prompt or working with the GUI.

Mount the installation media and create a work-in-progress folder:
mkdir D:\Windows2000\i386
cd D:\Windows2000\i386

Copy the contents of the i386 directory of the installation media to the folder you just created with:
xcopy e:\i386 d:\Windows2000\i386 /e

The servicepack you downloaded, is usually an executable. You can extract this with typing the filename.exe -x, so in my case that is:
D:\SP4\w2ksp4_en.exe -x

You’ll get a popup box asking for the destination of the extracted files. I normally put these in the same directory, so I enter: D:\SP4 and click Ok.
Once this is completed, CD to the directory with the extracted files:
cd D:\SP4\i386\update

Now run the following command to update the Windows 2000 installation folder:
D:\SP4\i386\Update\Update.exe -s:D:\Windows2000
Note: There is a space between Update.exe and the -s switch, but there is no space between the -s and the destination. You don’t need to specify the i386 folder in the path here.

Once this has completed, copy the contents of the Windows2000\i386 directory to your bootable pendrive or burn it to CD/DVD.