背景
在使用fdisk建立分区时,我们最大只能建立2TB大小的分区。如需建立超过2T的分区需要采用GPT磁盘模式。下文补充一下GPT和MBR的基础知识和分超过2T分区的方法。
基本概念
MBR
1、MBR,该磁盘模式是我们常用的模式,英文全称为Master Boot Record,缩写:MBR,中文名称为主引导记录,又称为主引导扇区。
2、采用MBR型分区结构的硬盘(其磁盘卷标类型为MS-DOS),最多只能识别4个主要分区。所以对于一个采用此种分区结构的硬盘来说,想要得到4个以上的主要分区是不可能的。这里就需要引出扩展分区了。扩展分区也是主分区(Primary partition)的一种,但它与主分区的不同在于理论上可以划分为无数个逻辑分区,每一个逻辑分区都有一个和MBR结构类似的扩展引导记录(EBR)。在MBR分区表中最多4个主分区或者3个主分区+1个扩展分区,也就是说扩展分区只能有一个,然后可以再细分为多个逻辑分区。
3、在Linux系统中,硬盘分区命名为sda1-sda4或者hda1-hda4(其中a表示硬盘编号可能是a、b、c等等)。在MBR硬盘中,分区号1-4是主分区(或者扩展分区),逻辑分区号只能从5开始。 在MBR分区表中,一个分区最大的容量为2T,且每个分区的起始柱面必须在这个disk的前2T内。你有一个3T的硬盘,根据要求你至少要把它划分为2个分区,且最后一个分区的起始扇区要位于硬盘的前2T空间内。如果硬盘太大则必须改用GPT。
GPT
1、GPT,英文全称为GUID Partition Table,缩写:GPT,中文名称为全局唯一标识分区表。它是EFI(可扩展固件接口标准)的一部分,用来替代BIOS中的主引导记录分区表。
2、在MBR硬盘中,分区信息直接存储于主引导记录(MBR)中(主引导记录中还存储着系统的引导程序)。但在GPT硬盘中,分区表的位置信息储存在GPT头中。但出于兼容性考虑,硬盘的第一个扇区仍然用作MBR,之后才是GPT头。
MBR与GPT对比
类别 | 主引导方式 | 主分区数量 | 最大容量 | 支持多少位系统 | 分区方法 |
---|---|---|---|---|---|
MBR | BIOS+MBR | 4 | 2T | 32和64 | fdisk |
GPT | UEFI+GPT | 128 | 18EB(1EB=1024PB=1048576TB) | 64 | parted |
GPT的分区方法与实操案例
GPT分区主要采用parted命令实现 案例:20GB的硬盘分成2个分区,一个10GB,另一个5.5GB,并格式化成ext4挂载。
1、查看磁盘号
fdisk -l
案例的磁盘号为/dev/sdb
2、采用parted分区
[root@Demo ~]# parted /dev/sdb //输入parted命令+磁盘号
GNU Parted 2.1
Using /dev/sdb
Welcome to GNU Parted! Type 'help' to view a list of commands. //提示help会列举命令
(parted) help
align-check TYPE N check partition N for TYPE(min|opt) alignment check NUMBER do a simple check on the file system cp [FROM-DEVICE] FROM-NUMBER TO-NUMBER copy file system to another partition help [COMMAND] print general help, or help on COMMAND mklabel,mktable LABEL-TYPE create a new disklabel (partition table) mkfs NUMBER FS-TYPE make a FS-TYPE file system on partition NUMBER mkpart PART-TYPE [FS-TYPE] START END make a partition mkpartfs PART-TYPE FS-TYPE START END make a partition with a file system move NUMBER START END move partition NUMBER name NUMBER NAME name partition NUMBER as NAME print [devices|free|list,all|NUMBER] display the partition table, available devices, free space, all found partitions, or a particular partition quit exit program rescue START END rescue a lost partition near START and END resize NUMBER START END resize partition NUMBER and its file system rm NUMBER delete partition NUMBER select DEVICE choose the device to edit set NUMBER FLAG STATE change the FLAG on partition NUMBER toggle [NUMBER [FLAG]] toggle the state of FLAG on partition NUMBER unit UNIT set the default unit to UNIT version display the version number and copyright information of GNU Parted
(parted) mklabel gpt //将MBR磁盘格式化为GPT
(parted) mkpart /dev/sdb1 //分区1
File system type? [ext2]? ext4 //文件系统类型
Start? 0 //柱头开始
End? 10GB //分区结束位置
Warning: The resulting partition is not properly aligned for best performance.
Ignore/Cancel? Ignore
(parted) print //打印分区
Model: VMware, VMware Virtual S (scsi)
Disk /dev/sdb: 21.5GB
Sector size (logical/physical): 512B/512B
Partition Table: gpt
Number Start End Size File system Name Flags
1 17.4kB 10.0GB 10000MB /dev/sdb1
(parted) mkpart /dev/sdb2 //分区2
File system type? [ext2]? ext4 //分区文件类型
Start? 10GB //分区开始位置
End? 15.5GB //分区结束位置
(parted) print
Model: VMware, VMware Virtual S (scsi)
Disk /dev/sdb: 21.5GB
Sector size (logical/physical): 512B/512B
Partition Table: gpt
Number Start End Size File system Name Flags
1 17.4kB 10.0GB 10000MB /dev/sdb1 2 10.0GB 15.5GB 5500MB /dev/sdb2
3、格式化
[root@Demo ~]# mkfs.ext4 /dev/sdb1
[root@Demo ~]# mkfs.ext4 /dev/sdb2
4、挂载
[root@Demo ~]# mount /dev/sdb1 /home/test1
[root@Demo ~]# mount /dev/sdb2 /home/test2
5、添加开机自挂载
vim /ets/fstab
添加
/dev/sdb1 /home/test1 ext4 defaults 0 0
/dev/sdb2 /home/test2 ext4 defaults 0 0