0

I installed Windows 2000 on Virtualbox. Is it possible to extract the contents of the VHD to another drive(all folders and all files) and use easybcd or bcdedit to add Win2k as a option in the bootloader? If it is possible, how could one achieve that? And would it work if I have a i5-2430M processor with 16 gigs of ram as well as a SATA HDD?

LeninYT
  • 19
  • 1
  • 1
  • 3

1 Answers1

0

AFAIK, Windows 2000 does not recognize SATA drives. I installed Windows 2000 in a VirtualBox VM on an PATA (IDE) drive, then added SP4 and the Update Rollup 1 for Win2k SP 4 (KB891861). Next, I added a SATA drive and could not get Windows 2000 to recognize the SATA drive. The host machine has an Intel Core i5-2400S CPU @ 2.50GHz. Due to these results, this answer will assume the contents of VHD file containing Windows 2000 will be copied to a physical PATA drive.

The Windows 2000 was installed in a guest VM, which hardware differs from the host machine. When first booting in the host, the Windows 2000 installation will detect changes in the hardware and most likely request drivers for the new hardware found. You should either have copied any known drivers to the PATA drive in advance or have them available on a USB flash drive. Windows 2000 may not recognize USB 3.0 or newer, which can be a problematic, if both the USB port and flash drive are capable of USB 3.0 or newer. Such problems can be eliminated by forcing USB 2.0 usage by connecting through a USB 2.0 extension cable such as this one.

Note: There is also the possibility that Windows 2000 will not boot at all using your current physical hardware configuration.

Copying the VHD to a PATA drive.

Linux and macOS can copy MBR partitioned drives by using the dd command. A Windows version of this command can be acquired by downloading ddrelease64.exe (or the 32 bit dd-0.6beta3.zip) from chrysocome.net. This instructions for use can be found here.

  • A bootable 64 bit Windows 7 with SP1 is installed on a 160 GiB SATA drive with separate system and boot volumes.
  • The 80 GiB PATA drive where Windows 2000 is to be copied is installed as the Primary Master IDE drive.
  • The file containing the Windows 2000 installation drive is named W2000.vhd and is in my Desktop folder. The size of the drive is 4 GiB.
  • The ddrelease64.exe file is in my Desktop folder.

The steps are given below.

  1. Open a Command Prompt window as an administrator.
  2. Enter the command below to change current directory to my Desktop folder.
    cd /d %userprofile%\desktop
    
  3. Use the diskpart command to attach the VHD file and offline the disks to be copied from and to. An example is given below.
    C:\Users\dma\Desktop>diskpart
    

    Microsoft DiskPart version 6.1.7601 Copyright (C) 1999-2008 Microsoft Corporation. On computer: WINDOWS7

    DISKPART> list disk

    Disk ### Status Size Free Dyn Gpt


    Disk 0 Online 80 GB 0 B Disk 1 Online 160 GB 0 B

    DISKPART> select disk 0

    Disk 0 is now the selected disk.

    DISKPART> clean

    DiskPart succeeded in cleaning the disk.

    DISKPART> offline disk

    DiskPart successfully offlined the selected disk.

    DISKPART> select vdisk file=%userprofile%\desktop\w2000.vhd

    DiskPart successfully selected the virtual disk file.

    DISKPART> attach vdisk

    100 percent completed

    DiskPart successfully attached the virtual disk file.

    DISKPART> offline disk

    DiskPart successfully offlined the selected disk.

    DISKPART> list disk

    Disk ### Status Size Free Dyn Gpt


    Disk 0 Offline 80 GB 80 GB Disk 1 Online 160 GB 0 B

    • Disk 2 Offline 4096 MB 8 MB

    DISKPART> exit

    Leaving DiskPart...

    C:\Users\dma\Desktop>

  4. Based on the above output, the following command can be used to copy the Windows 2000 installation from the VHD file to the PATA drive.
    ddrelease64 if=\\?\Device\Harddisk2\Partition0 bs=1M --size --progress of=\\?\Device\Harddisk0\Partition0
    
    An example is given below.
    C:\Users\dma\Desktop>ddrelease64 if=\\?\Device\Harddisk2\Partition0 bs=1M --size --progress of=\\?\Device\Harddisk0\Partition0
    rawwrite dd for windows version 1.0beta1 WIN64.
    Written by John Newbigin <jnewbigin@chrysocome.net>
    This program is covered by terms of the GPL Version 2.
    

    4,096M 4096+0 records in 4096+0 records out

    C:\Users\dma\Desktop>

  5. Use the diskpart command to detach the VHD file and online the PATA disk. An example is given below.
    C:\Users\dma\Desktop>diskpart
    

    Microsoft DiskPart version 6.1.7601 Copyright (C) 1999-2008 Microsoft Corporation. On computer: WINDOWS7

    DISKPART> rescan

    Please wait while DiskPart scans your configuration...

    DiskPart has finished scanning your configuration.

    DISKPART> select vdisk file=%userprofile%\desktop\w2000.vhd

    DiskPart successfully selected the virtual disk file.

    DISKPART> detach vdisk

    DiskPart successfully detached the virtual disk file.

    DISKPART> select disk 0

    Disk 0 is now the selected disk.

    DISKPART> online disk

    DiskPart successfully onlined the selected disk.

    DISKPART> list volume

    Volume ### Ltr Label Fs Type Size Status Info


    Volume 0 E DVD-ROM 0 B No Media Volume 1 System Rese NTFS Partition 100 MB Healthy System Volume 2 C Windows7 NTFS Partition 159 GB Healthy Boot Volume 3 D Windows2000 NTFS Partition 4086 MB Healthy

    DISKPART> exit

    Leaving DiskPart...

    C:\Users\dma\Desktop>

Booting with Windows 7 installed on a SATA drive.

Here the assumption the computer can be configured to boot directly from the SATA drive. The PATA drive containing Windows 2000 is installed to be the Primary Master IDE drive. Windows 7 with SP1 included is installed on the SATA drive with separate system and boot volumes.

To add Windows 2000 to the boot menu, follow the steps given below. Many of the Windows commands will need to be entered in an "Administrator: Command Prompt" window.

  1. Boot to Windows 7.

  2. If necessary, assign a drive letter to the system volume. The command below caption of the system volume.

    C:\Windows\system32>wmic volume get caption,systemvolume | find "TRUE"
    \\?\Volume{38b0211e-6c7f-11ef-aa46-806e6f6e6963}\  TRUE
    

    An alternative, to using the deprecated wmic command, would be to use the following Power Shell command.

    PS C:\Users\dma> gwmi win32_volume | where-object {$_.systemvolume -match "True"} | foreach-object { echo "$(echo $_.caption)"}
    \\?\Volume{38b0211e-6c7f-11ef-aa46-806e6f6e6963}\
    

    The output of both commands show the system volume has not be assigned a drive letter. The command below does this.

    mountvol s: \\?\Volume{38b0211e-6c7f-11ef-aa46-806e6f6e6963}\
    
  3. Edit the Boot Configuration Data (BCD) file.

    The command below add Windows 2000 to the bcd file on the system volume. Note that Windows 2000 is installed the volume assign the drive letter D:. Note: you probably can omit entering /store s:\boot\bcd.

    bcdedit /store s:\boot\bcd /create {ntldr} /d "Windows 2000"
    bcdedit /store s:\boot\bcd /set {ntldr} device partition=d:
    bcdedit /store s:\boot\bcd /set {ntldr} path \ntldr
    bcdedit /store s:\boot\bcd /displayorder {ntldr} /addlast
    
  4. Copy boot files from Windows 2000 volume to the system volume. If the firmware ranks the PATA drive as disk 0 and the SATA drive as disk 1, then this step is unnecessary. However, if the opposite occurs then ntldr will look for boot.ini and NTDETECT of the system volume. The commands below copy these files to the system volume.

    cd /d d:\
    attrib -h -s boot.ini
    copy boot.ini s:\
    attrib +h +s boot.ini
    attrib +h +s s:\boot.ini
    attrib -h -s NTDETECT.COM
    copy NTDETECT.COM s:\
    attrib +h +s NTDETECT.com
    attrib +h +s +r s:\NTDETECT.com
    

    Enter the command below to edit the boot.ini file on the system volume.

    notepad s:\boot.ini
    

    Below is the original contents.

    [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 Professional"
    /fastdetect
    

    The contents should be change to the following. Basically, replace rdisk(0) with rdisk(1).

    [boot loader]
    timeout=30
    default=multi(0)disk(0)rdisk(1)partition(1)\WINNT
    [operating systems]
    multi(0)disk(0)rdisk(1)partition(1)\WINNT="Microsoft Windows 2000 Professional"
    /fastdetect
    
  5. Since the system volume was not originally assigned a drive letter, the next command is entered which remove the assign letter of S:.

    mountvol s: /d
    

Booting with Windows 7 installed on a PATA drive.

The PATA drive containing Windows 7 with SP1 included is installed with separate system and boot volumes to be the Primary Master IDE drive. The PATA drive containing Windows 2000 is installed to be the Secondary Master IDE drive. With this configuration, the steps would be the same as the given in the previous section.

References