This method is an adaptation of the methods given within these articles.
a) How to dual-boot Vista with XP (with XP installed first) - step-by-step guide with screenshots
b) Multiboot Vista / XP and Other OSes with Grub4Dos Menu - MSFN Forums
c) How-To: Hide Vista Partition from XP with NeoGrub! The NeoSmart Files
It eliminates the 'optional' section of unhiding the Vista partition in article c), which has to boot XP and consequently wipes Vista restore points. Which defeats the purpose of hiding Vista's partition in the first place.
A work around to safeguard your Vista restore points in regards to c), would be to change the Vista partition flag from hidden to unhidden manually when you want to boot it, with a disk utility, but that's just not realistic.
It's best to bypass Vista's bootloader on powering up, and opt for getting into GRUB first.
Process:
After setting up EasyBCD, follow these steps (in Vista).
1.Rename bootmgr to bootmgrv within root directory of XP installation partition. (Make sure that you have unchecked 'Hide protected operating system files' in Explorer's Tools -> View.
2.Rename NeoGrub to bootmgr.
3.With EasyBCD, configure menu.lst with script below (it resides in \NST folder of XP partition). Read side note about drives and OS partition locations, to hide/unhide your Vista partition:
# Bootloader Configuration File
default 0
timeout 20
# Boot XP by finding and loading ntldr - protects Vista's restore points by hiding partition.
title Microsoft Windows XP
hide (hd0,2)
find --set-root /ntldr
chainloader /ntldr
# Boot Vista by finding and loading bootmgrv
title Microsoft Windows Vista
unhide (hd0,2)
find --set-root /bootmgrv
chainloader /bootmgrv
4.Save changes.
5.In EasyBCD, select 'Change Settings', make sure default OS is Vista and change 'Bootloader Timeout' equal to 0.
This also works:
1.Download grldr from WikiHome - JotSpot Wiki (grub4dos).
2.Rename grldr to bootmgr and paste in root directory of XP partition.
3.Copy 'menu.lst'and save in root directory of XP installation.
4.Carry out step 5 above.
NeoGrub is basically grldr, but has been configured to look for menu.lst in \NST.
When 'Microsoft Windows Vista' is selected from the GRUB menu on startup, control is then passed to the Vista bootloader, selects Vista automatically and boots.
Using GRUB, you can add other operating systems to menu.lst, such as Linux or whatever.
A side note: For me, XP is installed on first drive (hd0), and the second partition (hd0,1) (zero based). Vista is installed on first drive (hd0), and the third partition (hd0,2).
My first partition (hd0,0) is being used for something else, a recovery partition.
You will have to change these for your particular setup.
MAKE SURE YOU BACK UP!! Before making these changes.
It's a good idea to have the live CD, GParted drive utility. You can change partition flags within it (hidden, boot, etc), if things go awry.
Ubuntu live CD is also something that I keep handy.
Patrick
a) How to dual-boot Vista with XP (with XP installed first) - step-by-step guide with screenshots
b) Multiboot Vista / XP and Other OSes with Grub4Dos Menu - MSFN Forums
c) How-To: Hide Vista Partition from XP with NeoGrub! The NeoSmart Files
It eliminates the 'optional' section of unhiding the Vista partition in article c), which has to boot XP and consequently wipes Vista restore points. Which defeats the purpose of hiding Vista's partition in the first place.
A work around to safeguard your Vista restore points in regards to c), would be to change the Vista partition flag from hidden to unhidden manually when you want to boot it, with a disk utility, but that's just not realistic.
It's best to bypass Vista's bootloader on powering up, and opt for getting into GRUB first.
Process:
After setting up EasyBCD, follow these steps (in Vista).
1.Rename bootmgr to bootmgrv within root directory of XP installation partition. (Make sure that you have unchecked 'Hide protected operating system files' in Explorer's Tools -> View.
2.Rename NeoGrub to bootmgr.
3.With EasyBCD, configure menu.lst with script below (it resides in \NST folder of XP partition). Read side note about drives and OS partition locations, to hide/unhide your Vista partition:
# Bootloader Configuration File
default 0
timeout 20
# Boot XP by finding and loading ntldr - protects Vista's restore points by hiding partition.
title Microsoft Windows XP
hide (hd0,2)
find --set-root /ntldr
chainloader /ntldr
# Boot Vista by finding and loading bootmgrv
title Microsoft Windows Vista
unhide (hd0,2)
find --set-root /bootmgrv
chainloader /bootmgrv
4.Save changes.
5.In EasyBCD, select 'Change Settings', make sure default OS is Vista and change 'Bootloader Timeout' equal to 0.
This also works:
1.Download grldr from WikiHome - JotSpot Wiki (grub4dos).
2.Rename grldr to bootmgr and paste in root directory of XP partition.
3.Copy 'menu.lst'and save in root directory of XP installation.
4.Carry out step 5 above.
NeoGrub is basically grldr, but has been configured to look for menu.lst in \NST.
When 'Microsoft Windows Vista' is selected from the GRUB menu on startup, control is then passed to the Vista bootloader, selects Vista automatically and boots.
Using GRUB, you can add other operating systems to menu.lst, such as Linux or whatever.
A side note: For me, XP is installed on first drive (hd0), and the second partition (hd0,1) (zero based). Vista is installed on first drive (hd0), and the third partition (hd0,2).
My first partition (hd0,0) is being used for something else, a recovery partition.
You will have to change these for your particular setup.
MAKE SURE YOU BACK UP!! Before making these changes.
It's a good idea to have the live CD, GParted drive utility. You can change partition flags within it (hidden, boot, etc), if things go awry.
Ubuntu live CD is also something that I keep handy.
Patrick