涉及工具:parted、gdisk
应用背景:
mbr分区格式最大只支持2TB容量的硬盘,并且由于整个mbr分区只有512KB大小,最多只能支持4个主分区的局限性。
转换步骤
确定需要转换的设备,以/dev/vda为例。
-
由于GPT分区格式需要分配一个bios boot partition分区用来安装grub,需要确定目前的mbr分区与第一个分区之间有空余空间。以下例子显示第一个分区从2048扇区开始,满足条件。
fdisk -l /dev/vda .... Device Boot Start End Blocks Id System /dev/sda1 * 2048 117186559 58592256 83 Linux
-
确定grub版本为1.97或更高。
grub-install --version
-
备份现有的mbr分区
sudo dd if=/dev/vda of=/root/vda-mbr.dd bs=512 count=1
-
执行gdisk进行分区格式转换
gdisk /dev/sda
-
利用mbr和第一个分区之间的空间分配一个bios boot分区。
n 新建一个分区 选择一个未使用的分区ID 分区范围选择34-2047扇区 设置分区类型为ef02 最后按w保存分区并转换
-
重新安装grub的bootloader,原来的bootloader在mbr内,转换之后,bootloader删除了,需要重新将bootloader安装到新建的bios boot分区。
grub-install /dev/sda
现在系统会看到3个分区,为了避免与其他系统的差异性,安装好bootloader后将bios boot分区删除。