分區命令
傳統的MBR(Master Boot Record)分區方式,有一個局限:無法支持超過2TB的硬碟的分區(或單個分區超過2TB),這個情況在當前這個數據量激增的時候,實在令人難以接受(尤其是企業級的套用,動輒數TB的數據量)。
這個問題引入了一個GPT(Globally Unique Identifier Partition Table Format)分區的概念,相關信息歷史可以參考詞條GPT。
GPT的分區表很好了解決了傳統MBR無法逾越2TB的限制。但是在Linux系統中,傳統的fdisk命令無法支持gpt分區方式。(在紅帽企業版Linux 4 Update 4之後的版本提供了對大於2 terabytes(TB)的磁碟設備的支持)
parted的操作都是實時的,也就是說你執行了一個分區的命令,他就實實在在地分區了,而不是像fdisk那樣,需要執行w命令寫入所做的修改, 所以進行parted的測試千萬注意不能在生產環境中!
下面是parted命令的用法:
$ parted /dev/sda help
check NUMBERdo a simple check on the file system
cp [FROM-DEVICE] FROM-NUMBER TO-NUMBERcopy file system to another partition
help [COMMAND]prints general help, or help on COMMAND
mklabel,mktable LABEL-TYPEcreate a new disklabel (partition table)
mkfs NUMBER FS-TYPEmake a FS-TYPE file system on partititon NUMBER
mkpart PART-TYPE [FS-TYPE] START ENDmake a partition
mkpartfs PART-TYPE FS-TYPE START ENDmake a partition with a file system
move NUMBER START ENDmove partition NUMBER
name NUMBER NAMEname partition NUMBER as NAME
print [free|NUMBER|all]display the partition table, a partition, or all devices
quitexit program
rescue START ENDrescue a lost partition near START and END
resize NUMBER START ENDresize partition NUMBER and its file system
rm NUMBERdelete partition NUMBER
select DEVICEchoose the device to edit
set NUMBER FLAG STATEchange the FLAG on partition NUMBER
toggle [NUMBER [FLAG]]toggle the state of FLAG on partition NUMBER
unit UNITset the default unit to UNIT
versiondisplays the current version of GNU Parted and copyright information
用法示例
列印一個磁碟的當前的分區結構:
$ parted /dev/sdb print
將一個MBR的磁碟格式化為GPT磁碟:
parted> mklabel gpt
將一個GPT磁碟格式化為MBR磁碟:
parted> mklabel msdos
劃分一個起始位置是0,大小為100M的主分區:
parted> mkpart primary 0 100M 或者 $ parted /dev/sdb mkpart primary 0 100M
將一個磁碟的所有空間都劃分成一個分區:
parted> mkpart primary 0 -1 或者 $ parted /dev/sdb mkpart primary 0 -1
刪除一個分區:
parted> rm 1 或者 $ parted /dev/sdb rm 1
常用的分區操作基本就上面的這些,關於調整分區和移動分區的操作可以參照下文給出的資料
需要格外注意的是:parted命令和fdisk命令不同,fdisk命令是等到你最後執行那個w的時候才生效最終寫入到分區表中的,parted命令是實時的寫入到分區表,所以在操作有數據的磁碟的時候需要格外小心,畢竟數據無價的!