Technology in terms you understand. Sign up for the Confident Computing newsletter for weekly solutions to make your life easier. Click here and get The Ask Leo! Guide to Staying Safe on the Internet — FREE Edition as my thank you for subscribing!

How do I get rid of boot choices in Windows 7?

I have downloaded the retail version of Windows 7 on my “C” drive, but I am
unable to remove the boot choice which previously allowed me to either open the
RC Windows 7 on another internal HD, or open the Windows Vista OS on my “C”
drive. I did format the other HD, which I now use for backups only. The
“Startup and Recovery” pop-up window referred to in your last newsletter, which
I looked up, does not provide an option to carry out the “edit”. Apart from the
other details as per your illustration the “edit” option is simply not shown.
Please enlighten me how to otherwise remove this 2nd boot choice.

Yep, things changed (back in Vista, I believe).

The good news is that it’s still pretty easy to modify your boot
choices.

You just need to drop to the Windows Command prompt – as administrator, of
course.

]]>

Editing boot choices has become significantly more powerful, but has moved to a command-line tool.

Fire up a Windows Command Prompt, making sure to run it as administrator (right click on the shortcut and select “Run as administrator”):

Command Prompt, run as administrator

In the command prompt, run bcdedit /enum – here’s the result from my Windows 7 machine:

bcdedit /enum
Windows Boot Manager
--------------------
identifier              {bootmgr}
device                  partition=C:
description             Windows Boot Manager
locale                  en-US
inherit                 {globalsettings}
default                 {current}
resumeobject            {8fe75379-c446-11de-9f1d-ab62aca77990}
displayorder            {current}
toolsdisplayorder       {memdiag}
timeout                 30
Windows Boot Loader
-------------------
identifier              {current}
device                  partition=C:
path                    \Windows\system32\winload.exe
description             Windows 7
locale                  en-US
inherit                 {bootloadersettings}
recoverysequence        {8fe7537b-c446-11de-9f1d-ab62aca77990}
recoveryenabled         Yes
osdevice                partition=C:
systemroot              \Windows
resumeobject            {8fe75379-c446-11de-9f1d-ab62aca77990}
nx                      OptIn

I’ve highlighted the identifier “{current}” – each Windows Boot Loader will have its own unique identifier, and that’s what you’ll use in the next step.

To simply delete one of the boot options, type bcdedit /delete {identifier}, where “identifier” is replaced with the identifier for the boot option you want removed.

For example, if I wanted to remove my current boot option (and in my case render my machine unbootable), I’d enter:

bcdedit /delete {current}

Since “{current}” is the identifier of my one and only boot choice.

And no, I didn’t.

But that bringw up a very good point: as you can imagine, used improperly, bcdedit can indeed render your machine unbootable, which can only then be fixed by booting from the Windows 7 install or recovery disk and running repair tools.

And finally, if you’re interested in all that bcdedit can do, enter bcdedit /? for a full list of options.

Use it with caution.

Do this:

Subscribe to Confident Computing! More confidence & less frustration -- solutions, answers, & tips -- in your inbox every week.

I'll see you there!

29 comments on “How do I get rid of boot choices in Windows 7?”

  1. One word: “Backup”. In this case, a full-disk backup. Using an “outside-of-Windows” utility such as BootItNG (which is what I use).

    That way, if you Goof Up and render your machine unbootable — well, it’s unbootable to WINDOWS, but it SHOULD still be bootable to BootItNG! — you can restore your disk to its original state and can try out your fumblethumbs all over again. 🙂

    Reply
  2. Same issue: cannot delete unless /f switch is specified on command line.
    Any suggestion or do I just add the switch to the command so it going to look like:
    bcdedit /delete {ntldr} /F

    Reply
  3. Sorry I have a question too! I have by mistake remove the working OS from my laptop using the above steps and prompt not to show me choise when boot and I’m left with an OS that doesn’t work, My laptop does not have a CD so how can I get to choose back. to adjust it in My computer right click propery… or on the command prompt, I have to first boot in the working OS.

    Reply
  4. I’ve just installed win 7.

    but I have an old partial/failed install of win XP in my boot choices. under my previous (succesfully installed XP) i could remove this partial install from the boot choice.

    do you guys know how to remove it from the boot choice in win 7?

    Reply
  5. Thank you, Leo, this is getting close to where I need to go and, yes, I prefer to err on the side of caution. In my case, two drives are involved; please, allow me to explain.

    When I first built this system a few years ago I installed the OEM version of Vista 64 Ultimate on C:\ drive.

    Recently, after downloading and installing Windows 7 Ultimate 64 Upgrade on top of the Vista 64 Ultimate soon after I noticed something in one of the error logs that the drive was fixing to go south so…

    I reinstalled Windows 7 Ultimate 64 Upgrade on D:\ drive after which I had two ‘Window 7’ choices at bootup so…

    On the D:\Windows 7 side I went into Computer/(right click) Properties/Advanced System Settings/Startup and Recovery/Settings/System Startup and set it for the Windows 7 on D:\ drive.

    Well, now, on startup, it skips by the boot menu and starts fine but…

    1) when I try to unplug the C:\ drive it locks up on startup and

    2) I cannot uninstall or format the C:\ drive; which, logically, would appear to be something I do not want to do until I have the D:\ drive working entirely on its own.

    3) I assume after I have this straightened out and the old C:\ drive disconnected I can then go into Administrative Tools/Computer Management/Storage and rename D:\ to C:\ although, again, erring on the side of caution, I have to question if the system will make all the necessary changes in Windows Boot Manager or is this something I need to have more of a hands on issue?

    Meanwhile, here is what happens when I follow your instructions on bcedit /enum:

    D:\Windows\system32>bcdedit /enum

    Windows Boot Manager
    ——————–
    Identifier {bootmgr}
    device partition=C:
    Description Windows Boot Manager
    locale en=US
    inherit (globalsettings)
    default (current)
    resumeobject (0c167404-020e-11df-8f47-ada41604211e
    displayorder (current)
    toolsdisplayorder (memdiag)
    timeout 30

    Windows Boot Loader
    ——————-
    identifier (current)
    Device partition=D:
    path \Windows\system32\winload.exe
    description Windows 7
    locale en=US
    inherit (bootloadersettings)
    recoverysequence (0c167402-020e-11df-8f47-ada41604211e
    recoveryenabled Yes
    osdevice partition=D:
    systemroot \Windows
    resumeobject 0c167400-020e-11df-8f47-ada41604211e
    nx OptIn

    D:\Windows\system32>

    Now, as best I can understand what you are saying is that, in the end, “device partition=C:” under the Windows Boot Manager section should read “partition=D:” but I’m not sure how to proceed since “Current” in both sections (Windows Boot Manager and Windows Boot Loader) point to both partition C: and partition d:)

    Is this a simple matter of:

    “bcdedit /delete {partition=C:}”

    or is this more involved requiring additional steps?

    Thanks ever so much for all your help!

    Reply
  6. Just use msconfig. windows key + r then type msconfig. There is a tab labeled boot, and the boot choices are listed there, with the current OS labeled.

    Delete the choices you no longer use.

    Now you can pick up all the hair you scratched out trying to figure out the cmd prompt stuff;-}

    Reply
  7. Thanks, Cosmo, I had already done that and when I tried to disconnect the original C: drive I received the ‘no boot manager’ message.

    Although, what I did do after reading your post, was to disconnect the C: drive and insert the Windows 7 disc and use the repair/start up options.

    That worked, though I did have to go into MSCONFIG and delete the preinstall [ghost?] that showed up, presumably, from starting the install disc. I then formatted/renamed the C: drive to R: and loaded it with the appropriate files.

    My problem now is that the drive D: with the Windows 7 OS and related Program Files will not rename to C:. I keep getting an ‘invalid parameter’ message.

    I’m at a loss as to how to get around that little speed bump and wonder if I do manage to get it renamed from D: to C: if it could in any way mess things up as there is a final ‘doing this might cause some programs that rely on this to not start-are you sure?’ warning message that pops up just before telling it to ‘go’ even though the next thing is the circled red ‘x’ ‘invalid parameter’ message with no explanation.

    Thanks,
    Sky

    Reply
  8. Thanks a gig, dear sir,

    I had xp2009 on second hdd c: and w7 on this hdd c: previously, now I am used to w7 so don’t really needed xp boot and so those options were not required, I had edited and even deleted boot.ini on both hdds, still it showed the options, even when the xp hdd is not at all connected, it was showing the option. I was so fed up.

    I had been searching for this multiboot choice removal option for windows 7 for months on net. I found it here and it worked like a magic.

    thanks a gig again, dear sir, for solving my long going problem.


    Rawat

    Reply
  9. what do i do when i get this result ?
    this entry cannot be deleted unless the /f switch is specified in the command line

    Not trying to be a smart-ass here, but perhaps try what it tells you? Specify the /f switch.

    Leo
    17-Feb-2011

    Reply
  10. Well, I hit exactly the same problem. Specify the /f switch. As the /f switch is not documented in the help or shown in the commands it is a bit of a problem.

    Good and useful article though.

    I have a problem in that I have removed the old legacy entry {ntldr} in the boot store as shown in the article. But it still comes up with the menu at boot up with its timeout and a legacy “Recovery” partition. There is no entry for this in the bootstore so I do not know how to get rid of it. A possible work around is to set the timeout to 0 or a low value. At some point I will reformat the old operating system disk but I do not want to do that yet.

    Reply
  11. I have now used the command “bcdedit /timeout 0” which means the boot menu is not displayed and that seems to work well.

    Also there is a command “bcdedit /enum all” which displays a lot more entries. There were some that were RAMDISKS and associated with Recovery but as I did not understand well enough I did not risk deleting them.

    There is also a command that will be something like “bcdedit /DISPLAYBOOTMENU 0” which may also work but I have not investigated.

    Reply
  12. yesss!! thanks to your article, i could get rid of the annoying option which was left after i had installed linux using wubi..and later deleted the files! bt still one problem remains thats waithin fr 30 sec 🙁

    Reply
  13. whats wrong with using run msconfig in windows 7? – its much simpler for us nitwits to work with as it opens up a nice window with all the options available and all with the click of a mouse!!!

    Reply
  14. Thanks for all your help. You have saved me from at least a couple dozen binds over the years. I really do appreciate it!!!!

    Reply
  15. i had three options: bootmgr, default, current.
    Default was a drive that was removed, so it was a ghost. I deleted that drive option and was tempted to delete bootmgr too. I decided to restart before doing so and voila! it worked. so if you’re tempted to delete bootmgr, DON’T! i’m not sure what will happen if you do. it might break everything!

    Reply

Leave a reply:

Before commenting please:

  • Read the article.
  • Comment on the article.
  • No personal information.
  • No spam.

Comments violating those rules will be removed. Comments that don't add value will be removed, including off-topic or content-free comments, or comments that look even a little bit like spam. All comments containing links and certain keywords will be moderated before publication.

I want comments to be valuable for everyone, including those who come later and take the time to read.