You may have noticed if you have a Windows 2000 system that it will not let you change any of the resources in the Device Manager. For instance, say you have a really old program that requires your modem to be set to IRQ 3 and COM Port 2. You open up the Device Manager and find out that your computer has assigned it something like IRQ 9. No problem, you just click on the button to let you customize the settings and... whoops! it's greyed out! What do you do now?

This is a layman's explaination as to what is happening and how to get around it. Your computer is using something called Advanced Configuration and Power Interface (ACPI) Hardware Abstraction Layer (HAL), or ACPI-HAL for short. By design, the HAL does not let you change any of the resources. Great. Just bloody great. What's their fix for it? Read on.

Microsoft suggests you reinstall 2000 and disable the ACPI-HAL during setup. Well that's great, provided you know how. Well, here's how.

  1. First and foremost. Back up your stuff: saved games, novels you are writing, hard to find porn, etc. Because you're about to erase everything.
  2. Everyone forgets this step. Go to your device manager and print it out. This will save you hours in hunting down what driver type you need.
  3. Now, boot to your Windows 98 floppy you have hopefully kept lying around for just such occasions (to play those pesky DOS games on CD-ROM probably). You don't have one? You don't know How to make a DOS Boot diskette that will recognize your CD-ROM? Well that's another node altogether.
  4. Now run FDisk. Delete your partitions. Yep. Sucks. All that work for nothing, eh? Thanks Microsoft for this great undocumented feature. I won't bother posting instructions because it's pretty darn easy to use FDISK.
  5. Exit without creating new partitions. Put your Windows 2000 CD in the drive. Boot to CD-ROM. Very soon when you see the blue screen you'll see something to the effect of

    Press F6 if you need to install a third party SCSI or RAID driver.

  6. Very quickly press F5 a couple of times. You will then get a list of Computer Types. Choose Standard PC.
  7. After that, go through the rest of the installation normally.
  8. You should now be able to edit your Hardware Resource Settings in the Device Manager, if not, you might have to disable ACPI in the BIOS. But do not try that before you do this, or your machine will cease to boot up (about a 1 in 3 chance).
To change from ACPI to APM, you don't need to delete your partitions1. What to do instead is:
  1. Back up your data (just in case)
  2. Boot off the windows 2000 cd, pressing F5 when it prompts about raid controllers
  3. Select 'Standard PC'
  4. Choose to do an upgrade install2 on the partition windows 2000 is currently installed on.
  5. Optionally, disable the ACPI device in the BIOS.
  6. Reapply any service packs.3

The reason you have to run setup again, rather than just changing the hardware abstraction layer in device manager is that windows NTs depend on a device heirarchy stored in the registry to be able to boot properly. Changing from ACPI to APM so drastically alters the machine that the stored heirarchy often does not correspond to the actual hardware to a sufficient extent for the machine to boot. Windows 2000 can recreate the tree once it boots, but if it can't do that the install is rendered unusable. Running setup recreates the device heirarchy from scratch, so the machine is guaranteed to boot properly. Changing the HAL in device manager can render your machine unbootable, or worse.

A better solution than switching to APM is to get rid of your old hardware/software. As long as the device works, there's no reason to be concerned about it sharing IRQs. If your software is so old that it tries to drive the device directly instead of through windows, your problems are just going to get worse when you upgrade your operating system, as each successive version of windows is more strict on direct device access. Programs that are written to use the APIs instead of the hardware will work well into the future. (For example, telemate talks directly to dos com ports, and can't use a winmodem, even in windows. Hyperterminal predates the winmodem, but works with it anyway, as it talks to the windows API, and the hardware differences are hidden from it.)

1 - If you really want to delete all your partitions, you can do that by booting from the windows 2000 setup CD, rather than messing about with windows 98 boot disks.

2 - Windows XP calls this a repair install, but don't confuse it with the 'press R to reapir an install' option on the first menu.

3 - If you are installing off a CD with the service pack slipstreamed, you can omit this step.

The easy way (works in 2000 and XP), and you'll want to backup first, just in case:

  • Open the Device Manager.
  • Expand the 'Computer' section.
  • Right-click 'Advanced Configuration and Power Interface (ACPI) PC'.
  • Choose properties.
  • Open the 'Driver' tab. 'Update driver'.
  • Select from a list.
  • Choose 'Standard PC'.
  • Reboot.

You may need to have most of your driver disks and CDs handy, Windows will redetect every device and ask nicely for every driver.

There are issues with this method - Sometimes it doesn't work and renders the machine unbootable. Running setup again, hitting F5 when prompted to hit F6 and choosing 'Standard PC' should fix this. It may leave the machine highly unstable, again, running setup again should work.

Given the chance that it may just work, though, it tends to beat a re-install hands down.

Log in or register to write something here or to contact authors.