Partitioning with Legacy Boot (BIOS) and GPT

Hi all,

after using Debian and Ubuntu for some years, I decided to switch over to Manjaro. Today I was fiddling around with a test system (a laptop) before I install it on my main PC.

The laptop boots in Bios (this is also what is shown in the installer on the top) and I wanted to choose GPT as the partioning table. As far as I understood in this combination (=BIOS+GPT) a 8 MB unformatted partition is needed which is marked as bios_grub. This is my first partition. Then I have root (/), home (/home) and a swap partition. I don’t have any boot partition. Manjaro boots fine, but the bios_grub partition is formatted as ext4 after the installation. Does this make sense and how can I make sure that it is even used?

df -h gives me

df -h

Dateisystem Größe Benutzt Verf. Verw% Eingehängt auf
dev 1,8G 0 1,8G 0% /dev
run 1,8G 1,4M 1,8G 1% /run
/dev/sda1 39G 6,4G 30G 18% /
tmpfs 1,8G 0 1,8G 0% /dev/shm
tmpfs 4,0M 0 4,0M 0% /sys/fs/cgroup
tmpfs 1,8G 9,2M 1,8G 1% /tmp
/dev/sda2 411G 227M 390G 1% /home
tmpfs 364M 96K 364M 1% /run/user/1000

Thanks for any help.

you only need a 8Mb unformatted partition with flag_bios_grub ,
i think that grub and all modules for grub are inside , so i t can boot on ext4

this is what I had before the installation, but after the installation it’s ext4. So, it’s fine as it is?
The 8 mb partition (which is now ext4) is then not used by grub and grub is located on my root partition?

If you can boot it is fine.

However, the /boot/grub folder is just a config folder for grub and not program grub that boots.

Please provide

fdisk -l /dev/sda

and maybe also

lsblk /dev/sda  

Hi,

here it is:

sudo fdisk -l /dev/sda
[sudo] Passwort fĂĽr top: 
Festplatte /dev/sda: 465,76 GiB, 500107862016 Bytes, 976773168 Sektoren
Festplattenmodell: ST500LM000-SSHD-
Einheiten: Sektoren von 1 * 512 = 512 Bytes
Sektorgröße (logisch/physikalisch): 512 Bytes / 4096 Bytes
E/A-Größe (minimal/optimal): 4096 Bytes / 4096 Bytes
Festplattenbezeichnungstyp: gpt
Festplattenbezeichner: 69E31F54-6843-6148-A970-99DF61C62E9A

Gerät         Anfang      Ende  Sektoren Größe Typ
/dev/sda1      18432  81938431  81920000 39,1G Linux-Dateisystem
/dev/sda2   81938432 958482431 876544000  418G Linux-Dateisystem
/dev/sda3  958482432 976768031  18285600  8,7G Linux Swap
/dev/sda4       2048     18431     16384    8M Linux-Dateisystem

Partitionstabelleneinträge sind nicht in Festplatten-Reihenfolge.

lsblk /dev/sda
NAME   MAJ:MIN RM   SIZE RO TYPE MOUNTPOINT
sda      8:0    0 465,8G  0 disk 
├─sda1   8:1    0  39,1G  0 part /
├─sda2   8:2    0   418G  0 part /home
├─sda3   8:3    0   8,7G  0 part [SWAP]
└─sda4   8:4    0     8M  0 part

This is not a “BIOS boot” partition. so it can’t be used by grub. Do you have any other drive connected to your system?

This is the partition I made, because the installer told me that when using a GPT Partition table with BIOS I should make a 8 MB big partition (unformatted) and mark it with bios_grub.

That’s what I did. After the installation it was formatted to ext4.

This is still a little bit weird. But as long as it works.

You could try to mount the partition, maybe there are some files on it.

I tried mounting it, but it tells me wrong fs type. I can try installing just with /, /home and swap. Maybe I don’t need that partition at all.

Maybe it is just the wrong type. How did you know it is ext4.

If it is a legacy boot system, you will need it.

this is shown in gparted, but it also tells me that the content cannot be read and that the partition is not mounted. I can delete it and see if it still boots. :smiley:

I deleted the 8 MB partition and it still works.

I only have /, /home and swap now. Filesystem is GPT and system uses BIOS. How is that possible?

I would bet your grub’s boot.ing ended up in the MBR and the core.img in sectors #34ff. The BIOS_grub partition won’t be used in that case. It’s a configuration which is not very well known and outworn, but usually it works. I would expect that this also could happen if CSM is not disabled when people try to install in UEFI mode.

Reference:
GNU GRUB - Wikipedia

Is it better to use MBR as the partition table then to be on the safe side?
I also tried to choose option “erase disk” in the installation manager. There it automatically chooses MBR as the partition table and I see no possibility to choose GPT. I only have root and home, so basically I don’t need nothing more fancy than just MBR.

Is this a bug in the installer then or did I make a mistake?

I don’t think so.

Sorry to say, but with every new post you show more that an installation in BIOS mode on a gpt parted disk is not a way you should go with your current skill level. You can not hope to always find a helping hand to guide you through all little issues your are going to face.

I would recommend you to decide to do an installation either in

UEFI mode on a gpt parted disk (recommended)

or

BIOS mode on a msdos parted disk with MBR (if you cannot boot in UEFI mode)

Use the time to search the web for grub, BIOS, UEFI, MBR, gpt to understand the basics before a new atempt of installation.

Ok, i’ll do more reading. As it is just a “test installation” on a PC which is not in use I’ll try to install it with UEFI. Thanks again.

Works in UEFI mode. I’ll also choose this on my main PC. Up to now I avoided UEFI.

GNU GRUB Manual > 4.4 BIOS installation > GPT

1 Like