先來溫習一下GPT的概念:
GUID磁碟分割表(GUID Partition Table,縮寫:GPT)其含義為“全局唯一標識磁盤分區表”,是一個實體硬盤的分區表的結構布局的標准。它是可擴展固件接口(EFI)標准(被Intel用於替代個人計算機的BIOS)的一部分,被用於替代BIOS系統中的一32bits來存儲邏輯塊地址和大小信息的主開機紀錄(MBR)分區表。
GUID磁碟分割表(GUIDPartition Table,縮寫:GPT)是一個實體硬盤的分區表的結構布局的標准。它是可擴展固件接口(EFI)標准(被Intel用於替代個人計算機的BIOS)的一部分,被用於替代BIOS系統中的一32bits來存儲邏輯塊地址和大小信息的主開機紀錄(MBR)分區表。對於那些扇區為512字節的磁盤,MBR分區表不支持容量大於2.2TB(2.2 × 10^12字節)的分區,然而,一些硬盤制造商(諸如希捷和西部數據)注意到了這個局限性,並且將他們的容量較大的磁盤升級到了4KB的扇區,這意味著MBR的有效容量上限提升到了16 TB。 這個看似“正確的”解決方案,在臨時地降低了人們對改進磁盤分配表的需求的同時,也給市場帶來了關於在有較大的塊(block)的設備上從BIOS啟動時,如何最佳的劃分磁盤分區的困惑。GPT分配64bits給邏輯塊地址,因而使得最大分區大小在2^64-1個扇區成為了可能。對於每個扇區大小為512字節的磁盤,那意味著可以有9.4ZB(9.4 x 10^21字節)或18 E 個512字節(9,444,732,965,739,290,426,880字節 或 18,446,744,073,709,551,615(2^64-1)個扇區 x 512(=2^9)字節每扇區)。
parted命令可以劃分單個分區大於2T的GPT格式的分區,也可以劃分普通的MBR分區,fdisk命令對於大於2T的分區無法劃分,所以用fdisk無法看到parted劃分的GPT格式的分區。
Parted 命令分為兩種模式:命令行模式和交互模式。
1、命令行模式: parted [option] device [command] ,該模式可以直接在命令行下對磁盤進行分區操作,比較適合編程應用。
2、交互模式:parted [option] device 類似於使用fdisk /dev/xxx
MBR:MBR分區表(即主引導記錄)大家都很熟悉。所支持的最大卷:2T,而且對分區有限制:最多4個主分區或3個主分區加一個擴展分區
GPT: GPT(即GUID分區表)。是源自EFI標准的一種較新的磁盤分區表結構的標准,是未來磁盤分區的主要形式。與MBR分區方式相比,具有如下優點。突破MBR 4個主分區限制,每個磁盤最多支持128個分區。支持大於2T的分區,最大卷可達18EB。
parted是一個可以分區並進行分區調整的工具,他可以創建,破壞,移動,復制,調整ext2 linux-swap fat fat32 reiserfs類型的分區,可以創建,調整,移動Macintosh的HFS分區,檢測jfs,ntfs,ufs,xfs分區。
使用方法:parted [options] [device [command [options...]...]]
options
-h 顯示幫助信息
-l 顯示所有塊設備上的分區
device
對哪個塊設備進行操作,如果沒有指定則使用第一個塊設備
command [options...]
復制代碼代碼如下:
check partition
對分區做一個簡單的檢測
復制代碼代碼如下:
cp [source-device] source dest
復制source-device設備上的source分區到當前設備的dest分區
復制代碼代碼如下:
mklabel label-type
創建新分區表類型,label-type可以是:"bsd", "dvh", "gpt", "loop","mac", "msdos", "pc98", or "sun" 一般的pc機都是msdos格式,如果分區大於2T則需要選用gpt格式的分區表。
復制代碼代碼如下:
mkfs partition fs-type
在partition分區上創建一個fs-type文件系統,fs-type可以是:"fat16", "fat32", "ext2", "linux-swap","reiserfs" 注意不支持ext3格式的文件系統,只能先分區然後用專有命令進行格式化。
復制代碼代碼如下:
mkpart part-type [fs-type] start end
創建一個part-type類型的分區,part-type可以是:"primary", "logical", or "extended" 如果指定fs-type則在創建分區的同時進行格式化。start和end指的是分區的起始位置,單位默認是M。
eg:mkpart primary 0 -1 0表示分區的開始 -1表示分區的結尾 意思是劃分整個硬盤空間為主分區
復制代碼代碼如下:
mkpartfs part-type fs-type start end
創建一個fs-type類型的part-type分區,不推薦使用,最好是使用mkpart分區完成後使用mke2fs進行格式化。
復制代碼代碼如下:
name partition name
給分區設置一個名字,這種設置只能用在Mac, PC98, and GPT類型的分區表,設置時名字用引號括起來
復制代碼代碼如下:
select device
在機器上有多個硬盤時,選擇操作那個硬盤
復制代碼代碼如下:
resize partition start end
調整分區大小
復制代碼代碼如下:
rm partition
刪除一個分區
復制代碼代碼如下:
rescue start end
拯救一個位於stat和end之間的分區
復制代碼代碼如下:
unit unit
在前面分區時,默認分區時數值的單位是M,這個參數卡伊改變默認單位,"kB", "MB", "GB", "TB"
復制代碼代碼如下:
move partition start end
移動partition分區
復制代碼代碼如下: print 顯示分區表信息
復制代碼代碼如下:quit 退出parted
實戰:
1 初始信息
注意綠框可以看到fdisk並不支持GPT格式的分區,然後輸入命令p(print的簡寫)可以看到系統目前的所有分區
2 連續劃分三個大小為10G的主分區,不指定分區的文件系統類型,parted是劃分後直接生效,沒有fdisk中類似的w命令。
可以看到新分區3 4 5 都是主分區 大小10G
3 也可以用非交互模式查看分區狀況
4 准備格式化新分區為ext3類型的文件系統
突然發現找不到此分區,很奇怪
5 查看已有的分區名稱
使用blkid查看已有的分區是什麼name
6 格式化後掛載新分區