GRUB2 ... Is not good.

GRUB2’s a mess …

  1. GRUB2, you need to go sit quietly in a corner, both you and your “/boot/grub2/grub.cfg”. DON’T EVER TELL ME TO “# DO NOT EDIT THIS FILE” (especially when you are an abortion of an attempt at being a bootloader and are unable to boot three VERY common OS’s!! -
  2. GRUB2, your convoluted files are scattered all over the place (/etc/grub.d, /etc/default, /boot/grub, /boot/grub2 - and those are just the ones I was able to find while spending the better part of the day & half fsking around with you!)
  3. GRUB2, nobody needs a theme’d “Boot GUI”, just give it a rest buddy, the effort to simply get the correct resolution working on you is a waste of time - you’re just big speed bump in the boot process … trying to bumble up a goofy frame-buffer for a simple decision that requires a mere couple of keystrokes, just useless.
  4. GRUB2, what are all of your pseudo-scripts in /etc/grub.d even for - really, take it down a notch bub, you’re a boot loader - not a standalone OS! - for crying-out-loud!
  5. GRUB2, where are your no-kidding config files for your actual menu entries ? - You know, that silly “functional” stuff (No, GRUB2, not your silly fonts folder, not the washed-out theme folder, not some overblown script folder with only a useless README)… Oh, is that what those ridiculous /etc/grub.d/40_custom files are for? Nope… WHERE IS MY “menu.lst”? I still can’t find my GRUB2 menu entries. GRUB2, how remarkably well un-documented and non-intuitive you are (Oh, and why oh-why do you keep just PART of my Linux config lines in your /etc/default/grub?).
  6. GRUB2, how do I recover my system(s) after you’ve blown it all up? I have a nice recovery procedure for your distant uncle GRUB (he worked hard, stayed out of the way (I wrote a script to kill-off his silly christmas-penguin shenanigans), and only occasionally needed to be told which MBR/partition to look at during boot), what preposterous potions must be concocted to get you to even do your job, let alone fix you when you’ve blown-up?
  7. GRUB2, thanks for taking a simple weekend upgrade my favorite Linux on my triple-boot workstation, and my son’s dual boot laptop and turning it into a nightmare. It’s Sunday, and the only machine I have left booting right now is my OSX laptop, and a openSUSE 11.4 file-server. I might just keep it that way.

The good news is that Yast exported my last know configuration from openSUSE 12.1 before diving into GRUB2 beta in 12.2 and I still have the 12.1 install DVD. And I guess Windows7 can be reinstalled easily enough (I hate the call to Redmond and of course those all those apps/patches will take forever to DL again) … Guess I don’t really use Kubuntu that often, so I might just leave it off to save time & complexity. Time, that’s the real killer here GRUB2, when I was young, things like you were a “challenge”, now I’m older GRUB2, you’re really little more than a poorly executed, oversold, unfortunate waste of my time.

Perhaps it’s just me (it’s true, I am getting much less patient with these well-intentioned but seemingly more common “mistakes”)… Nope, guess it’s not just me: Why Do People Hate Grub2? 94% People Do … GRUB2 appears to be a solid attempt to alienate (and hose) multi-boot users. Truly, it needs to be re-worked, simplified, streamlined, focused, debugged, and documented. Let’s hope it happens sooner than later.

Oh, and in case your computer get’s hosed during an upgrade, it is nice to know that: "Critical! GRUB 2 uses PARTITION notation that starts with 1 and not 0 like GRUB legacy! This is terribly important to remember!" (source) Very nice GRUB2’sters, why not jump over to a Base-3 numbering system while you’re at it - nearly everyone (ok, my gradeschool son) knows that *nix systems use “0” as the start of resource numbering - Good God !!

And since I’m on a rant of a vent, openSUSE’sters, why are we using /usr/sbin/ to hide the already obfuscated grub tool “grub2-mkconfig” (couldn’t even find it with “cnf grub2-mkconfig” - Oh, and where is the missing /boot/grub2/locale/en.mo file (or even just a pre-production patch for the error) that this precariously perched bungled-software whines about during it’s “boot”?

Perhaps I’d be better off waiting until 12.4 to give GRUB2 time to mend it’s ways (or perhaps we’ll all recover our senses and head back to GRUB)?

Sorry in advance for the frustrated tone, but I am a tad frustrated! In this day and age, GRUB2 appears to be too pathetic to be dumped on userland in a leading distro of Linux as the default bootloader. Sadly I still don’t feel any better after the rant … More like concerned (and outa time to do anything about it).

In your frustration you forgot that this is not asking for any technical help. Thus it should be in Soapbox.

It will be moved there. Please do not post here until it is moved.

Moved and open for posting.

Grub 2 is new to openSUSE 12.2 now being the default boot menu. Grub 2 is actively being maintained unlike Grub Legacy, it supports all of the latest disk types for large capacity hard disks, GPD partitions and UEFI booting. You can still select Grub Legacy if you wish, during the install but in general, trying to stay away from Grub 2 will be like trying to swim upstream, in my opinion. You can do it at first, but you will eventually tire out and start going with the flow, just as I have done. For anyone new to Grub 2, have a look at the blog I started on the subject here with a nice bash script that can help you learn how Grub 2 works.

GNU Grub2 Command Help/Config Editor - Version: 1.75 - Blogs - openSUSE Forums

Thank You for using openSUSE,

You can always switch to LILO or something else :slight_smile:

I won’t tell you. You can edit /boot/grub2/grub.cfg if you like. But there are 2 good reasons not to do it:

  • it is too complicated - meaning there are easier ways to set up things.
  • it will be overwritten when you (or some other script after a kernel update) calls grub2-mkconfig to rewrite my menu.

Well, you do what you want with your days … but listing my files just takes 1 second:

# rpm -ql grub2

All right … 2 seconds. Sorry.

# rpm -ql  grub2-branding-openSUSE

That’s right. But ask yourself what you need (to know/to do/to say) first.

sed -i 's|^GRUB_THEME|#&|' /etc/default/grub && grub2-mkconfig -o /boot/grub2/grub.cfg

Problem solved.

No. I’m not a boot loader. I’m a boot manager, and I can install my boot loader in any Linux partition boot sector or/and in the master boot record. And yes, in some way I’m a standalone OS, or more precisely a standalone shell. That’s why you should install me into MBR, so that I can put my own code on the first track and not rely on block lists to find a place to boot. But openSUSE people are not nice to me. They were also not nice to my little brother Legacy Grub. They always want to put us in the boot sector of the extended partition. It’s called ‘extended’, but it’s a very narrow room, you know. One can not feel cosy there. How would you feel in 512 square bytes? And you can’t see the file system from there, you can’t see the ocean. You just know where you have to jump, just a sector number. Go there and shut up! It’s frustrating you know. So I’m the boot manager but I’m not the boss. The boss… humm … I can not tell. Even in soap box, it’s classified.

I don’t need any. I generate the menu entries. Do you mean which scripts I use to generate which menu entries?.. Well look in that /boot/grub2/grub.cfg file you don’t like, because it’s written there:

### BEGIN **/etc/grub.d/10_linux** ....
...
These are the boot entries for the running system, generated by /etc/grub.d/10_linux
...
### END **/etc/grub.d/10_linux** ....

### BEGIN **/etc/grub.d/30_os-prober** 
....
These are the boot entries for other Linux distros and Windows detected by os-prober.

### END **/etc/grub.d/30_os-prober** 

os-prober is my fellow, but I can live without him and he can live without me. He just looks around for other systems to boot but never on my own partition. os-prober was ported from Fedora and ArchLinux by my best friend Please_try_again about a year or so before it was adopted in factory. It has been suggested that he should not be shy and apply to maintain this package for openSUSE (indeed, he tries to provide the latest version and put a lot of work in debugging and patching these scripts). But he’s too shy and too busy… and a little bit too snob, I guess.

They are for you, my dear! Just for you. I thought you desserved them. You can put any boot entry in there. I won’t touch it. I will just copy your menu entries to my /boot/grub2/grub.cfg. Of course, you have to learn my syntax. But I had to learn your language too.

Yep.

But I don’t know which menu entries you’re talking about. If you have other Linux or Windows, run

grub2-mkconfig -o /boot/grub2/grub.cfg

If you need openBSD, FreeBSD and NeBSD support, use os-prober 1.53 … but not any os-prober 1.53, the one in the repo of my good friend Please_try_again. He added support for ufs2 file system. … But you don’t care about Unix, do you?

You’re asking too much questions … and you won’t even remember my answers. But that’s not true. I am documented … well I haven’t told anyone the offset of my new core, and PTA doesn’t know where he shoud start hexdumping me, so that I will show up in findgrub by my name (2.0) with all my brothers and sisters. I know he’s a little bit mad at me.

You’re asking the wrong person. I don’t blow up anything. Ask openSUSE devs why - year after year - they keep overwriting a working boot manager in MBR with a generic boot code, which can boot nothing on its own. But the reason is political, not technical.

Yes me too … humm… I mean, my good friend PTA too. I prefer his scripts over this fancy YaST and perl-Bootloader stuff and non sense.

That’s not me. I’m just a simple boot manager … and I sing a simple song.

Those guys are always running here too.

WIndows7. What’s that? I though it was extincted since the last eugenics war… and was only (illegally ) available on Ferenginar (?)

I’m sorry. I didn’t mean to be bad :cry:

It just says that the percentage of idiots is 14% higher among computer users than in the rest of the population …but I guess it’s exagerated. I would have said 85%.

Absolutely not. I’m good! I am much more clever than my little brother Legacy Grub. Ok, I lack some features, such as the ability to rewrite partition tables on the fly… but are you going to miss it? I know my friend Please_try_again does, but there are only 5 or 6 persons in the world doing this kind of nonsense. They can not be helped.

Okey dokey, but just like everything else, don’t you think?

Yes. :slight_smile:

Thanks for the info, but you know, I’ve been serving on Ubuntu for several years already, and this is nothing new.

What?! Who’s that? Is it in mysql?

I don’t understand … Oh but this question wasn’t addressed to me either.

Yes, unfortunately, it doesn’t help (I tried too). Hmmm … What can I say? Grub2 is not the problem. Grub2 is the solution. The distros are introducing new problems while seeking for new solutions. I still can’t figure out what the perl bootloader is doing here. This guy has been the absolute boot entries killer in previous openSUSE releases. One would have thought they would let Grub2 do its job. But no, that little stinker is still there. So wait and see … We’ll still having fun, I’m sure. But globally speaking, Grub2 is a better boot manager than Legacy Grub (which was the best of its time) ever was.

Your rant (most of which I did not quote) is overstated.

Personally, I don’t much like grub2. It tries to do too much. The result is that the grub2 software is in charge of what should be managed by the installed system. That is to say, grub2 violates the KISS principle.


I have edited grub.cfg - it isn’t a problem if you know what you are doing. The problem with editing it, and the reason for the warning, is that it is likely to be overwritten. I have edited it when I need to boot from a live CD and repair booting. But once I am back into the system, I make those temporary changes permanent by putting them in the proper place so that a regenerated grub.cfg will be correct.

My present practice - put other lines that I want in 40_custom, and ignore the lines that grub2 software puts there that I don’t need.

I quite agree that grub2 was a mistake that is in essence being rammed down users throats. Back in the days of 11.0 I had occassion to review both the grub bootloader and the grub2 development info. It became evident from the get go that grub2 is trying to do way to much, violates common kiss practices (as already stated) and is poorly laid out. It’s great to have a powerful software app but come-on now everyone should realize that a cryptic method of bootstrapping is problematic. Being cryptic, you can not just read off which OS’s will list and where they are. You are dependent upon some obscure code to run various modules to determine the OS’s on the fly and construct the menu selection. If the code gets it wrong as it did back when I was reading the development problems around the 11.0 opensuse time, you were S.O.L… The news that opensuse planned to go the grub2 route was a major disappointment that made me resolve not to upgrade until I had a good alternative.

That’s not entirely fair. Some of the newer hardware comes with EFI structured partitioning (in place of MBR), and legacy grub can’t handle that.

I agree with that part.

There’s actually no reason to not upgrade your opensuse. You can still choose legacy grub while installing. You probably won’t be forced to grub2 until you purchase new hardware that requires it.

Yes, that’s what I did recently, with a view to changing over when grub2 has settled in and I understand well enough to sort out any problems arising.

@nrickert
I should further qualify my comment about being rammed down users throat. I am referring to the write-ups on grub / grub2 from back when 11.0 was recent. The development documentation stated the decision has been made not to do any further development on grub - legacy. Grub2 is the target which all distros MUST integrate into their line-ups. It’s that simple four letter word “MUST” that sparked my comment “Rammed”. I realize there are alternatives such as LILO LDLIN SPINX and probably some others too.

GRUB2 would be a good direction if it was structured as a well behaved system start-up and management system. My current laptop has EFI capable hardware but it is set to legacy MBR. My primary concern with the layout is the obscurity of it. In the past most of us have seen the problems associated with system installs and upgrades. In an effort to make a distro as friendly as possible, installers in general have automated the installation steps to satisfy the majority of systems in the target structure and added a manual override for more expert control of the process. This installation approach works because it is focused on a single OS install on a system which may have one or more OS’s, may have radically differing hardware, may have users with differing expertise, and in most cases the root is being put on an empty partition or logical drive so there is no control files already present. In the case of GRUB2 as a Bootloader, the system is already installed to a Partition or logical drive with additional Partitions and logicals already predefined. Thusly a well behaved Bootloader would NOT use code to guess at what systems and structures already exist. (I say guess because it doesn’t always get it right which is why it kept crashing in the early development documented). A well behaved Bootloader would look for a config file and use it if present or create using code if not already existing. In this way the end user would be able to intervene if necessary. Since I do not have grub2, I am going strictly from the development explanations of how grub2 is to work. As a Boot manager, it needs to co-ordinate the list of OS’s with the locations of the OS’s with the Parameters of the OS’s and add in user desired backgrounds, sounds, screen resolutions, menu structure and placements, security and authentication as described in the development documentation but again without the on the fly code generated OS location and parameterizations.

Okay, thanks for that.

I had thought that you were saying the opensuse folk were forcing it on you. And I disagree with that. But it seems that your real complaint was that the grub developers were forcing it on you. And there, I agree.

Yes, I agree with that, too. It does too much for a loading system installed as part of a linux installation. It makes more sense as a stand-alone booting system. But, if they did that right, then a linux installer should be just adding its boot command to an already existing grub2 installation, instead of installing it. So either grub2 is incomplete, or they failed to adequately sell their plan to the people who manage the various linux distros.

This is actually not true. First this is not grub2 which handles EFI booting but grub2-efi, and it’s a different package. Second, Legacy Grub is perfectly capable of handling EFI boot with the appropriate patches. Fedora did it a while ago and installs grub-efi, an EFI aware legacy Grub, as default boot manager on EFI/UEFI systems - at least Fedora 16. I don’t know if it has changed in Fedora 17 - despite the fact that it uses Grub2 on BIOS systems. I installed Fedora 16 on UEFI system with (legacy) grub-efi, and it works. So do openSUSE or Ubuntu with grub2-efi.

It won’t get you very far, IMO.

Yes and no. It’s os-prober which does that for the “other” OSes, not Grub2, meaning that with a single OS or ‘static’ custom boot entries in /etc/grub.d/40_custom, Grub2 can perfectly keep (= rewrite) foreign boot entries without os-prober’s help. In case of openSUSE, it’s the Perl-bootloader which ‘filters’ the other OSes and discards them from (Legacy) Grub menu. As for ‘parameters’ with Grub2, they get truncated in version 1.49 shipped with openSUSE 12.2 and AFAIK in any os-prober version, including 1.55 - except the one in my repo, because I fixed this bug and added a patch a while ago. See my explanation in this post: http://forums.opensuse.org/english/get-technical-help-here/install-boot-login/479058-grub-2-boot-menu-boot-options-entry-field-missing.html#post2492063.

I do not see how the second sentence follows the first. Everyone is entirely free to pick up grub1 maintenance and make it better and more attractive for distributions than grub2. Somehow it did not happen. For me choice between unmaintained and maintained code seems to be fairly obvious.

With respect, perhaps that’s why you don’t see how “the second statement follows the first”. Not everyone has the skill to maintain grub1. Not everyone with the skill has the time as they are probably busy on other projects and developments. Then the list that could do it gets even smaller along with the motivation, as there is a replacement available - grub2. So, not surprising about the “did not happen”.

Yes its the “choice between unmaintained and maintained code seems to be fairly obvious” that means distros MUST integrate grub2. :slight_smile: