背景
在使用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