Linux parted 命令詳解


分區命令parted詳解

一、概述

通常我們用的比較多的分區工具是fdisk命令,但由於fdisk只支持MBR分區,MBR分區表最大支撐2T的磁盤,所以無法划分大於2T的分區。而parted工具可以划分單個分區大於2T的GPT格式的分區,也可以划分普通的MBR分區。

parted命令是由GNU組織開發的一款功能強大的磁盤分區和分區大小調整工具。GPT格式的磁盤相當於原來MBR磁盤中原來保留4個partition table的4 16個字節,只留第一個16個字節,類似於擴展分區,真正的partition table在512字節之后,GPT分區方式沒有四個主分區的限制,** 最多可達到128個主分區 **。下面我們看下parted命令的用法。

1.語法結構

parted [選項]… [設備 [命令 [參數]…]…]

二、選項

選項	描述
-h	–help 顯示此求助信息
-l	–list 列出所有設別的分區信息
-i	–interactive 在必要時,提示用戶
-s	–script 從不提示用戶
-v	–version 顯示版本

三、操作命令

parted交互命令	說 明
check NUMBER	做一次簡單的文件系統檢測
cp [FROM-DEVICE] FROM-NUMBER TO-NUMBER	復制文件系統到另一個分區
help [COMMAND]	顯示所有的命令幫助
mklabel,mktable LABEL-TYPE	創建新的磁盤卷標(分區表)
mkfs NUMBER FS-TYPE	在分區上建立文件系統
mkpart PART-TYPE [FS-TYPE] START END	創建一個分區
mkpartfs PART-TYPE FS-TYPE START END	創建分區,並建立文件系統
move NUMBER START END	移動分區
name NUMBER NAME	給分區命名
print [devices|free|list,all|NUMBER]	顯示分區表、活動設備、空閑空間、所有分區
quit	退出
rescue START END	修復丟失的分區
resize NUMBER START END	修改分區大小
rm NUMBER	刪除分區
select DEVICE	選擇需要編輯的設備
set NUMBER FLAG STATE	改變分區標記
toggle [NUMBER [FLAG]]	切換分區表的狀態
unit UNIT	設置默認的單位
Version	顯示版本

四、交互操作實例:

1、選擇分區硬盤

首先類似fdisk一樣,先選擇要分區的硬盤,此處為/dev/hdb: ((parted)表示在parted中輸入的命令,其他為自動打印的信息)

[root@my-linux ~]# parted /dev/hdb
GNU Parted 1.8.1
Using /dev/hdb
Welcome to GNU Parted! Type 'help' to view a list of commands.

2、創建分區

選擇了/dev/hdb作為我們操作的磁盤,接下來需要創建一個分區表(在parted中可以使用help命令打印幫助信息):

(parted) mklabel
New disk label type? gpt    (我們要正確分區大於2TB的磁盤,應該使用gpt方式的分區表,輸入gpt后回車)

3、完成分區操作

創建好分區表以后,接下來就可以進行分區操作了,執行mkpart命令,分別輸入分區名稱,文件系統和分區 的起止位置

(parted) mkpart
Partition name? []? dp1
File system type? [ext2]? xfs
Start? 0           (可以用百分比表示,比如Start? 0% , End? 50%)
End? 500GB

4、驗證分區信息

分好區后可以使用print命令打印分區信息,下面是一個print的樣例

(parted) print
Model: VBOX HARDDISK (ide)
Disk /dev/hdb: 3841GB
Sector size (logical/physical): 512B/512B
Partition Table: gpt
Number Start End Size File system Name Flags
1 17.4kB 500GB 500GB dp1

5、刪除分區示例

如果分區錯了,可以使用rm命令刪除分區,比如我們要刪除上面的分區,然后打印刪除后的結果

(parted)rm 1               #rm后面使用分區的號碼,就是用print打印出來的Number
(parted) print
Model: VBOX HARDDISK (ide)
Disk /dev/hdb: 3841GB
Sector size (logical/physical): 512B/512B
Partition Table: gpt
Number Start End Size File system Name Flags

7、格式化操作

在交互狀態下,完成以后我們可以使用quit命令退出parted並使用系統的mkfs命令對分區進行格式化。

[root@my-linux ~]# fdisk -l
WARNING: GPT (GUID Partition Table) detected on '/dev/hdb'! The util fdisk doesn't support GPT. Use GNU Parted.
Disk /dev/hdb: 3841.0 GB, 3841022206976 bytes
255 heads, 63 sectors/track, 267349 cylinders
Units = cylinders of 16065 * 512 = 8225280 bytes
Device Boot Start End Blocks Id System
/dev/hdb1 1 267350 2147482623+ ee EFI GPT
[root@my-linux ~]# mkfs.xfs /dev/hdb1
[root@my-linux ~]# mkfs.xfs /dev/hdb2
[root@my-linux ~]# mkdir /data1 /data2
[root@my-linux ~]# mount /dev/hdb1 /data1
[root@my-linux ~]# mount /dev/hdb2 /data2

8、交互創建分區的完整示示例

按照上面的方法把整個硬盤都分好區,下面是一個分完后的樣例

(parted) mkpart
Partition name? []? dp1
File system type? [ext2]? xfs
Start? 0
End? 500GB
(parted) mkpart
Partition name? []? dp2
File system type? [ext2]? xfs
Start? 500GB
End? 3841GB
(parted) print
Model: VBOX HARDDISK (ide)
Disk /dev/hdb: 3841GB
Sector size (logical/physical): 512B/512B
Partition Table: gpt
Number Start End Size File system Name Flags
1 17.4kB 500GB 500GB dp1
2 500GB 3841GB 1699GB dp2

五、非交互方式

1、創建分區表

parted /dev/sdl mklabel gpt

2、將硬盤所有容量分給主分區

parted /dev/sdl mkpart primary 0% 100%

3、查詢磁盤的已有分區

parted /dev/sdl print

4、查詢硬盤分區

fdisk -l
or
lsblk

5、格式化分區

mkfs -t xfs /dev/sdl1

6、查詢/dev/sdl1的blkid

blkid /dev/sdl1

7、修改/etc/fstab

vi /etc/fstab

編輯/etc/fstab使開機可知道掛載文件系統。

8、掛載文件系統,查詢

mount -a
df -h

六、非交互方式示例

創建gpt分區表

[root@my-linux ~]# parted /dev/sdb mklabel gpt
Information: You may need to update /etc/fstab.

划分3個分區

[root@my-linux ~]# parted /dev/sdb mkpart primary 0% 27%
Information: You may need to update /etc/fstab.

[root@my-linux ~]# parted /dev/sdb mkpart primary 27% 54%
Information: You may need to update /etc/fstab.

[root@my-linux ~]# parted /dev/sdb mkpart primary 54% 81%
Information: You may need to update /etc/fstab.

打印分區

[root@my-linux ~]# parted /dev/sdb print
Model: HP LOGICAL VOLUME (scsi)
Disk /dev/sdb: 3841GB
Sector size (logical/physical): 512B/4096B
Partition Table: gpt
Disk Flags: 

Number  Start   End     Size    File system  Name     Flags
 1      2097kB  1037GB  1037GB               primary
 2      1037GB  2074GB  1037GB               primary
 3      2074GB  3111GB  1037GB               primary

刪除分區
刪除分區的命令是parted /dev/sdb rm 1其中最后的數字 1 表示分區編號。

[root@my-linux ~]# parted /dev/sdb rm 1
Information: You may need to update /etc/fstab.

[root@my-linux ~]# parted /dev/sdb rm 2
Information: You may need to update /etc/fstab.

[root@my-linux ~]# parted /dev/sdb rm 3
Information: You may need to update /etc/fstab.

[root@my-linux ~]# parted /dev/sdb print        
Model: HP LOGICAL VOLUME (scsi)
Disk /dev/sdb: 3841GB
Sector size (logical/physical): 512B/4096B
Partition Table: gpt
Disk Flags: 

Number  Start  End  Size  File system  Name  Flags

[root@my-linux ~]# 

七、MBR & GPT

MBR:MBR分區表(即主引導記錄)大家都很熟悉。所支持的最大卷:2T,而且對分區有限制:最多4個主分區或3個主分區加一個擴展分區

GPT: GPT(即GUID分區表)。是源自EFI標准的一種較新的磁盤分區表結構的標准,是未來磁盤分區的主要形式。與MBR分區方式相比,具有如下優點。突破 MBR 4個主分區限制,每個磁盤最多支持128個分區。支持大於2T的分區,最大卷可達18EB。

parted 分區對齊報錯

參閱:https://www.cnblogs.com/my-show-time/p/15264458.html


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM