0

I'd like to start by saying that I'm not anywhere near being an expert on this topic, but I get the basic idea. Before addressing the potential problem lets start with some background information. The difference between bootstrap code, a boot manager, and a bootloader.

Background Information:

The computer uses bootstrap code written to either the disk MBR or ESP to load a boot manager or to directly load a bootloader. It depends on what boot program you are using. You can chainload boot managers if they are written to different MBRs or OS partitions. I'm not sure how chainloading works with UEFI since some operating systems write their boot manager to the ESP, and you cannot chainload between ESPs to my knowledge.

Boot Process

An important note to the above picture is that some operating systems store their boot managers with the bootloader on the operating system partition. To help illustrate the above picture I've taken some first hand test results for example purposes. I started by installing Windows XP on an MBR partition table with a BIOS computer. Upon booting up I would get:

Windows XP Picture 1

The way Windows boots MBR based installs is the bootstrap code is written to the disk MBR, it then loads the Windows Boot Manager from the system partition MBR, and then the Windows Boot Loader from the Windows installation which loads Windows and hands control over to the kernel. Now in my screenshot I don't see the Windows Boot Manager because it immediately proceeds to the bootloader which loads Windows. The result being that I immediately see the Windows XP loading screen. This is due to the fact that I only have one operating system installed so there is no point in displaying the manager. Next I installed Windows 7 on the same machine to create a dual boot. The result was:

Windows XP And Windows 7 Picture 1

Because Windows 7 uses a different bootstrap code and boot manager than Windows XP does the XP bootstrap is overwritten on the disk MBR, and the new bootstrap takes me to the Windows Boot Manager which was also overwritten because Windows put it on the XP partition's MBR. If had manually written the bootmanager with one of Microsofts deployment tools I could have kept the Windows 7 Boot Manager on it's partition MBR. This boot manager has been setup with an entry to boot Windows 7, and an entry to get to Windows XP. Next I triple booted by installing Ubuntu 14.04 which uses Grub2. The result was:

Windows XP Windows 7 And Ubuntu 1404 Picture 1

As you can see Ubuntu has overwritten the Windows 7 Bootstrap code with it's own Grub2. Unlike Windows which wrote only it's bootstrap code to the disk MBR Grub2 has written both it's bootstrap code and boot manager there, from here I can boot Ubuntu with the Grub2 Bootloader or access the Windows Boot Manager for Windows 7 which still provides me with access to the Windows XP. Next I quadrupal booted by installing Lubuntu 14.04 which again uses Grub2. The result was:

XP 7 Ubuntu 1404 And Lubuntu 1404 Picture 1

As you can see Lubuntu and Ubuntu are using the same program Grub2 so I'm not sure if it merely updated the bootstrap code & boot manager, or if it actually overwrote them and re-added the old entries. I can now boot either Ubuntu or Lubuntu from the same menu; Lubuntu is first. I can also still access the Windows Boot Manager for Windows 7 which of course still provides me with access to Windows XP.

Next I installed GAG (The Graphical Boot Manager). The result was:

Gag Picture 1

Gag is a boot manager paired with bootstrap code all of which is written to the disk MBR, because of this the Lubuntu bootstrap code & boot manager (Grub2) is overwritten. Gag doesn't understand how to use the Grub2 bootloader directly so I can no longer boot Ubuntu or Lubuntu. I can still access Windows XP and Windows 7 though, because gag knows how to boot the Windows Boot Manager for Windows 7. Next I booted Supergrubresue. It's a livecd version of grub that creates a Grub Boot Manager on the fly allowing you to use it to boot your bootloaders or other boot managers. The result:

Supergrubrescue Picture 1

As you can see with this I can access the Grub2 bootloaders for my Lubuntu and Ubuntu installations as well the Windows Boot Manager. This means I will get a menu for Windows, but I will not get my original grub boot manager menu for Lubuntu and Ubuntu that I used to use before installing Gag.

To sum up what's been covered so far is Grub2 writes it's bootstrap & boot manager to the disk MBR and then loads a bootloader from the OS partition. We know that Windows takes the other approach and writes only it's bootstrap code to the disk mbr and keeps it's boot manager on the partition MBR and bootloader on it's OS partition. The bootstrap code is what loads at system startup, the boot manager is what lists the available bootloaders (even if it doesn't show you the list), and a bootloader is what loads the kernel and then hands over control to the operating system.

Potential Problem:

I think that for boot related questions like boot problems for example simply tagging as , and the boot program you're using works well (eg: ). Now a days with UEFI and BIOS setups people might also use tags like , , , and to either specify the style of booting, or the type of partition table used. Using both at the same time might be overwhelming. That is probably as detailed as one needs to get, but if you want to be more specific there's a tag. It can be used for questions about boot problems, and if you are looking for bootloader programs it could be effectively paired with software-recommendations to help you find programs like Grub2 and Gag. Here's the problem. Many boot problem questions are abusing this tag when they are actually about boot-managers or the boot-strap code.

Confusion about the terms bootstrap code, bootloader, and boot manager has lead to them being used interchangeably even though they aren't the same thing. Since we're dealing with Ubuntu lets use Grub2 as an example. Grub2 is the boot-program used by Ubuntu. Note that I said boot-program because it's got bootstrap code, a boot manager, and a bootloader. The bootloader is written to the OS partition, and the rest is written to the disk MBR/ESP. This means that any question about boot problems where you're OS partition information isn't the problem shouldn't be tagged as , because they are actually about your boot-manager or bootstrap code. Boot-repair questions for UEFI systems, and questions where the Windows Boot Manager doesn't show up in the Grub2 boot manager are not about bootloaders even though they sometimes get tagged with way.

Proposed Solution:

Removing the tag makes no sense, because it's a useful tag for software-recommendations, and in theory could be useful for some boot problem questions. So why not make a tag and a tag to allow for correct assignment? The problem with that is that most people don't know the difference between these 3 things, hence why this post is so long. All three tags would likely end up abused. So I'm wondering why not make all three tags synonyms for a new tag . This way software recommendations doesn't suffer, but boot related questions remain accurate. If the problem is your bootstrap code it doesn't make much sense to tag it as your bootloader does it?

Explanation Of Solution:

Why call the new tag ? Well most boot-programs are either bootstrap code and a boot-manager, or bootstrap code, a boot-manager, and a bootloader. They often simply call themselves a boot-manager or a bootloader since there isn't yet a term for referring to them collectively. I think boot-programs fills in the gap nicely for current lack of a technical term.

Tag Descriptions:

Synonym Tags:

= Questions about bootloaders

= Questions about boot managers

= Questions about bootstrap code

Tag:

= Questions about boot programs like bootloaders, boot managers, bootstrap codes, and etc.

Examples Of Questions Misusing The Bootloader Tag:

:

For some reason this is showing up all squished in my preview. Hopefully the final posting displays properly? I do have it all nicely laid out.

Question 1:

This question has the tag, but the very first thing I see is it says "Windows Boot Manager" right in the title. The user wants to know how to move the Wubi boot entry so that Ubuntu will boot by default instead of Windows. This has nothing to do with bootloaders at all. It's entirely about editing a boot manager.

Question 2:

So in this question the OP has installed Ubuntu on a laptop that is running Windows 8. The user cannot boot at all. Which means it's probably a bootstrap code issue, or a boot manager issue otherwise the user would be able to get something on their screen even if they couldn't boot the OS. It's hard to tell because the OP wasn't very specific so it could be relevant to bootloaders? That's why this question is a good example though because it shows how even when you know what bootloaders, boot managers, and bootstrap code is it can still be hard to tell which tag to use on a post so the tag could be really helpful here since we don't know for sure what the culprit is. That said I'm pretty sure this is a bootstrap code issue, because I have a UEFI computer and have had bootstrap code issues when installing Lubuntu.

Question 3:

So in this question the user installed Ubuntu and the boostrap code and boot manager didn't install so they had to use boot-repair. Now they are having trouble using their Window Boot Manager. Nothing to do with bootloaders.

Question 4:

So in this question the user successfully gets to their Grub2 Boot Manager for Ubuntu, but it doesn't list their Windows Boot Manager, and they need help getting it to so they can happily dual boot. Again nothing to do with bootloaders, because they can currently boot Ubuntu, and the reason they can't boot Windows isn't because of it's bootloader it's because the Grub2 Boot Manager isn't list the Windows Boot Manager.

Question 5:

So in this question the OP had Ubuntu and Windows 7. It boots straight through the Windows Boot Manager which means that when they installed Ubuntu it didn't overwrite the MBR with the Grub2 bootstrap code and boot manager. Again all related to boot managers not bootloaders.

The Bottom Line:

In summary I suggest the creation of a tag, the conversion of the tag into a synonym for boot-programs, as well as the creation of a tag and a tag as synonyms for boot-programs. This will allow for questions about these programs to be tagged accurately, but without the confusion of having to pick between the 3 tags. The could hopefully help prevent misuse of the tag.

1 Answer 1

0

I know where are you coming from, and I agree with most of it (except the "boot-programs" tag that will invariably be misused as tag for starting things at Ubuntu's startup/boot process), but lets be realist, there are no known experts on those topics. Creating those tags would just add more confusion to the already confused state of all the boot related tags, so here's my imperfect take:

  • bootloader should only be used when:
    1. Is about a bootloader that there's no tag existent or where there's definitively no way to name it, like the windows bootloader which has no other name than "windows bootloader", maybe ? But any question tagged like that would strike me as off-topic.
    2. Is asking about some characteristic shared by all bootloaders
    3. Should not be used in conjunction with other bootloaders tags (ie. no + ). Since you can't have two bootloader installed at the same time anyways, this is logic, unless you are trying to switch from a botloader+bootmanager combo to another, like grub bootmanager/efi bootloader or any other abomination.
    4. Apply this retro-actively so the newer questions has less issues to fix about tagging.
  • grub/efi/uefi/et al should be used when the question is about themself. I would tag a question about "changing the order of the entries in the grub" with or when I want to "prevent grub from installing the bootloader in the MBR", but not using them when the relationship is incidental like "my system doesn't boot, I select ubuntu and nothing happens" since those are not about the bootloader but the boot process.
  • nothing else. Cleaning up tags and retagging is a never ending task. Clean up the questions, vote to close, and comment. While you are it please verify the other tags, and the grammar, etc. one of those questions has nothing to do with all the 4 tags and I had to modify it.

I hope this clear up some of the issues you are seeing.

1

You must log in to answer this question.

Not the answer you're looking for? Browse other questions tagged .