Linux中國

如何在 Linux 中使用 parted 對磁碟分區

在 Linux 中創建和刪除分區是一種常見的操作,因為存儲設備(如硬碟驅動器和 USB 驅動器)在使用之前必須以某種方式進行結構化。在大多數情況下,大型存儲設備被分為稱為 分區 partition 的獨立部分。分區操作允許您將硬碟分割成獨立的部分,每個部分都像是一個硬碟驅動器一樣。如果您運行多個操作系統,那麼分區是非常有用的。

在 Linux 中有許多強大的工具可以創建、刪除和操作磁碟分區。在本文中,我將解釋如何使用 parted 命令,這對於大型磁碟設備和許多磁碟分區尤其有用。parted 與更常見的 fdiskcfdisk 命令之間的區別包括:

  • GPT 格式:parted 命令可以創建全局惟一的標識符分區表 GPT,而 fdiskcfdisk 則僅限於 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 等)。

$ sudo parted -l
[sudo] password for daniel: 
Model: ATA RevuAhn_850X1TU5 (scsi)
Disk /dev/vdc: 512GB
Sector size (logical/physical): 512B/512B
Partition Table: msdos
Disk Flags: 

Number  Start   End    Size   Type     File system  Flags
 1      1049kB  525MB  524MB  primary  ext4         boot
 2      525MB   512GB  512GB  primary               lvm

2、打開存儲設備

使用 parted 選中您要分區的設備。在這裡例子中,是虛擬系統上的第三個磁碟(/dev/vdc)。指明你要使用哪一個設備非常重要。 如果你僅僅輸入了 parted 命令而沒有指定設備名字, 它會隨機選擇一個設備進行操作。

$ sudo parted /dev/vdc
GNU Parted 3.2
Using /dev/vdc
Welcome to GNU Parted! Type 'help' to view a list of commands.
(parted)

3、 設定分區表

設置分區表為 GPT ,然後輸入 Yes 開始執行。

(parted) mklabel gpt 
Warning: the existing disk label on /dev/vdc will be destroyed 
and all data on this disk will be lost. Do you want to continue? 
Yes/No? Yes

mklabelmktable 命令用於相同的目的(在存儲設備上創建分區表)。支持的分區表有:aix、amiga、bsd、dvh、gpt、mac、ms-dos、pc98、sun 和 loop。記住 mklabel 不會創建一個分區,而是創建一個分區表。

4、 檢查分區表

查看存儲設備信息:

(parted) print 
Model: Virtio Block Device (virtblk) 
Disk /dev/vdc: 1396MB 
Sector size (logical/physical): 512B/512B 
Partition Table: gpt 
Disk Flags: 
Number Start End Size File system Name Flags

5、 獲取幫助

為了知道如何去創建一個新分區,輸入: (parted) help mkpart

(parted) help mkpart 
  mkpart PART-TYPE [FS-TYPE] START END     make a partition

        PART-TYPE is one of: primary, logical, extended
        FS-TYPE is one 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)
        START and END are disk locations, such as 4GB or 10%.  Negative values count from the end of the
        disk.  For example, -1s specifies exactly the last sector.

        'mkpart' makes a partition without creating a new file system on the partition.  FS-TYPE may be
        specified to set an appropriate partition ID.

6、 創建分區

為了創建一個新分區(在這個例子中,分區 0 有 1396MB),輸入下面的命令:

(parted) mkpart primary 0 1396MB 

Warning: The resulting partition is not properly aligned for best performance 
Ignore/Cancel? I 

(parted) print 
Model: Virtio Block Device (virtblk) 
Disk /dev/vdc: 1396MB 
Sector size (logical/physical): 512B/512B 
Partition Table: gpt 
Disk Flags: 
Number Start   End     Size    File system Name Flags 
1      17.4kB  1396MB  1396MB  primary

文件系統類型(fstype)並不是在 /dev/vdc1上創建 ext4 文件系統。 DOS 分區表的分區類型是 主分區 primary 邏輯分區 logical 擴展分區 extended 。 在 GPT 分區表中,分區類型用作分區名稱。 在 GPT 下必須提供分區名稱;在上例中,primary 是分區名稱,而不是分區類型。

7、 保存退出

當你退出 parted 時,修改會自動保存。退出請輸入如下命令:

(parted) quit
Information: You may need to update /etc/fstab.
$

謹記

當您添加新的存儲設備時,請確保在開始更改其分區表之前確定正確的磁碟。如果您錯誤地更改了包含計算機操作系統的磁碟分區,會使您的系統無法啟動。

via: https://opensource.com/article/18/6/how-partition-disk-linux

作者:Daniel Oh 選題:lujun9972 譯者:amwps290 校對:wxy

本文由 LCTT 原創編譯,Linux中國 榮譽推出


本文轉載來自 Linux 中國: https://github.com/Linux-CN/archive

對這篇文章感覺如何?

太棒了
0
不錯
0
愛死了
0
不太好
0
感覺很糟
0
雨落清風。心向陽

    You may also like

    Leave a reply

    您的電子郵箱地址不會被公開。 必填項已用 * 標註

    此站點使用Akismet來減少垃圾評論。了解我們如何處理您的評論數據

    More in:Linux中國