By default when installing CentOS 8, the BIOS will be MBR. This can be changed while installing by adding the inst.gpt to the vmlinuz line during the installing process. However, if you forget to do so, it is not too late. For fun, I followed this process that I found online and it worked without damaging the virtual machine. I would rather restart the installation process, but this should work in a bind.
vmlinuz initrd=initrd.img inst.stage2=hd:LABEL=CentOS->8-BaseOS-x86_64 rd.live.check quiet inst.gpt
The process was painless. The commands.
gdisk /dev/sda # print p # new n # Create a new bootable partition. As the first sector, enter 34 and the last sector is 2047. Partition code is ef02. # save changes w # do you want to proceed y partprobe grub2-install /dev/sda gdisk /dev/sda # see if takes reboot
The commands with output
[root@localhost ~]# gdisk /dev/sda
GPT fdisk (gdisk) version 1.0.3
Partition table scan:
MBR: MBR only
BSD: not present
APM: not present
GPT: not present
***************************************************************
Found invalid GPT and valid MBR; converting MBR to GPT format
in memory. THIS OPERATION IS POTENTIALLY DESTRUCTIVE! Exit by
typing 'q' if you don't want to convert your MBR partitions
to GPT format!
***************************************************************
Command (? for help): ?
b back up GPT data to a file
c change a partition's name
d delete a partition
i show detailed information on a partition
l list known partition types
n add a new partition
o create a new empty GUID partition table (GPT)
p print the partition table
q quit without saving changes
r recovery and transformation options (experts only)
s sort partitions
t change a partition's type code
v verify disk
w write table to disk and exit
x extra functionality (experts only)
? print this menu
Command (? for help): p
Disk /dev/sda: 67108864 sectors, 32.0 GiB
Model: Virtual disk
Sector size (logical/physical): 512/512 bytes
Disk identifier (GUID): E5B166D3-3135-47F0-A140-42A4A41E545D
Partition table holds up to 128 entries
Main partition table begins at sector 2 and ends at sector 33
First usable sector is 34, last usable sector is 67108830
Partitions will be aligned on 2048-sector boundaries
Total free space is 14659517 sectors (7.0 GiB)
Number Start (sector) End (sector) Size Code Name
1 2048 6143 2.0 MiB 8300 Linux filesystem
2 6144 2103295 1024.0 MiB 8300 Linux filesystem
3 2103296 52451327 24.0 GiB 8E00 Linux LVM
Command (? for help): n
Partition number (4-128, default 4): 34
First sector (34-67108830, default = 52451328) or {+-}size{KMGTP}: 2047
Last sector (2047-2047, default = 2047) or {+-}size{KMGTP}: ^C
[root@localhost ~]# gdisk /dev/sda
GPT fdisk (gdisk) version 1.0.3
Partition table scan:
MBR: MBR only
BSD: not present
APM: not present
GPT: not present
***************************************************************
Found invalid GPT and valid MBR; converting MBR to GPT format
in memory. THIS OPERATION IS POTENTIALLY DESTRUCTIVE! Exit by
typing 'q' if you don't want to convert your MBR partitions
to GPT format!
***************************************************************
Command (? for help): p
Disk /dev/sda: 67108864 sectors, 32.0 GiB
Model: Virtual disk
Sector size (logical/physical): 512/512 bytes
Disk identifier (GUID): C2C9ED82-14B1-4AAE-B1C2-0E60D4DDB0DD
Partition table holds up to 128 entries
Main partition table begins at sector 2 and ends at sector 33
First usable sector is 34, last usable sector is 67108830
Partitions will be aligned on 2048-sector boundaries
Total free space is 14659517 sectors (7.0 GiB)
Number Start (sector) End (sector) Size Code Name
1 2048 6143 2.0 MiB 8300 Linux filesystem
2 6144 2103295 1024.0 MiB 8300 Linux filesystem
3 2103296 52451327 24.0 GiB 8E00 Linux LVM
Command (? for help): n
Partition number (4-128, default 4):
First sector (34-67108830, default = 52451328) or {+-}size{KMGTP}: 34
Last sector (34-2047, default = 2047) or {+-}size{KMGTP}: 2047
Current type is 'Linux filesystem'
Hex code or GUID (L to show codes, Enter = 8300): ef02
Changed type of partition to 'BIOS boot partition'
Command (? for help): w
Final checks complete. About to write GPT data. THIS WILL OVERWRITE EXISTING
PARTITIONS!!
Do you want to proceed? (Y/N): y
OK; writing new GUID partition table (GPT) to /dev/sda.
Warning: The kernel is still using the old partition table.
The new table will be used at the next reboot or after you
run partprobe(8) or kpartx(8)
The operation has completed successfully.
[root@localhost ~]# partprobe
[root@localhost ~]# grub2-install /dev/sda
Installing for i386-pc platform.
Installation finished. No error reported.
[root@localhost ~]# gdisk /dev/sda
GPT fdisk (gdisk) version 1.0.3
Partition table scan:
MBR: protective
BSD: not present
APM: not present
GPT: present
Found valid GPT with protective MBR; using GPT.
Command (? for help): ^C
[root@localhost ~]# reboot now
After the reboot, I decided to clean this up a little by using the unused space /dev/sda1 as GPT and deleting the new partition /dev/sda4. Here’s what I did after the reboot.
gdisk /dev/sda # print p # delete /dev/sda1. Make note of the start and end sector d 1 ## Create a new bootable partition. As the first sector, enter 2048 and the last sector is 6143. Partition code is ef02. # create /dev/sda1 using same start and end sector n 1 2048 6143 ef02 # Delete /dev/sda4 d 4clear # save changes w # do you want to proceed y partprobe grub2-install /dev/sda gdisk /dev/sda # see if takes reboot
It works.
[root@localhost ~]# gdisk /dev/sda GPT fdisk (gdisk) version 1.0.3 Partition table scan: MBR: protective BSD: not present APM: not present GPT: present Found valid GPT with protective MBR; using GPT. Command (? for help): p Disk /dev/sda: 67108864 sectors, 32.0 GiB Model: Virtual disk Sector size (logical/physical): 512/512 bytes Disk identifier (GUID): C2C9ED82-14B1-4AAE-B1C2-0E60D4DDB0DD Partition table holds up to 128 entries Main partition table begins at sector 2 and ends at sector 33 First usable sector is 34, last usable sector is 67108830 Partitions will be aligned on 2048-sector boundaries Total free space is 14659517 sectors (7.0 GiB) Number Start (sector) End (sector) Size Code Name 1 2048 6143 2.0 MiB EF02 BIOS boot partition 2 6144 2103295 1024.0 MiB 8300 Linux filesystem 3 2103296 52451327 24.0 GiB 8E00 Linux LVM Command (? for help):
Source(s)
- https://techjogging.com/convert-mbr-partition-into-gpt-in-centosrhel-7.html