Hyper-V and Legacy Applications (Part 5)

by [Published on 7 May 2009 / Last Updated on 7 May 2009]

Completing the Windows NT deployment process by installing a service pack and connecting Windows NT to the network.

If you would like to read the other parts of this aritcle series please go to

Introduction

In the last article in this series, we got Windows NT up and running in a Hyper-V environment. Even so, our deployment is not complete because we do not presently have any network connectivity. It is also a bit lacking because we have yet to install the most recent service pack. In this article, we will work through these issues.

Establishing Network Connectivity

If you have done much work with Hyper-V, then you know that you have to install the integration services before you can establish any sort of network connectivity. If you look at Figure A though, you can see that Windows NT does not recognize the integration services disk as being valid. You get the same message whether you try to double click on the disk, or on a file within the disk.


Figure A: The Integration Services are not a valid Windows NT application

Fortunately, Microsoft did provide us with an alternate means for connecting to the network. In situations in which installing the integration services proves to be impossible, you can configure Hyper-V to emulate a legacy network adapter. Before I show you how it’s done though, you will have to shut down Windows NT.

Once Windows NT has been shut down, select your Windows NT server within the Hyper-V Manager, and then click the Settings link, found in the Actions pane. This will cause Windows to open the Settings dialog box for the virtual machine.

Choose the Add Hardware option, and then select the Legacy Network Adapter option, as shown in Figure B.


Figure B: Choose the Legacy Network Adapter, and click the Add button

You will now be taken to the Legacy Network Adapter screen. You must bind the legacy network adapter to a physical network adapter, as shown in Figure C. If you look at the bottom of the figure, you will see a warning message from Microsoft that discourages you from using a legacy network adapter because of its slow performance. In this case we don’t have a choice though, so go ahead and click OK.


Figure C: You must bind your legacy network adapter to a physical network adapter

Now that you have configured the legacy network adapter, go ahead and restart Windows NT.

Service Packs and Drivers

We have configured our virtual machine to use an emulated network card that is compatible with Windows NT, but Windows NT does not include a driver for the card. On top of that though, we also have not installed any service packs for Windows NT.

My advice is to use another machine to download Service Pack 6A and the network card drivers. After doing so, you can burn them to a CD, and you can use that CD to install the service pack and the network card drivers to your virtual machine. Sounds simple, right? Well, as with many things in life there is a catch.

Windows NT is so old that Microsoft won’t even allow you to download the service packs any more. Furthermore, the network adapter that the virtual machine is emulating is an Intel 21140 card. Intel does not seem to offer drivers for this NIC any more either. Fortunately, there are other places on the Web where you can download these files.

I found Windows NT Service Pack 6A here. It is possible that by the time you read this article, the site may not have the service pack any more. If that happens, then try doing a Google search on the phrase “Download Windows NT SP6A” (but without the quotation marks).

I located the drivers for the emulated NIC here. Getting the right driver is a little bit tricky. The site does not offer any drivers that are specifically listed as being for the Intel 21140. However, if you scroll through the list of drivers, you will find a section of drivers for the Intel 21143. All of the Intel 21000 series NICs can use the same driver. The driver file that you are going to need is listed as NDIS3, NDIS4 and NDIS5 Unified 21xxx drivers v5.05.

When you download the drivers, they are zipped, so I recommend unzipping them prior to burning the drivers to a CD.

Installing the Service Pack

Installing the service pack is a pretty simple process. It really isn’t that much different from installing a modern service pack.

The only gotcha that I ran into was that every time that I tried to install the service pack, my virtual machine locked up at the end of the extraction process. I don’t know if it was my technique, or if it was just luck, but I eventually got the installation to work by copying the service pack file to an empty folder on my virtual machine’s hard drive before I attempted the installation.

When the service pack finishes installing, be sure to reboot Windows NT.

Installing the NIC Driver

When we first installed Windows NT, the installation process would not let us continue unless we picked a NIC to install. I picked a random NIC, so we are going to have to remove the driver for that NIC before we install the driver for our emulated NIC. To remove the invalid driver and install the correct one, click on the Start button, and then open the Control Panel. It’s located on the Settings menu.

When the Control Panel opens, double click on the Network icon, and then go to the network properties sheet’s Adapters tab. Select the currently listed network adapter, and click the Remove button.

Now click the Add button, and you will see a list of all of the NIC drivers that Windows NT knows about. Our adapter isn’t listed, so click the Have Disk button.

Windows NT was created before the invention of the Browse button, so you are going to have to provide the full path to the driver files. On my machine, the path was D:\i386\WNT40\NDIS40. Once you have entered to correct path, Windows will display a list of available drivers, as shown in Figure D. Choose the Intel 21140 based 10/100 mbps Ethernet Controller option, as shown in the figure.


Figure D: Choose the Intel 21140 based 10/100 mbps Ethernet Controller option

Click OK and you will be prompted to select the connection type. Set the Connection type to AutoSense, as shown in Figure E, and click OK.


Figure E: Set the connection type to AutoSense

At this point, you may be prompted to enter your TCP/IP settings for the NIC. After doing so, click OK, and you should see the NIC displayed on the list of adapters, as shown in Figure F.


Figure F: The Intel 21140 should be the only NIC displayed on the adapter list

Click Close, and reboot the virtual machine. You should now have network connectivity, as shown in Figure G.


Figure G: You should now have network connectivity

Conclusion

It has been a lot of work making Windows NT function in a Hyper-V virtual machine, but it is possible to make it work. Just keep in mind that although this configuration works, Microsoft does not support it because of Windows NT’s age.

If you would like to read the other parts of this aritcle series please go to

Featured Links