Cannot [dual] boot into Manjaro on BIOS/MBR system

What disk? It is partition that it is trying to mount.
And that is most likely an entry in your stab that has a wrong or bad entry.

Check your fstab. Comment out any entry that is not relevant.
The fact that it boots to the installed OS means it works.

You will need to do 'grub-install /dev/sdx' and 'update-grub' when booted.
That may let you boot windows.

Show us your /etc/fstab (and 'sudo blkid' to make sense for us)

Whatever I try, I can't get the root drive to mount. The drive it is trying to mount is indeed the correct one. I verified the UUID with ls -lha /dev/disk/by-uuid. I'm thinking about starting the whole process over from scratch.

EDIT: If there are two drives $abc should be the UUID of the boot drive or the linux drive? (I've tried both and niether worked, but it would be good to know which is correct.)

Why don't you...

If you cannot boot to OS, from a livecd OS, use the file manager to get us that.
As said, it is most likely the fstab entry that's wrong.

If you have a separate boot partition, be careful that you point to the right partition. It is explained in that link on the [More Complicated Setup] section.
I still don't understand why people want a separate boot partition. Or want so many things complicated. Use Fedora.

Note to self: since the grub has returned to reasonable levels of less complication, perhaps I will need to make my link less complicated. let me pull out the first unedited version of that link.

@Wollie

OP has a separate boot partition.
He needs to point 'root' to boot partition
Then he needs to use 'root' partition in its linux line
He needs separate $abc and $pqr to work.
The commands you listed won't work for for his separate boot partition.

1 Like

Doing quickly. for OP
@Wollie, please check it over for mistakes. Thanks.
Out for walk with dog.

grub> search --file --set=root /intel-ucode.img  
grub> probe -u $root --set=abc
grub> search --file --set=xyz  /etc/manjaro-release  
grub> probe -u $xyz --set=pqr
grub> linux /vmlinuz-4.19-x86_64 root=UUID=$pqr rw
grub> initrd /initramfs-4.19-x86_64.img
grub> boot

use the right kernels of course, may not be 4.19.
To check verify kernels,
grub> ls ($root)/
after root is set
[EDIT]

@Wollie , I changed to the usual syntax for 'search' so you can follow.
Change to 'search --file' from search.file

search --no-floppy --file --set=root <file>

@gohlip, what about this step, doesn't work here?


grub> ls ($root)/boot/

Copy down kernel and initrd file, say vmlinuz-4.14-x86_64 and initramfs-4.14-x86_64.img
Use the right kernel below like 4.18 or 4.19 or...

I haven't checked with link. But I think you're right.
If $root is /boot (in separate boot partition), then list (ls) should be
grub> ls ($root)/

not ls ($root)/boot

good catch and thanks. cheers.
ps: my dog getting impatient. :joy:
Should be...
grub> ls ($root)/

1 Like

@Wollie

Checked with link. That is on the "no separate boot partition" section.
But I've edited that link to make it clearer on the 'separate boot' section.

Please go through my latest revision on that link and come back to me if you see any improvement that is needed. But please inform me first before going about editing it. Thanks.

@AgentS my old buddy and partner.
Please go through the revision too. But don't go about editing it yourself like you did the last time without informing me. :rofl: Thanks.

2 Likes

Looks good to me, I only would recommend to add it to post #10, too. :wink:

1 Like

Because I thought I was just moments away from resolving it myself... :sweat_smile:

blkid

/dev/loop0: TYPE="squashfs"
/dev/loop1: TYPE="squashfs"
/dev/loop2: TYPE="squashfs"
/dev/loop3: TYPE="squashfs"
/dev/sda1: LABEL="System Reserved" UUID="7AC2F519C2F4DA79" TYPE="ntfs" PARTUUID="da2ea3f4-01"
/dev/sda2: UUID="EA28FF8D28FF5753" TYPE="ntfs" PARTUUID="da2ea3f4-02"
/dev/sda3: UUID="A89A5D3A9A5D066A" TYPE="ntfs" PARTUUID="da2ea3f4-03"
/dev/sda5: UUID="CE70-E598" TYPE="vfat" PARTUUID="da2ea3f4-05"
/dev/sda6: UUID="b5ff75a5-65fc-4c10-85ae-fa9da7257344" TYPE="ext4" PARTUUID="da2ea3f4-06"
/dev/sdb1: UUID="2019-12-29-11-03-38-00" LABEL="MJRO1815" TYPE="iso9660"
/dev/sdb2: SEC_TYPE="msdos" LABEL_FATBOOT="MISO_EFI" LABEL="MISO_EFI" UUID="74D3-6C47" TYPE="vfat"

fstab

UUID=CE70-E598                            /boot          vfat    defaults,noatime 0 2
UUID=b5ff75a5-65fc-4c10-85ae-fa9da7257344 /              ext4    defaults,noatime,discard 0 1
# tmpfs                                     /tmp           tmpfs   defaults,noatime,mode=1777 0 0

Your /boot partition is vfat.
No can do.
Oh.. meaning you cannot have a non-esp /boot partition in fat filesystem.

Thanks, I never would have caught that.

I did not have enough background knowledge to try to follow a how-to made for UEFI and adapt it to MBR/legacy boot.

Since I made the wrong type of partition, I think I will need to repartition and re-install. What's the right way to partition and install a bootloader for dual-boot MBR/legacy boot? I was afraid to let the installer install the boat loader on the original MBR because I didn't know if it would interfere with Windows (and didn't want to experiment).

EDIT: The updated instructions in your wiki are much easier to follow now.

1 Like

Before we proceed (and this should be the first thing we need to know),
what is your disk partitioning (gpt or msdos)
what is your windows booted in (uefi or bios-legacy)

I assumed your disk is msdos and your windows bios-legacy too.
Can we confirm this?
Since you cannot boot manjaro, can you find out in windows?
At this very point, my windows know-how is suddenly zapped out.
can you find out or search for us and come back to us?

We certainly do not want you to do something however strong our assumption is.

ps: probably you have to reinstall. sorry.
and there's lots like yours (boot partition in vfat)
Here's one.
It installs and runs (for some time) but ultimately it will fail.

[edit] - you must install in same mode as your windows (unless you want to zap windows)
if windows is uefi, make you manjaro uefi
if your windows is bios-legacy, make manjaro bios-legacy.
if gpt, use uefi
if msdos, use bios-legacy

1 Like

Assuming that you come to the conclusion you have BIOS/MBR:

Only the old MBR will be overwritten by the approach of a dual boot install in this case. This is no issue as afterwards you can always boot into your Windows via the new grub bootloader menu.

(The MBR could also easily rewritten from Windows recovery DVD using simple command:
bootrec /fixMBR)

Details to the placement of the GRUB2 parts (especially boot.img and core.img) can be found in wikipedia:

You only need one partition for "/", unformatted (means formmated during installation) or formatted (usually ext4).

1 Like

@Wollie

  1. I assumed his disk is msdos based on above. An extended partition must imply msdos partitioning.
  2. Windows must therefore be bios-legacy.
  3. Manjaro allows installation of uefi in msdos (bad, won't change?)
    but is always bad and will end in failure.
  4. If manjaro is correctly installed in bios-legacy in a msdos partitioned disk,
    his boot partition cannot be a esp partition
    Therefore it is a 'normal' non-esp partition and if that is vfat fs, it will fail.

In all cases, it will fail.
Under no circumstance will his system survive.

The guide was for a re-install of Manjaro, no fix. Windows won't be affected other than usally by a dual boot. The two partitions for Manjaro can be deleted and merged afterwards.

Okay. heh heh. My comprehension must be defective.
Comprendre.

:clap: Thank you for all the help.

Looks like msdos to me.

parted -l:

Model: ATA Crucial_CT500MX2 (scsi)
Disk /dev/sda: 500GB
Sector size (logical/physical): 512B/4096B
Partition Table: msdos
Disk Flags: 

Number  Start   End    Size    Type      File system  Flags
 1      1049kB  525MB  524MB   primary   ntfs         boot
 2      525MB   431GB  430GB   primary   ntfs
 4      431GB   500GB  68.7GB  extended
 5      431GB   431GB  525MB   logical   fat32
 6      431GB   500GB  68.2GB  logical   ext4
 3      500GB   500GB  496MB   primary   ntfs         msftres

I double-confirm. My system is legacy/MBR boot.
Run msinfo32, look on the summary page. Can export the results to text file.

BIOS Mode	Legacy	

This is good and cheap insurance. Let me make my Windows repair disk now. :slight_smile:

EDIT: Added msinfo32 instructions to confirm boot mode within Windows.

And success! I have a working Manjaro install. Thank you for the assistance. :bowing_man:

  • I made a Windows recovery USB just in case.
  • Left the existing extended partition and filled it with a single ext4 mounted at / with the root flag.
  • I let the installer write grub to the original MBR (on sda).
  • Come to think of it, I have not actually tried the Windows option in the GRUB menu yet, I've been too busy setting up Manjaro.
1 Like

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

Forum kindly sponsored by