Microsoft KB Archive/919529

From BetaArchive Wiki

Article ID: 919529

Article Last Modified on 8/7/2007



APPLIES TO

  • Windows Vista Home Basic
  • Windows Vista Home Premium
  • Windows Vista Ultimate
  • Windows Vista Business
  • Windows Vista Enterprise
  • Windows Vista Starter
  • Windows Vista Home Basic 64-bit Edition
  • Windows Vista Home Premium 64-bit Edition
  • Windows Vista Ultimate 64-bit Edition
  • Windows Vista Business 64-bit Edition
  • Windows Vista Enterprise 64-bit Edition
  • Microsoft Windows XP Home Edition
  • Microsoft Windows XP Professional
  • Microsoft Windows Server 2003, Standard Edition (32-bit x86)
  • Microsoft Windows Server 2003, Enterprise Edition (32-bit x86)



SYMPTOMS

After you install an earlier version of the Windows operating system on a Microsoft Windows Vista-based computer in a dual-boot configuration, you may experience one of the following issues:

  • If you install an earlier version of the Windows operating system on a Windows Vista-based computer, Windows Vista no longer starts. In this case, only the earlier version of the Windows operating system starts.
  • If you install an additional instance of Microsoft Windows XP on a computer where Windows XP and Windows Vista are already installed in a dual-boot configuration, you may receive the following error message:

    Disk read error has occurred.


CAUSE

These issues occur because earlier versions of the Windows operating system are incompatible with the new Windows Vista startup method. Windows Vista uses a new Boot Configuration Database (BCD) store. This store contains a boot menu and all the information about operating systems that are installed on the computer. Therefore, a Boot.ini file that is from an earlier version of the Windows operating system cannot be used to start Windows Vista.

In earlier versions of the Windows operating system that run on a basic input/output system (BIOS)-based computer, such as Windows XP, the boot process starts with the system BIOS. The BIOS determines the boot device, and then loads the first physical sector. This physical sector is named the master boot record (MBR). The MBR contains the partition table and the necessary boot execution code. This code searches the partition table to find the active partition and passes control to the boot sector on the active partition. Then, the boot sector on the active partition loads the Ntldr program. The Ntldr program parses the Boot.ini file. This file is used to enumerate the operating systems that are installed.

When Windows Vista starts on a BIOS-based computer, the BIOS loads the MBR and then loads the boot sector. However, boot code loads the new Windows Boot Manager program (Bootmgr). The Windows Boot Manager program parses the Boot Configuration Data file, enumerates the installed operating systems, and then displays the boot menu. If an earlier version of the Windows operating system is installed in a dual-boot configuration with Windows Vista, the Windows Boot Manager program transfers control to the Ntldr program for the earlier version of the Windows operating system. The Windows Boot Manager program does this when you select Windows Vista from the boot menu.

When you install an earlier version of the Windows operating system on a Windows Vista-based computer, Setup overwrites everything from the MBR, the boot sector, and the boot files. Therefore, the earlier version the Windows operating system loses forward compatibility with Windows Vista.

RESOLUTION

To resolve these issues, follow these steps.

Note You can run the commands in the following procedure by using the command prompt. If you run these commands in Windows Vista, run them at a command prompt that has elevated user rights. To do this, click Start, click Accessories, right-click the command-prompt shortcut, and then click Run as Administrator.

  1. Use Bootsect.exe to restore the Windows Vista MBR and the boot code that transfers control to the Windows Boot Manager program. To do this, type the following command at a command prompt: Drive:\boot\Bootsect.exe /NT60 All


In this command, Drive is the drive where the Windows Vista installation media is located.

Note The boot folder for this step is on the DVD drive.

  1. Use Bcdedit.exe to manually create an entry in the BCD Boot.ini file for the earlier version of the Windows operating system. To do this, type the following commands at a command prompt.


Note In these commands, Drive is the drive where Windows Vista is installed.

    • Drive:\Windows\system32\Bcdedit /create {ntldr} /d "Description for earlier Windows version"


Note In this command, Description for earlier Windows version can be any text that you want. For example, Description for earlier Windows version can be "Windows XP" or "Windows Server 2003".

    • Drive:\Windows\system32\Bcdedit /set {ntldr} device partition=x:


Note In this command, x: is the drive letter for the active partition.

    • Drive:\Windows\system32\Bcdedit /set {ntldr} path \ntldr
    • Drive:\Windows\system32\Bcdedit /displayorder {ntldr} /addlast
  1. Restart the computer.


MORE INFORMATION

To start versions of the Windows operating systems that are based on Microsoft Windows NT, you need the following files:

  • Ntldr
  • Boot.ini
  • Bootfont.bin


Note You need to use this file when you install the Windows versions of the East Asian languages.

  • NTDetect.com

In Windows XP, these files reside on the system partition that is marked "active." By default, these files are hidden system files in Windows XP. Users can replace these files by using the Recovery Console, or users can start the operating system by using a Windows NT boot disk. Windows Vista does not use these three files. Windows Vista starts by using the hidden system file Bootmgr and other required files that are located in the \Boot directory.

Creating a multi-boot configuration that includes Windows Vista

To create a working multi-boot configuration, install the oldest version of the Windows operating system first. Then, install each newer version in order. Every new Windows version preserves backward compatibility for starting earlier Windows versions.

To create a multi-boot configuration that includes Windows Vista, you must have at least one partition for each earlier Windows version that you install. Follow these general guidelines:

  • Create at least two partitions. Use one partition for the Windows Vista installation.


Note If the partition for Windows Vista is already formatted, make sure that it is formatted by using the NTFS file system. However, we recommend that you use one of the following methods:

    • Create the second unformatted partition.
    • Do not create the second partition and leave the space as free space. Instead, create the second partition during the Windows Vista installation.
  • If the computer does not have an operating system installed, install the oldest Windows version first.


Note Install Windows XP before you install Windows Server 2003.

  • Run the Windows Vista Setup program. Install Windows Vista in the free space or in the existing partition. You can run this Setup program in the earlier Windows version, or you can start the computer when the Windows Vista disc is in the CD or DVD drive.

After Windows Vista Setup finishes, you will have a correctly-configured, multi-boot environment that includes Windows Vista and the earlier versions of Windows. The Bootmgr boot menu that appears resembles the following menu:

Microsoft Windows Earlier Windows Operating System


Removing Windows Vista from a dual-boot configuration

If you want to remove Windows Vista from a dual-boot environment that includes an earlier version of Windows, follow these steps.

Note You can follow these steps in the earlier version of Windows or in Windows Vista. If you follow these steps in Windows Vista, run the commands from a command-prompt that has elevated user rights. To do this, click Start, click Accessories, right-click the command-prompt shortcut, and then click Run as Administrator.

  1. Use Bootsect.exe to restore the Ntldr program. To do this, type the following command: Drive:\Boot\Bootsect.exe –NT52 All

    Note In this command, Drive is the drive where the Windows Vista media is located.

    After the computer restarts, it does not load the Windows Boot Manager program. Instead, Netldr.exe loads and Boot.ini loads.
  2. Delete or remove the partition where Windows Vista is installed.

    Important You can only delete the partition where Windows Vista is installed if that partition is the non-active partition on the system. For example, consider the following scenario:
    • Windows Vista is installed on drive C. Drive C is partition 1 and is the active partition.
    • Windows XP is installed on the drive D. Drive D is partition 2 and is the non-active partition.
    In this scenario, you can run the bootsect command, but you cannot delete the partition where Windows Vista is installed. If you delete this partition, the computer is put into a non-bootable state because Windows XP boot files are deleted.


REFERENCES

For more information, click the following article numbers to view the articles in the Microsoft Knowledge Base:

314079 How to use System files to create a boot disk to guard against being unable to start Windows XP


911080 You receive a "Disk read error has occurred" error message when you use the Winnt32.exe program to reinstall Windows XP on a computer that has both Windows XP and Windows Vista installed


For more information about Boot Configuration Data (BCD), visit the following Microsoft Web site:

For more information about the Extensible Firmware Interface (EFI) in Windows Vista, visit the following Microsoft Developer Network (MSDN) Web site:


Additional query words: dual boot multiple boot OS

Keywords: kbtshoot kbsetup kbprb kbexpertiseinter KB919529