Diskpart.exe Warning when expanding drive


Recently when using diskpart.exe to expand a volume on a Windows Server 2000 SP4 machine, we got a warning "Deleting the primary partition has modified the partition number of the partition that contains your Windows 2000 system files.  The old partition number was 2; the new partition number is 1."

We changed the boot.ini file from:

[boot loader]
timeout=30
default=multi(0)disk(0)rdisk(0)partition(2)\WINNT
[operating systems]
multi(0)disk(0)rdisk(0)partition(2)\WINNT="Microsoft Windows 2000 Server" /fastdetect

to:

[boot loader]
timeout=30
default=multi(0)disk(0)rdisk(0)partition(1)\WINNT
[operating systems]
multi(0)disk(0)rdisk(0)partition(1)\WINNT="Microsoft Windows 2000 Server" /fastdetect

On rebooting the server, the server refused to boot throwing an NT Kernel not found error.

How to fix it:

If you get this error, before you reboot the server, you first identify the active boot partition – to do this, you need to start diskpart.exe from the command line and run the command ‘list volume’. You should get an output as follows:

DISKPART> list volume

  Volume ###  Ltr  Label        Fs     Type        Size     Status     Info
  ———-  —  ———–  —–  ———-  ——-  ———  ——–
  Volume 0     D                       DVD-ROM         0 B
  Volume 1     C   IBM_PRELOAD  NTFS   Partition     34 GB  Healthy    System
  Volume 2     E   Data         NTFS   Partition    115 GB  Healthy

In the output shown above, the section under ‘Info’ shows ‘System’ for ‘Volume 1’ indicating that the boot partition is on Volume 1 so the boot loader should have the following to correctly boot the OS.

multi(0)disk(0)rdisk(0)partition(1)\WINNT="Microsoft Windows 2000 Server" /fastdetect

Now to ensure that you have a better chance of booting the OS in case something really has gone wrong with the results of ‘list volume’ you can use a boot.ini file as follows:

[boot loader]
timeout=30
default=multi(0)disk(0)rdisk(0)partition(1)\WINNT
[operating systems]
multi(0)disk(0)rdisk(0)partition(1)\WINNT="Microsoft Windows 2000 Server" /fastdetect
multi(0)disk(0)rdisk(0)partition(2)\WINNT="Microsoft Windows 2000 Server-2" /fastdetect

The benefit of choosing the above mentioned approach is that you get the option of selecting which drive would correctly boot the OS without having to go through a painful recovery mode process of trying to fix the boot record.

Once you know which entry boots the OS, you can edit your boot.ini file to remove the incorrect entry and have the server boot fine for all successive reboots.

Related posts:

  1. Get list of machines by OS type from Active Directory
  2. How to Backup and Restore Active Directory
  3. Setting up Split Brain DNS in Windows Server 2003
  4. Exchange 2007 Recreate OWA folders

, ,

  1. #1 by Steve on September 10, 2009 - 12:13 AM

    Thanks saved me from mucking about for 30mins trying to fix…

(will not be published)