Multibooting with Vista

By Paulus, 7 February, 2007

With every new operating system comes headaches as we find that our favorite programs or hardware no longer works with it. If you're like me, you're probably being forced into using Windows because everyone else does. Then again, if I had Linux installed on my box along side Vista, I'd feel a bit dirty and I'd be using a real boot loader like GRUB. In Vista Microsoft did away with the ntldr.exe and boot.ini files and replaced it with a new program. Startup Process After the system gives control to the Master Boot Record, Vista then takes charge of the system and starts itself: 1. The MBR reads the boot sector of the active partition and executes the Bootmgr.exe program. 2. The Boot Manager reads the configuration file and gives the user the choices it that's contained in that file. 3. Once a choice is selected one of the following is done:

  • When starting any edition of Vista, the %SystemRoot%\System32\Winload.exe is executed.
  • When resuming Vista from Hibernation the boot manager program executes Winresume.exe which will restore the system to the way it was before it went into hibernation.
  • When choosing an earlier version of Windows, the boot manager will locate the ntldr and you'll have to go through another boot loader.

As Vista start with loading the core files needed to run, Ntoskrnl.exe and hal.dll, then it reads the settings from the registry and loading drivers. After Vista completes that step it moves on to executing the smss.exe (Windows Session Manager). The next step in Vista's boot process is to start the lsass.exe, Local Security Authority and services.exe, Services process. Finally you're ready to log in. Modifying the Boot Configuration Data (BCD)

  1. In the System Properties dialog box, under the Advanced tab there is a button for Startup and Recovery. There you can change the default O/S to boot from, and the timeout.
  2. msconfig.exe will allow you to append options such as: /debug, /safeboot, /bootlog, /noguiboot, /basevideo, and /numproc
  3. You can download and install a program call Vista Boot Pro.
  4. Using the bcdedit.exe to modify the BCD. The bcdedit.exe is a command line program that really isn't worth spending much time in learning. There are a lot of esoteric options. Most users will find it easier to just use the Vista Boot Pro program, or going through System Properties. If you really want to know more about it you can go here.

Repairing the BCD and Boot Sector If for some reason the boot sector gets corrupt, or you installed an older version of Windows after you installed Vista it's going to rewrite the boot sector with its own information. Older versions of Windows will not recognize Vista so it will not be added to the boot.ini file. If the boot sector needs to be rewritten, pop in the Vista DVD and drop into the command line and type: D:\Boot\Bootsect.exe -NT60 All (D may not be the letter of your optical drive. If the letter of your drive is different then substitute 'd' with the correct one.) After the boot sector and if you have a previous version of Windows on the system, type the following command in Vista: bcdedit -create {ntldr} -d "Windows XP Pro" ("Windows XP Pro" can be changed to whatever you want it to be.)