Windows no longer
starts after you install an earlier version of the Windows operating system in
a dual-boot configuration
Support for Windows Vista without any service
packs installed ended on April 13, 2010. To continue receiving security updates
for Windows, make sure you're running Windows Vista with Service Pack 2 (SP2).
For more information, refer to this Microsoft web page:
Symptoms
After you install an
earlier version of the Windows operating system on a Microsoft Windows
Vista-based or Windows 7-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 or
Windows 7-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 or Windows 7 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 or Windows
7, 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 or Windows 7-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.
2. 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.
o
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".
o
Drive:\Windows\system32\Bcdedit /set {ntldr} device partition=x:
Note In this command, x: is the drive letter for the active partition.
o
Drive:\Windows\system32\Bcdedit /set {ntldr} path \ntldr
o
Drive:\Windows\system32\Bcdedit /displayorder {ntldr} /addlast
3. Restart the computer.
More
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:
o
Create the second
unformatted partition.
o
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:
o
Windows Vista is
installed on drive C. Drive C is partition 1 and is the active partition.
o
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.
Thanks: Microsoft