So, you've copied a windows 2000 partition to another drive (with partition magic, for instance), and now you want to make it bootable...

NT always boots from the first partition on the drive, which can be either a FAT partition (possibly with windows 9x on it), or an NTFS partition with windows 2000.

If 2000 is your only operating system, make the partition primary and active, so that the BIOS can boot from its boot sector1. If this isn't possible, reinstalling from the CD, and then copying the image over again when it first reboots will enable it to boot off the partition even if it is an extended.

If you're moving the partition to the same location (controller/drive/partition) as last time, you're in business. If not (if a message saying NTLDR is missing appears, for instance), boot from the install CD, and enter the recovery console (it will prompt you for the root password). Type MAP to discover where the partition is mounted now, and write this down.

The next task is to edit the file boot.ini, in the root of the boot partition. This is much easier for a fat partition, as a dos boot disk with edit can be used. If it's NTFS, either a linux boot disk, or a working windows 2000 installation is necessary to edit the file. (I'm not sure if you can even edit a file using the rescue console using copy con.)

Your boot.ini will look something like this:
[boot loader]
timeout=5
default=multi(0)disk(0)rdisk(0)partition(1)\WINNT
[operating systems]
multi(0)disk(0)rdisk(0)partition(1)\WINNT="Microsoft Windows 2000 Professional" /fastdetect
C:\ = "Microsoft Windows"
Line 5 (begining "multi(0)"...) is the one that needs to be changed to match the output MAP produced earlier. The meaning of the fields are as follows:
*multi/scsi - Controller id of controller the boot device is attached to.
*disk - The SCSI id of the drive. (On IDE systems, 0=master, 1=slave)
rdisk - Logical disk in multi-disk devices (such as CD changers?). 0 on almost any system.
*partition - Logical partition number on the disk.
Fields marked with a * are shown in the output of map.

The first entry in the line may also be 'signature(hhhhhhhh)', where hhhhhhhh is an MBR signature on a some drive attached to the boot controller. Note that disk must still be set correctly even if the signature is that of the boot drive. If signiature is in use, then the file ntbootdd.sys on the same partition as boot.ini must be an NT driver for the controller that the operating system is to be booted off. This should normally take care of itself, unless the scsi/ide card has been changed.

Set the values, save the file, and the machine will boot... Hopefully :)

1 - If this doesn't work (the machine just sits there, for instance), boot to the recovery console, and run fixboot, fixmbr.

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