After following the "Restore the GRUB Bootloader" instructions, Grub disappeared again.

I think your grub.cfg was created while booted in msdos mode.
Try again to chroot (with efi vars properly) and within chroot just update-grub.
It maybe just that. If it still fails, we'll see...

I'm afraid I have bad news. And exactly as @dglt said accurately right from the start.
You had installed manjaro in uefi into a msdos disk (sdb).

It must be changed. Even if you can find a way to boot manjaro (it can be done), this will not last and will give problems in the future. In short, you must reinstall manjaro.

You can use a partition in sda (already gpt) or if you want to use sdb, you must first change it to gpt from msdos and that will wipe all data in sdb.

Sorry but good luck.

ps: I wanted to ask how you get the the parameters "idle=halt acpi_enforce_resources=lax" into your kernel parameters. Is that manually written by you? What is this "idle=halt' for?
You seem to have good knowledge of linux in your chroot procedure. These parameters might be explained quite well by you. Thanks.

[edit] - I know what idle=halt is used for. My question is why do you find you need it?

3 Likes

if you have enough space on sda6, you can use timeshift to backup your manjaro installation and have it stored on sda6 which is an ext4 extension. then from a live usb you can use gparted to create a new gpt partition table on sdb, create partitions for manjaro as you had them before and then restore the manjaro backup to sdb. or you can just create a new partition table and reinstall, your choice. or only backup /home and restore it after a clean install

2 Likes

Try again to chroot (with efi vars properly) and within chroot just update-grub .

Not sure what you mean? I've tried installing and updating grub as per the Wiki instructions.

It must be changed. Even if you can find a way to boot manjaro (it can be done), this will not last and will give problems in the future. In short, you must reinstall manjaro.

Hm, okay. Well, I'm already planning on reinstalling Linux in the near future anyway, so that isn't a major issue. I'll try your suggestions.

ps: I wanted to ask how you get the the parameters "idle=halt acpi_enforce_resources=lax" into your kernel parameters. Is that manually written by you? What is this "idle=halt' for?

I'm not sure what acpi_enforce_resources=lax is, but I indeed manually wrote idle=halt. My Linux installs suffer from the infamous Ryzen lock-ups, and that is one of the most common suggestions to fix it. Along with other things, I managed to make it lock up much less, but I couldn't stop it altogether. The reason I updated the BIOS was because a few people reported doing that worked on their computers.

if you have enough space on sda6, you can use timeshift to backup your manjaro installation and have it stored on sda6 which is an ext4 extension. then from a live usb you can use gparted to create a new gpt partition table on sdb, create partitions for manjaro as you had them before and then restore the manjaro backup to sdb. or you can just create a new partition table and reinstall, your choice. or only backup /home and restore it after a clean install

Fair enough, I might try that.

2 Likes

It seems you messed up, but IMHO you may get back to normal.

  • Boot LiveISO in MSDOS Legacy (make sure you select proper option from BIOS quick menu).
  • Chroot into your Manjaro installation without efivars
  • Remove /boot/efi from your fstab
  • Run
grub-install /dev/sdb
update-grub
exit
  • Reboot and get to BIOS Quick menu to choose Legacy-sdb-drive (the sdb drive name)

If all go well, assuming Win is on UEFI, you will select from Quick Boot menu whatever you want to boot (Legacy-sdb=Manjaro, UEFI-Windows=Win). I guess you have to set UEFI boot mode as UEFI+Legacy, for this to work.

@gohlip's solution (putting the bootloader on sda) worked, thank you. And thanks to everyone else who put their time into helping me.

1 Like

This has nothing to do with what @gohlip said, at least in the marked topic.
If all works, post

efibootmgr -v
lsblk -f
cat /etc/fstab

This has nothing to do with what @gohlip said, at least in the marked topic.

What do you mean?

If all works, post

efibootmgr -v
lsblk -f
cat /etc/fstab
[henrique@henrique-linux ~]$  efibootmgr -v
BootCurrent: 0005
Timeout: 0 seconds
BootOrder: 0005,3005,2001,0003,2002,2004,0001,0000
Boot0000* Notebook Hard Drive - ST1000LM035-1RK172      BBS(HD,Notebook Hard Drive - ST1000LM035-1RK172,0x500)................-.R.......R.A.R.............................................A...............................
Boot0001* Notebook Hard Drive - SAMSUNG MZNLN128HAHQ-000H1      BBS(HD,Notebook Hard Drive - SAMSUNG MZNLN128HAHQ-000H1,0x500)................-.Y.......Y.A.Y.............................................A...............................
Boot0003* Windows Boot Manager  HD(2,GPT,388dcead-1729-4fe7-85c4-99a053cbeb38,0xfa000,0x32000)/File(\EFI\Microsoft\Boot\bootmgfw.efi)WINDOWS.........x...B.C.D.O.B.J.E.C.T.=.{.9.d.e.a.8.6.2.c.-.5.c.d.d.-.4.e.7.0.-.a.c.c.1.-.f.3.2.b.3.4.4.d.4.7.9.5.}...1................
Boot0005* manjaro       HD(8,GPT,02c778d1-3b8a-48bf-a410-75f98170ca16,0x7800000,0x100000)/File(\EFI\manjaro\grubx64.efi)
Boot2001* EFI USB Device        RC
Boot2002* EFI DVD/CDROM RC
Boot3005* Internal Hard Disk or Solid State Disk        RC
[henrique@henrique-linux ~]$ lsblk -f
NAME   FSTYPE LABEL        UUID                                 FSAVAIL FSUSE% MOUNTPOINT
sda                                                                            
├─sda1 ext4                af0ab3b7-67cf-41f1-89a4-4410785e312b   30.8G    52% /
├─sda2 ext4                af7dec11-f7c8-489a-8ccd-4490d2f2c502   13.6G    49% /home
├─sda3 swap                d134abf1-6049-4ee2-a9eb-162c28ddb221                [SWAP]
└─sda4 vfat                1015-CE7D                                           
sdb                                                                            
├─sdb1 ntfs   Recovery     14E0048EE004786E                                    
├─sdb2 vfat                6E07-7903                                           
├─sdb3                                                                         
├─sdb4 ntfs                E81C2DEB1C2DB60A                                    
├─sdb5 ntfs                4A207C59207C4E47                                    
├─sdb6 ext4   SHARED-DATA  51131483-da1a-4f13-b1f4-d6e50bfcaa58  114.7G    69% /home/henrique/
├─sdb7 ntfs   WINDOWS_DATA 8AE46D47E46D371B                                    
└─sdb8 vfat                5D5D-A974                                           
[henrique@henrique-linux ~]$ cat /etc/fstab
# /etc/fstab: static file system information.
#
# Use 'blkid' to print the universally unique identifier for a device; this may
# be used with UUID= as a more robust way to name devices that works even if
# disks are added and removed. See fstab(5).
#
# <file system>             <mount point>  <type>  <options>  <dump>  <pass>
UUID=af0ab3b7-67cf-41f1-89a4-4410785e312b /              ext4    defaults,noatime,discard 0 1
UUID=af7dec11-f7c8-489a-8ccd-4490d2f2c502 /home          ext4    defaults,noatime,discard 0 2
UUID=d134abf1-6049-4ee2-a9eb-162c28ddb221 swap           swap    defaults,noatime,discard 0 2
tmpfs                                     /tmp           tmpfs   defaults,noatime,mode=1777 0 0
UUID=51131483-da1a-4f13-b1f4-d6e50bfcaa58 /home/henrique/Data ext4    defaults,noatime         0 0
#/dev/sdb4      /boot   fat32   defaults        0       1
#UUID=6E07-7903 /boot/efi       vfat    defaults        0       1
#UUID=AB24-AC7A /boot/efi       vfat    defaults        0       1
#/dev/sdb4      /boot/efi       vfat    defaults        0       1

It's a really strange case (for me...).
It seems you still haven't your $esp mounted, or in fstab. I think you should do it.
It seems your current $esp is

Post also

inxi -Dpxxxaz
ls /boot/efi
1 Like

No. OP has msdos disk. Unless he reinstalled and changed it to gpt. You did not ask for a command that will show gpt or msdos.
He must not mount mount /boot/efi in fstab.
He can check if boot is in uefi or bios-legacy with

test -d /sys/firmware/efi && echo UEFI || echo BIOS

If OP has to do a command, it should be

sudo grub-install --target=i386-pc  /dev/sda  --recheck --debug

After a reboot he can check again with

test -d /sys/firmware/efi && echo UEFI || echo BIOS

I thought this was that, also gives findmnt -s.

I thought efibootmgr was enough...

So, can we have UEFI systems on MSDOS/MBR disks?

:point_up:

I repeat, If it is msdos disk, he must not mount /boot/efi.
If it is uefi, it is wrong. that's why he must do

to make it in bios-legacy.

ps: inxi -Dpxxxaz ?
You love complicated huh? :laughing:
You should love Fedora or its grub. Make that quiet-grub. :crazy_face:
Oh.. and lvm by default and ...

"Don't know" is not the same as "is complicated". It's VERY simple :wink:

:face_with_raised_eyebrow: Grrrr :angry:

This topic was automatically closed 30 days after the last reply. New replies are no longer allowed.

Forum kindly sponsored by