BCDEDIT confusion


  1. Posts : 48
    Windows 7
       #1

    BCDEDIT confusion


    My old PC could boot into either of two completely independent OS's - Windows XP and Windows 2000. Selection was controlled by the boot.ini file on the XP partition.

    Neither OS could see the other. So when I booted into WinXP, XP became my C: drive whereas Win2K had no drive letter assigned. Conversely, when I booted into Win2K, 2K became my C: drive whereas WinXP had no drive letter assigned.

    I'd like to replicate this arrangement on my new PC which currently has only Windows 7 installed (but I'd like to add WinXP as a second bootable OS).

    As I understand it, Windows 7 no longer uses boot.ini. Instead, it uses a command line utility called bcdedit. However, unless I've missed something, bcdedit cannot boot from a drive unless Windows 7 has allocated it a drive letter. This is a seriously backward step from the old boot.ini philosophy, since it makes it impossible to have two boot OS's completely isolated from each other.

    What am I missing here? Surely this isn't true??
      My Computer


  2. Posts : 22,814
    W 7 64-bit Ultimate
       #2

    Hello johne53.



    If you want to 'hide' one OS from another in a Windows managed dual boot; once both are installed ...


    In Windows 7 remove the XP drive letter.

    In XP remove the Windows 7 drive letter, if Windows 7 is the "System" partition XP may not let you remove its drive letter.



    The real way to 'hide' one OS/HDD from another is to install each OS to its own Hard Disk Drive (HDD) one at a time.

    Start by disconnecting all HDDs except the one to install Windows 7 to from the motherboard; when that's installed, disconnect that one and connect a second HDD to install XP to; then power down the PC and connect both HDDs; then set the OS/HDD you want as default in the BIOS, then when you want to boot/start the second OS/HDD use the BIOS one-time boot menu specific to your mobo to make the selection.
    Asus - F8
    HP/Compaq - Esc
    Sony - F2
    Acer - F2
    Gateway - F10
    eMachnes - F10
    Toshiba - F12
    Dell - F12
    IBM/Lenovo - the blue Thinkvantage button

      My Computer


  3. Posts : 48
    Windows 7
    Thread Starter
       #3

    Many thanks for the quick reply. I only have one internal hard drive, so let's see if I understood you correctly....

    Suppose I temporarily allocated the letter Z: to WinXP and used bcdedit to set it up as an alternative boot option. Are you saying that once it's set up, I can remove the Z: allocation and the dual-boot feature will still work?
      My Computer


  4. Posts : 22,814
    W 7 64-bit Ultimate
       #4

    One thing, Windows will not allow the system volume drive letter to be removed and XP will not boot if it is.



    Sorry I mislead you, I didn't remember the XP limitations until after I posted that.
      My Computer


  5. Posts : 48
    Windows 7
    Thread Starter
       #5

    Just as a test I decided to copy my Windows 7 partition so that I now have two of them (I copied it using Paragon's Drive Backup 10, which performs a full, block-level copy as opposed to simply coping the files). I assumed that I'd be able to dual-boot between the two Win7 partitions but that doesn't seem to be possible.

    AFAICT the Windows 7 boot manager only permits one bootmgr partition and one ntldr partition. You can't have two of either. Therefore I couldn't (for example) dual-boot between Win7 and Vista if I wanted to. If this is true, it's utter crap. The old boot.ini scheme was much more flexible.
      My Computer


  6. Posts : 22,814
    W 7 64-bit Ultimate
       #6

    That's not correct; this from my system when I was testing various Windows 7 releases.


      My Computer


  7. Posts : 48
    Windows 7
    Thread Starter
       #7

    Hmmm.... how did you create the extra entries using bcdedit? In my case I created a second Win7 partition and mounted it as drive Z: I intended to call it "Windows 7 Fallback" by following these instructions which I adapted from some instructions I found elsewhere on this forum:-

    bcdedit /create {bootmgr} /d "Windows 7 Fallback"

    bcdedit /set {bootmgr} device partition=Z:

    bcdedit /set {bootmgr} path \Windows\system32\winload.exe

    bcdedit /displayorder {bootmgr} /addlast
    However, the very first command failed because there was already an entry with the bootmgr identifier. I also tried using the identifier current but that failed too. How do I create a new identifier for the Fallback partition? I'm guessing I need to create a UID identifier but how do I find the correct UID for my copied partition?
      My Computer

  8.    #8

    Dual Boot Installation with Windows 7 and XP

    When you install Win7 last after the legacy OS's or itself, it will auto-configure a Windows-managed Multi-Boot menu.

    If for some reason this doesn't work or you already have OS's which need configured into Dual- or Multi-Boot Menu, install EasyBCD 2.0 and add the missing OS's on its Add OS tab. Welcome to EasyBCD 2.0! — The NeoSmart Files

    If you have further problems please post back a screenshot of your full Disk Management drive map and listings and the EasyBCD listings, using Snipping Tool in Start Menu.
      My Computer


  9. mjf
    Posts : 5,969
    Windows 7x64 Home Premium SP1
       #9

    In Windows 2000, XP the three key boot manager loading files are:
    ntldr, Ntdetect.com, and boot.ini
    All 3 are in the root of active, system primary partition.

    In Vista, Windows 7 the booting functionality (above 3 files if you like) have been replaced by:
    bootmgr, BCD, and winload.exe
    Only bootmgr and BCD stay in the root of the system partition. Winload.exe resides in windows/system32 folder of the boot partition. These can be separate partitions and by default MS/Windows places bootmgr and BCD in a separate 100MB partition (System reserved, active, primary). Winload.exe is in a separate Boot, OS partition. They can coexist in the one partition and many people appear passionate about making this happen (read the forum threads).

    For Bios booting, the role of the MBR (Master Boot Record) on the first physical 512 bytes of booting device (typically HDD) remains the same.

    Boot.ini can be edited with a text editor. BCD requires bcdedit.exe or via 3rd party programs like EasyBCD.

    The move by MS in booting architecture has positives and some negatives (which can be overcome). It is thought to be consistent with a more widespread move to a UEFI (Unified Extensible Firmware Interface) architecture. The MBR is part of a 25 year old architecture and a change is probably overdue.

    Read some more here.
      My Computer


  10. Posts : 48
    Windows 7
    Thread Starter
       #10

    Thanks for the info, mjf. That link in particular was very helpful. Maybe part of my problem is that I'm running Windows 7 on an Apple Mac (which I configured for dual-booting using Apple's "Boot Camp" utility). Internally, Macs use a GPT partitioning scheme but Boot Camp effectively "fudges" a fake MBR scheme to present to Windows. In other words, Windows thinks that the underlying drive is MBR when in fact, it's GPT.

    When I first copied my Win7 partition and used bcdedit, both menu options were taking me to the same boot partition. This ties in with that article's comments about moving a partition to a new offset. I suspect that the copied partition originally had the same GUID. Therefore in both cases, my Windows 7 boot manager was simply jumping to the first offset it found for that particular GUID.

    I've now changed the GUID of the copied partition and switched to EasyBCD instead of bcdedit. This time I get a little further, though not much.... I can still boot into my original Win7 partition but when I try to select the copied partition my boot fails with the error "autochk program not found - skipping AUTOCHECK" (at which point, the system resets itself). Interestingly, this isn't the error that I'd expect from reading that article if I had an offset problem ("winload.exe.....is missing or corrupt"). So I'm guessing that my GUIDs and offsets are now fine but I must have some other kind of problem.
      My Computer


 

  Related Discussions
Our Sites
Site Links
About Us
Windows 7 Forums is an independent web site and has not been authorized, sponsored, or otherwise approved by Microsoft Corporation. "Windows 7" and related materials are trademarks of Microsoft Corp.

© Designer Media Ltd
All times are GMT -5. The time now is 14:28.
Find Us