10.16 Linux parted命令用法詳解:創建分區
雖然我們可以使用 fdisk命令對硬盤進行快速的分區,但對高于 2TB 的硬盤分區,此命令卻無能為力,此時就需要使用 parted 命令。
parted 命令是可以在命令行直接分區和格式化的,不過 parted 交互模式才是更加常用的命令方式,進入交互模式的方法如下:
[root@localhost ~]# parted 硬盤設備文件名 \#進入交互模式
例如:
[root@localhost ~]# parted /dev/sdb \#打算繼續劃分/dev/sdb硬盤 GNU Parted 2.1 使用/dev/sdb Welcome to GNU Parted! Type 'help' to view a list of commands. (parted) <--parted 的等待輸入交互命令的位置,輸入 help,可以看到在交互模式下支持的所有命令
parted 交互命令比較多,我們介紹常見的命令,如表 1 所示。
【例 1】查看分區表
(parted) print \#進入print指令 Model: VMware, VMware Virtual S (scsi) \#硬盤參數,是虛擬機 Disk/dev/sdb: 21.5GB \#硬盤大小 Sector size (logical/physical): 512B/512B \#扇區大小 Partition Table: msdos \#分區表類型,是MBR分區表 Number Start End Size Type File system 標志 1 32.3kB 5379MB 5379MB primary 2 5379MB 21.5GB 16.1GB extended 5 5379MB 7534MB 2155MB logical ext4 6 7534MB 9689MB 2155MB logical ext4 \#看到了我們使用fdisk命令創建的分區,其中1分區沒被格式化;2分區是擴展分區,不能被格式化
使用 print 命令可以査看分區表信息,包括硬盤參數、硬盤大小、扇區大小、分區表類型和分區信息。分區信息共有 7 列,分別如下:
Number:分區號,比如,1號就代表 /dec/sdb1;
Start:分區起始位置。這里不再像 fdisk 那樣用柱面表示,使用字節表示更加直觀;
End:分區結束位置;
Size:分區大小;
Type:分區類型,有 primary、extended、logical 等類型;
Filesystem:文件系統類型;
標志:分區的標記。
【例 2】修改成 GPT 分區表
(partcd) mklabel gpt \#修改分區表命令 警告:正在使用/dev/sdb上的分區。由于/dev/sdb分區已經掛載,所以有警告。注意,如果強制修改,那么原有分區及數據會消失 忽略/Ignore/放棄/Cancel? ignore \#輸入ignore忽略報錯 警告:The existing disk label on /dev/sdb will be destroyed and all data on this disk will be lost. Do you want to continue? 是/Yes/否/No? yes \#輸入 yes 警告:WARNING: the kernel failed to re-read the partition table on /dev/sdb (設 備或資源忙).As a result, it may not reflect all of your changes until after reboot. \#下次重啟后才能生效 (parted) print \#查看一下分區表 Model: VMware, VMware Virtual S (scsi) Disk /dev/sdb: 21.5GB Sector size (logical/physical): 512B/512B Partition Table: gpt \#分區表已經變成 GPT Number Start End Size File system Name 標志 \#所有的分區都消失了
修改了分區表,如果這塊硬盤上已經有分區了,那么原有分區和分區中的數據都會消失,而且需要重啟系統才能生效。
另外,我們轉換分區表的目的是支持大于 2TB 的分區,如果分區并沒有大于 2TB,那么這一步是可以不執行的。
注意,一定要把 /etc/fstab 文件和原有分區中的內容刪除才能重啟,否則會報錯。
【例 3】建立分區
因為修改過了分區表,所以/dev/sdb硬盤中的所有數據都消失了,我們就可以重新對這塊硬盤分區了。不過,在建立分區時,默認文件系統就只能是 ext2 了。命令如下:
(parted)mkpart \#輸入創建分區命令,后面不要參數,全部靠交互 指定 分區名稱? []?disk1 \#分區名稱,這里命名為disk 1 文件系統系統? [ext2]? \#文件系統類型,直接回車,使用默認文件系統ext2 起始點? 1MB \#分區從1MB開始 結束點?5GB分區到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 Rle system Name 標志 1 1049kB 5000MB 4999MB disk1 \#分區1已經出現
不知道大家有沒有注意到,我們現在用 print 查看的分區和第一次查看 MBR 分區表的分區時有些不一樣了,少了 Type 這個字段,也就是分區類型字段,多了 Name(分區名)字段。分區類型是用于標識主分區、擴展分區和邏輯分區的,不過這種標識只在 MBR 分區表中使用,現在已經變成了 GPT 分區表,所以就不再有 Type 類型了。
【例 4】建立文件系統
分區分完后,還需要進行格式化。我們知道,如果使用 parted 交互命令格式化,則只能格式化成 ext2 文件系統。我們在這里要演示一下 parted 命令的格式化方法,所以就格式化成 ext2 文件系統。命令如下:
(parted) mkfs \#格式化命令(很奇怪,也是mkfs,但是這只是parted的交互命令) WARNING: you are attempting to use parted to operate on (mkfs) a file system. parted's file system manipulation code is not as robust as what you'll find in dedicated, file-system-specific packages like e2fsprogs. We recommend you use parted only to manipulate partition tables, whenever possible. Support for performing most operations on most types of file systems will be removed in an upcoming release. 警告:The existing file system will be destroyed and all data on the partition will be lost. Do you want to continue? 是/Yes/否/No? yes \#警告你格式化丟失,沒關系,已經丟失過了 分區編號? 1 文件系統類型 [ext2]? \#指定文件系統類型,寫別的也沒用,直接回車 (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標志 1 1049kB 5000MB 4999MB ext2 diski \#擁有了文件系統
如果要格式化成 ext4 文件系統,那么請 mkfs 命令幫忙吧(注意:不是 parted 交互命令中的 mkfs,而是系統命令 mkfs)。
【例 5】調整分區大小
parted 命令還有一大優勢,就是可以調整分區的大小(在 Windows 中也可以實現,不過要么需要轉換成動態磁盤,要么需要依賴第三方工具,如硬盤分區魔術師)。起始 linux 中 LVM 和 RAID 是可以支持分區調整的,不過這兩種方法也可以看成動態磁盤方法,使用 parted 命令調整分區更加簡單。
注意,parted 調整已經掛載使用的分區時,是不會影響分區中的數據的,也就是說,數據不會丟失。但是一定要先卸載分區,再調整分區大小,否則數據是會出現問題的。另外,要調整大小的分區必須已經建立了文件系統(格式化),否則會報錯。
命令如下:
(parted) resize 分區編號? 1 \#指定要修改的分區編號 起始點? [1049kB]? 1MB \#分區起始位置 結束點? [5000MB]? 6GB 分區結束位置 (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標志 1 1049kB 6000MB 5999MB ext2 diski \#分區大小改變
【例 6】刪除分區
命令如下: (parted) rm \#刪除分區命令 分區編號? 1 \#指定分區編號 (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 標志 #分區消失
要注意的是,parted 中所有的操作都是立即生效的,沒有保存生效的概念。這一點和 fdisk 交互命令明顯不同,所以做的所有操作大家要加倍小心。
那么,到底是使用 fdisk 命令,還是使用 parted 命令進行分區呢?這完全看個人習慣,我們更加習慣使用 fdisk 命令。
Linux
版權聲明:本文內容由網絡用戶投稿,版權歸原作者所有,本站不擁有其著作權,亦不承擔相應法律責任。如果您發現本站中有涉嫌抄襲或描述失實的內容,請聯系我們jiasou666@gmail.com 處理,核實后本網站將在24小時內刪除侵權內容。