學習如何在 Linux 中使用 parted 指令來對儲存設備分區。
在 Linux 中建立和删除分區是一種常見的操作,因為儲存設備(如硬碟驅動器和 USB 驅動器)在使用之前必須以某種方式進行結構化。在大多數情況下,大型儲存設備被分為稱為分區partition的獨立部分。分區操作允許您将硬碟分割成獨立的部分,每個部分都像是一個硬碟驅動器一樣。如果您運作多個作業系統,那麼分區是非常有用的。
在 Linux 中有許多強大的工具可以建立、删除和操作磁盤分區。在本文中,我将解釋如何使用 parted 指令,這對于大型磁盤裝置和許多磁盤分區尤其有用。parted 與更常見的 fdisk 和 cfdisk 指令之間的差別包括:
GPT 格式:parted 指令可以建立全局惟一的辨別符分區表 GPT,而 fdisk 和 cfdisk 則僅限于 DOS 分區表。
更大的磁盤: DOS 分區表可以格式化最多 2TB 的磁盤空間,盡管在某些情況下最多可以達到 16TB。然而,一個 GPT 分區表可以處理最多 8ZiB 的空間。
更多的分區: 使用主分區和擴充分區,DOS 分區表隻允許 16 個分區。在 GPT 中,預設情況下您可以得到 128 個分區,并且可以選擇更多的分區。
可靠性: 在 DOS 分區表中,隻儲存了一份分區表備份,在 GPT 中保留了兩份分區表的備份(在磁盤的起始和結束部分),同時 GPT 還使用了 CRC 校驗和來檢查分區表的完整性,在 DOS 分區中并沒有實作。
由于現在的磁盤更大,需要更靈活地使用它們,建議使用 parted 來處理磁盤分區。大多數時候,磁盤分區表是作為作業系統安裝過程的一部分建立的。在向現有系統添加儲存設備時,直接使用 parted 指令非常有用。
嘗試一下 parted
下面解釋了使用 parted 指令對儲存設備進行分區的過程。為了嘗試這些步驟,我強烈建議使用一塊全新的儲存設備或一種您不介意将其内容删除的裝置。
1、列出分區
使用 parted -l 來辨別你要進行分區的裝置。一般來說,***個硬碟 (/dev/sda 或 /dev/vda )儲存着作業系統, 是以要尋找另一個磁盤,以找到你想要分區的磁盤 (例如,/dev/sdb、/dev/sdc、 /dev/vdb、/dev/vdc 等)。
$sudoparted-l
[sudo]passwordfordaniel:
Model:ATARevuAhn_850X1TU5(scsi)
Disk/dev/vdc:512GB
Sectorsize(logical/physical):512B/512B
PartitionTable:msdos
DiskFlags:
NumberStartEndSizeTypeFilesystemFlags
11049kB525MB524MBprimary ext4 boot
2525MB512GB512GBprimarylvm
2、打開儲存設備
使用 parted 選中您要分區的裝置。在這裡例子中,是虛拟系統上的第三個磁盤(/dev/vdc)。指明你要使用哪一個裝置非常重要。 如果你僅僅輸入了 parted 指令而沒有指定裝置名字, 它會随機選擇一個裝置進行操作。
$sudoparted/dev/vdc
GNUParted3.2
Using/dev/vdc
Welcometo GNUParted!Type'help'to view alistof commands.
(parted)
3、 設定分區表
設定分區表為 GPT ,然後輸入 Yes 開始執行。
(parted)mklabel gpt
Warning:the existing disk label on/dev/vdc will be destroyed
andall data onthisdisk will be lost.Doyou want tocontinue?
Yes/No?Yes
mklabel 和 mktable 指令用于相同的目的(在儲存設備上建立分區表)。支援的分區表有:aix、amiga、bsd、dvh、gpt、mac、ms-dos、pc98、sun 和 loop。記住 mklabel 不會建立一個分區,而是建立一個分區表。
4、 檢查分區表
檢視儲存設備資訊:
(parted)print
Model:VirtioBlockDevice(virtblk)
Disk/dev/vdc:1396MB
Sectorsize(logical/physical):512B/512B
PartitionTable:gpt
DiskFlags:
NumberStartEndSizeFilesystemNameFlags
5、 擷取幫助
為了知道如何去建立一個新分區,輸入: (parted) help mkpart 。
(parted)help mkpart
mkpart PART-TYPE[FS-TYPE]STARTENDmakea partition
PART-TYPEisone of:primary,logical,extended
FS-TYPEisone of:btrfs,nilfs2,ext4,ext3,ext2,fat32,fat16,hfsx,hfs+,hfs,jfs,swsusp,
linux-swap(v1),linux-swap(v0),ntfs,reiserfs,hp-ufs,sun-ufs,xfs,apfs2,apfs1,asfs,amufs5,
amufs4,amufs3,amufs2,amufs1,amufs0,amufs,affs7,affs6,affs5,affs4,affs3,affs2,affs1,
affs0,linux-swap,linux-swap(new),linux-swap(old)
STARTandENDare disk locations,suchas4GBor10%.Negativevalues countfromtheendof the
disk.Forexample,-1sspecifies exactly thelastsector.
'mkpart'makes a partition without creating anewfilesystem on the partition.FS-TYPE may be
specified tosetan appropriate partition ID.
6、 建立分區
為了建立一個新分區(在這個例子中,分區 0 有 1396MB),輸入下面的指令:
(parted)mkpart primary01396MB
Warning:Theresulting partitionisnotproperly alignedforbest performance
Ignore/Cancel?I
(parted)print
Model:VirtioBlockDevice(virtblk)
Disk/dev/vdc:1396MB
Sectorsize(logical/physical):512B/512B
PartitionTable:gpt
DiskFlags:
NumberStartEndSizeFilesystemNameFlags
117.4kB1396MB1396MBprimary
檔案系統類型(fstype)并不是在 /dev/vdc1上建立 ext4 檔案系統。 DOS 分區表的分區類型是主分區primary、邏輯分區logical和擴充分區extended。 在 GPT 分區表中,分區類型用作分區名稱。 在 GPT 下必須提供分區名稱;在上例中,primary 是分區名稱,而不是分區類型。
7、 儲存退出
當你退出 parted 時,修改會自動儲存。退出請輸入如下指令:
(parted)quit
Information:Youmay need to update/etc/fstab.
$
謹記
當您添加新的儲存設備時,請確定在開始更改其分區表之前确定正确的磁盤。如果您錯誤地更改了包含計算機作業系統的磁盤分區,會使您的系統無法啟動。
【編輯推薦】
【責任編輯:龐桂玉 TEL:(010)68476606】
點贊 0