How-To: Hide Vista Partition from XP with NeoGrub!

Editor’s note: This article was modified on Jan. 31, 2009 to reflect the usage of Vista Hide ‘n Seek, NeoSmart Technologies’ new, free product for automating the NeoGrub hiding procedure.

One of the biggest problems that faces dual-booters is data corruption on many different fronts. While using proper dual-boot techniques and going by the book can avoid most forms of data corruption, there are some things that you can’t just work around, especially if it’s considered a “feature” by Microsoft… One such “feature” is that those dual-booting Windows XP and Windows Vista will find that every time they boot into XP, they’ll lose all their Vista system restore points – because XP “intelligently” detects them as being corrupt XP system restore profiles. So much for painless dual-booting. Even Vista’s “Complete Backup” feature is decimated by the very existence of XP on the same computer – and having them on separate hard drives doesn’t help!

Unfortunately, there is no guaranteed solution to this. Microsoft acknowledges the issue – and provides a possible fix in the form of a registry patch for XP ( http://support.microsoft.com/kb/926185 ) though this isn’t something that works for everybody. The advice has been either not to dual-boot at all, run XP in a virtual machine, or else encrypt the Vista hard drive – a feature that has more bugs than the rest of Vista put together. But don’t worry, we have a couple of (free and easy!) solutions for you!

Method 1: Vista Hide ‘n Seek

The NeoSmart preferred solution, which supercedes the use of NeoGrub (see belwo) for this purpose is our own program, “Vista Hide ‘n Seek ” (HnS). This will not only protect your Vista restore points from corruption by XP, it will automate the whole process without you needing to get involved in the messy business of translating Windows disk and partition information into Linux speak.

Should you have a Vista and an XP system installed on their own disks, each blissfully unaware as yet of the existence of the other, and you are about to embark upon dual-booting them, and have come here because you wisely want to protect Vista from XP from the very start, look no further. HnS will not only do its stated job of hiding Vista from XP, it will automate the entire dual boot process for you, and all with just a couple of clicks in a friendly Graphical User Interface.

All you are required to do, is indentify, in an Explorer-like window, which partition(s) contain Vista restore folders to be protected and which partition(s) have a bootable XP installation. This is done with a simple point and click, and that’s about it. You have your dual boot set up, with Vista restore points protected from XP. Provided you have only one Vista system, this solution will give you a neat, single boot menu even if you have several XP installations.

(Remember in each OS before you start, to turn off system restore on all partitions except the OS itself and any partition on which you have installed 3rd party software for that OS. These are the only drives that need to be monitored by system restore, and in the case of Vista, these are the ones you need to mark as Vista to HnS, so that they are hidden from XP. It follows therefore that you cannot install 3rd party software on a disk shared between Vista and XP. You can however share data between them on a common partition because system restore will be turned off on this drive and it will therefore contain no system restore folder to be corrupted by XP).

Method 2: NeoGrub

If you are still determined to use NeoGrub to do this, despite the advantages of HnS, and you are prepared to live with the fact that your dual-boot will have two (or three) menus, here’s how to do it.

  1. If you don’t already have it, download and install EasyBCD.
  2. Run EasyBCD and go to the “Add/Remove Entries” screen.
  3. Delete any and all “Windows XP” entries in the list you see. Simply select them, and press the delete button.
  4. Click the “NeoGrub” tab, and select “Install NeoGrub” from the screen.
  5. Once NeoGrub is installed, hit the “Configure NeoGrub” button.Notepad will open, and you’ll be presented with the NeoGrub configuration file, called “menu.lst” NeoGrub provides a bunch of very nifty options that will help us hide the Vista drive from Windows XP, in a very safe, simple, and straight-forward manner.

    Copy and paste this code over the existing menu.lst file. Replace everything:

NB: If you have multiple Vista partitions, you will need to duplicate the “hide” and “unhide” lines to point to the other Vista partitions as well in order to hide them too.

Read “Drive Letters and Numbers” to figure out which (hdx,y) sequence you need to use. Hard drive and partition counts start at 0. You can see a full list of drives and partitions by going to the “Linux/BSD” tab of the “Add/Remove Entries” section in EasyBCD.

Save it, and exit notepad.

Optional: Go to the “Configure Boot” screen and rename the entry from “NeoGrub Bootloader” to “XP” or another name of your choice.

Exit EasyBCD & reboot to test.

Now when you reboot your PC, the Vista BCD menu will give you two options: Windows Vista and Windows XP (or NeoGrub if you didn’t rename it). Selecting Windows Vista or allowing the boot to default will boot you right into Windows Vista, while choosing Windows XP will transfer control of the bootloader process to NeoGrub.

NeoGrub will display another boot menu with two options: Hide Vista – boot XP and Unhide Vista – Then boot it.

Selecting the first option will hide Vista’s drive and then call up NTLDR which will read the boot.ini menu. If you only have one XP installed, it will boot right into it . If you have multiple XP installations, you’ll be presented with a third menu of installations to boot to, all of which will no longer see the Vista drive.

Now here’s the tricky part. You’ve just been using XP, You’ve finished with XP. You want to go back to Vista. You boot the PC.

You cannot select Vista from the first menu. Vista is still hidden. You must select XP again from the first menu, but this time, you do not allow the second menu to take the default, you select the “Unhide Vista – then boot it” option. The system will reboot, but NeoGrub will unhide the Vista partition(s) first, and this time, you can select Vista from the first menu.

This technique works perfectly, but as you can see, is extremely clumsy in use, especially with two or more XPs. That was why HnS was developed. Why not do yourself a favour and use it instead.

Please do not under any circumstances post support requests in the comments below – they will go unanswered. If you have any questions or problems, post in the forums!

Special thanks to the Grub4Dos Project, without which none of this would have been possible.

2 thoughts on “How-To: Hide Vista Partition from XP with NeoGrub!

  1. Copied and pasted menu.1st code over the existing menu.1st file. Adjusted drives and partitions as in bootloader. On reboot > ?Boot XP ? Hide Vista? everything proceeds as expected and XP installs normally.
    On rebooting to Vista (Business SP1) all restore points have vanished.

    Boot Loader
    ;
    ;Warning: Boot.ini is used on Windows XP and earlier operating systems.
    ;Warning: Use BCDEDIT.exe to modify Windows Vista boot options.
    ;
    [boot loader]
    timeout=30
    default=multi(0)disk(0)rdisk(0)partition(1)\WINDOWS
    [operating systems]
    multi(0)disk(0)rdisk(0)partition(1)\WINDOWS=”Microsoft Windows XP Professional” /NOEXECUTE=OPTIN /FASTDETECT

    Settings in EasyBCD
    There are a total of 2 entries listed in the Vista Bootloader.
    Bootloader Timeout: 10 seconds.
    Default OS: Windows Vista

    Entry #1
    Name: Windows Vista
    BCD ID: {default}
    Drive: E:\
    Bootloader Path: \Windows\system32\winload.exe
    Windows Directory: \Windows

    Entry #2
    Name: Windows XP
    BCD ID: {2c3daec5-ab75-11dd-9a62-000ea61b5a2f}
    Drive: C:\
    Bootloader Path: \NST\NeoGrub.mbr

    menu.1st (LST file in C:\NST\menu.1st
    along with NeoGrub MBR file)

    # NeoSmart NeoGrub Bootloader Configuration File
    #
    # This is the NeoGrub menu.lst file, and should be located at C:\\menu.lst
    # Please see the EasyBCD Documentation for information on how to create/modify entries
    # http://neosmart.net/wiki/display/EBCD

    default 0
    timeout 10
    title Boot XP – Hide Vista
    hide (hd1,1) # SET THIS TO THE VISTA DRIVE
    # Optionally repeat the above entry for all the Vista drives
    chainloader (hd0,0)/ntldr # SET THIS TO THE BOOT PARTITION

    Detailed settings in EasyBCD (debug mode)
    Windows Boot Manager
    ——————–
    identifier {9dea862c-5cdd-4e70-acc1-f32b344d4795}
    device partition=C:
    description Windows Boot Manager
    locale en-US
    inherit {7ea2e1ac-2e61-4728-aaa3-896d9d0a9f0e}
    default {e8709fb6-fa5f-11db-be4d-e219ece5282e}
    displayorder {e8709fb6-fa5f-11db-be4d-e219ece5282e}
    {2c3daec5-ab75-11dd-9a62-000ea61b5a2f}
    toolsdisplayorder {b2721d73-1db4-4c62-bf78-c548a880142d}
    timeout 10

    Windows Boot Loader
    ——————-
    identifier {e8709fb6-fa5f-11db-be4d-e219ece5282e}
    device partition=E:
    path \Windows\system32\winload.exe
    description Windows Vista
    locale en-US
    inherit {6efb52bf-1766-41db-a6b3-0ee5eff72bd7}
    osdevice partition=E:
    systemroot \Windows
    resumeobject {e8709fb7-fa5f-11db-be4d-e219ece5282e}
    nx OptOut

    Real-mode Boot Sector
    ———————
    identifier {2c3daec5-ab75-11dd-9a62-000ea61b5a2f}
    device partition=C:
    path \NST\NeoGrub.mbr
    description Windows XP

Leave a Reply

Your email address will not be published. Required fields are marked *

You may use these HTML tags and attributes: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <strike> <strong>