Using livecd v17.0.1 (and above) as grub to boot OS with broken bootloader

Sharing alternative approach to boot OS with broken bootloader.

Note: I have legacy BIOS and steps detailed below works for me. I hope UEFI Bios / GPT setup wud also work provide relevant efi grub was installed and configured correctly.

We can also boot manjaro using Super Grub 2 Disk.

from https://www.supergrubdisk.org/

Just 20 mb iso file. write it to a usb drive or add it to multiboot usb.

Boot ur pc with Super Grub 2 Disk bootable USB and select first option to detect OS. Thereafter Manjaro Grub Menu is displayed along with other linux distros if multiple OS exist.

You can also boot desired kernel for desired OS if multiple linux distros with multiple linux kernel installed.

1 Like

Note this is a major update on how to get back our broken Manjaro bootloader since the introduction of fedora-grub. All edited at first post.
Some notes below.

  1. grub version 2.03.2-1 (or later)
  2. There is no need to set or unset menu_auto_hide though that by the stanza’s in 01_header and 01_menu_auto_hide will also work.
  3. hidden menu has “Welcome to Grub” removed.
    Some distros, when compiling grub, has that removed as well by removing a couple of lines in stock grub.
  4. ‘countdown’ in all stock or recompiled grub will show a small countdown timer and will not show “Welcome to Grub”
  5. fedora-grub will, by 00_header and 01_menu_auto_hide and using grubenv, automatically hide menu if Manjaro is the sole OS. Other distro’s do that as well in a less convoluted way.
    And users by themselves can manage it manually in much more simpler way without the use of grubenv or changing stanza’s in /etc/grub.d
  6. In Fedora and related distros, different grub.cfg are generated for bios-legacy and uefi.
  7. grubenv causes issues for some filesystems like f2fs or btrfs (no sparse file) as well as other complications (like lvm or encryption).
  8. grub, is itself simple, just kernels and the path to it.
    Simpler than refind definitely, as simple as systemd-boot, just much more versatile.
    In taking advantage of its versatility, we created more complications (and more things that can go wrong) than it’s worth.
3 Likes

God bless you Sir gohlip! Something foobard my 4.19.16-1 update installation early this week. The first two lines of your Simple First Start got me back to my desktop (many times!) until I could figure out how to restore GruB.

I do have a Samsung 960 NVME drive as legacy bios boot. I was refused nvme0n1p1 ( / ) with the “embedded blacklist” error by grub-install. /dev/nvme0n1 worked :smiley:

Your choice of beverage when we meet

1 Like

What do you mean 4. When booted at part Simple First Start? Does it mean boot uo to live OS?

I don’t see which topic you need help on this.
Your topic is on yakuake session short cuts which I am not familiar with though I use kde.
But to answer you above,

So you do not boot up to livecd OS at all.
At step 4. you would then boot up to the installed OS (in your computer hard drive), not the livecd OS. Hope this is clear.

保重。新年快乐!

1 Like

Just saw your reply at Windows 10 - Update 1809 breaking grub that no need chroot to solve that problem. Make above question(reply) to make sure each steps.

This thread is not mine about yakuake shortcut, so my topic here is about broken bootloader.

Sorry to have taken up your time on yakuake shortcut thread and thanks for your reply.

By the way, never heard 保重 at new year before.

别客气。哈哈。你还是迷信?

1 Like

気をつけて。明けましておめでとうございます。
:smiley:

Chotomate. Thats how its translated in japanese? Thats not correct. See what is the meaning in russian?
Sumimasen, oh. spasbah.

Oh, it’s “take care, happy new year”. I just tried to translate your original Chinese message. What makes you think that’s incorrect? I am pretty sure it is correct (I’m a graduated Japanese interpreter - that was long ago but I still remember some things).
By the way, chottomatte has double “t”, ちょっと待って(ください). Small “tsu” doubles the next consonant.

In Russian it’s “Береги себя. С новым годом!” (Bereghí sebyá. S nóvym gódom)

谢谢 (btw this word sounds like “sesie” - at least in Google translate - but both hieroglyphs are the same - I mean it looks strange to me. Is it a common thing in Chinese?)

1 Like

Yes, it chinese, but it is old style. Too many strokes. But I’m old enough when the new style was introduced.:smile: I was taught old style in school, introduced new style after I left school.

But always be careful when translating. Translating to English from other languages may mean differently when read by native English speakers, for example, a simple ‘you’re welcome’ is often translated as '‘doesn’t matter’ or ‘small thing’ from french or italian, ‘please’ from german, ‘don’t be polite’ from chinese, ‘return’ from indonesian and do on. And of course there can be major gaffes like trying to say ‘ashamed’ in indonesian.

And there is this story/joke about Nixon asking Mao how often he has elections. Mao replied, ‘every night.’ I hear his translator was fired. Okay, bad joke.

[edit] - it is the new style. but when writing, we often use even shorter forms, anyway we seldom write anymore - all typing, so we don’t need to know how to write and many young chinese forget how to write.

5 Likes

“findmnt” is a great find :slight_smile:
Thank you gohlip. I enjoy reading your boot comments. Especially ‘efi’.
New computer, first time with ‘efi’ . A challenge.

1 Like

Just here to say my deepest thanks! You saved my -rear end- with your Uefi specific trouble shooting!

Thank you so very much! I was already about to give up as the system on its own would just not boot without the detour over the liveUSB

thanks thanks thanks

1 Like

What if I have two outputs that are the same:

grub> search.file /etc/manjaro-release
hd0,msdos1 hd0,msdos1

I'll type these outputs out later when on my desktop (on my phone now).

More info at error: file `/boot/grub/i386-pc/normal.mod` not found..

Use them both! One at a time.. :laughing:
What else can you do? :man_shrugging:

1 Like

:rofl:

1 Like

Hi @gohlip.
Do your instructions only concern using livecd v17.01?
Or can any version work?
I have issues with a broken bootloader on my laptop and would like a link to an image of the version you mention so that I may attempt to fix it.

Thank you in advance.

Any version above that will work.
I had included the latest version that I had tested to make sure this works.
Apparently, I had edited this out (in my many edits) and I'm not aware that I had edited this information out.
Thanks for pointing this out.

Just FYI, previous versions (prior to 17.0.1) needed some adjsstments to the parameters to make it work for newer versions. (At least 3 times adjustments were made). The last adjustment was made with grub versions changing rapidly (not the iso adjustments) but the final grub version made it such that we still make it work with menu_auto_hide). But don't worry about it. I just like to explain things.

2 Likes

Thank you for your prompt reply.

When I get round to actually working on it - I'll be sure to tap you for any help if I need it.

Have a good day.

1 Like

Latest amendment in first post.
Short summary - Change grub to grub-vanilla.

grub-vanilla is now in stable branch. Strongly recommend all to change to grub-vanilla, even for those who want a hidden grub menu. It's less problematic. Faster, Easier, and Simpler.
grub-vanilla will be less error prone and the possibility of getting into boot problems will be vastly reduced. We'll still get into problems with people using grub-customizer or manually changing /etc/grub.d/. But using grub-vanilla will be a great step in getting grub to behave as grub should.
There is almost no difference from upstream grub.

Some more details -

  1. remove all grubenv entries. This should do.
sudo rm /boot/grub/grubenv
sudo grub-editenv /boot/grub/grubenv create
  1. The existing /etc/default/grub will be used after grub-vanilla is installed.
    You might want to check if you want to keep original settings.
  2. For those wishing to have the original manjaro theme (instead of the black and white text grub menu), at /etc/default/grub (but existing /etc/default/grub will have these anyway, if you haven't removed it).
GRUB_TERMINAL_OUTPUT=gfxterm
GRUB_THEME="/usr/share/grub/themes/manjaro/theme.txt"

For those who want to have a 'classic' black/white text, comment out both lines (default settings will replace - GRUB_TERMINAL_OUTPUT commented out will be 'console')

   GRUB_TIMEOUT_STYLE=menu
   GRUB_TIMEOUT_STYLE=hidden
   GRUB_TIMEOUT_STYLE=countdown

Default is 'menu'. Meaning if not specified (or commented out) in /etc/default/grub, it defaults to 'menu'. For whose who want hidden menu, specify it to 'hidden' That's it. But I'd personally recommend 'countdown' instead. Try it for yourself.

  1. Press 'esc' key from hidden or countdown menu to get to the menu. NOT any other key like 'shift' or 'F8'. That's for the ■■■■

  2. btrfs and f2fs
    For those on btrfs and f2fs, Do not use GRUB_SAVEDEFAULT=
    GRUB_DEFAULT= can still be used as this does not use grubenv.
    And btrfs and f2fs do not need /boot to be in a separate partition.
    Just do not use GRUB_SAVEDEFAULT=

7 Likes

Forum kindly sponsored by Bytemark