Categories: Linux

Linux 使用 Parted 分割硬碟,新增硬碟教學

介紹如何在 Linux 系統上使用 Parted 磁碟分割工具,分割 2TB 以上的大容量硬碟。

安裝 Parted 磁碟分割工具

若在 Ubuntu 等 Debian 系列的 Linux 中,可用 apt 來安裝 Parted 磁碟分割工具:

# 安裝 Parted 磁碟分割工具(Ubuntu/Debian)
sudo apt install parted

若在 CentOS 或 Red Hat 系列的 Linux 中,可以使用 yum 安裝:

# 安裝 Parted 磁碟分割工具(RHEL/CentOS)
sudo yum install parted

若在 Fedora Linux 中則可用 dnf 安裝:

# 安裝 Parted 磁碟分割工具(Fedora)
sudo dnf install parted

若在 Arch Linux 中則可用 pacman 安裝:

# 安裝 Parted 磁碟分割工具(Arch)
sudo pacman -S parted

若在 openSUSE Linux 中則可用 zypper 安裝:

# 安裝 Parted 磁碟分割工具(openSUSE)
sudo zypper in parted

列出所有硬碟資訊

在新增硬碟的時候,首先要查看一下系統上所有硬碟的資訊:

# 列出所有硬碟資訊
sudo parted --list
Error: /dev/vdb: unrecognised disk label
Model: Virtio Block Device (virtblk)
Disk /dev/vdb: 4295GB
Sector size (logical/physical): 512B/512B
Partition Table: unknown
Disk Flags:

Model: Virtio Block Device (virtblk)
Disk /dev/vda: 107GB
Sector size (logical/physical): 512B/512B
Partition Table: gpt
Disk Flags:

Number  Start   End     Size    File system  Name  Flags
14      1049kB  5243kB  4194kB                     bios_grub
15      5243kB  116MB   111MB   fat32              boot, esp
 1      116MB   107GB   107GB   ext4

這裡的 /dev/vda 是 Linux 系統用的磁碟,而 /dev/vdb 則是新增的磁碟,由於是新的磁碟,完全沒有任何磁碟分割表,所以會顯示 unrecognised disk label 的錯誤訊息。

在實體的機器中,實體硬碟的代號通常會是 /dev/sda/dev/sdb 等,而在虛擬機器中,虛擬的硬碟代號通常是 /dev/vda/dev/vdb 等。

建立磁碟分割表

新的硬碟首先要建立磁碟分割表:

# 建立 GPT 磁碟分割表
sudo parted /dev/vdb mklabel gpt

接著建立磁碟分割區,最常見的方式就是將所有的空間整個規畫成一個分割區,也就是將分割區起始與結束位置設為 0%100%

# 使用硬碟所有空間建立一個 Ext4 分割區
sudo parted /dev/vdb mkpart primary ext4 0% 100%

如果不是要使用整顆磁碟,可以自由更改分割區的起始與結束位置,例如:

# 建立大小為 2TB 左右的分割區
sudo parted /dev/vdb mkpart primary ext4 0% 2TB

分割好磁碟之後,接著進行格式化:

# 格式化 Ext4 分割區
sudo mkfs.ext4 /dev/vdb1

若要查磁碟分割的資訊,可以執行:

# 查看磁碟分割資訊
sudo parted /dev/vdb print
Model: Virtio Block Device (virtblk)
Disk /dev/vdb: 4295GB
Sector size (logical/physical): 512B/512B
Partition Table: gpt
Disk Flags:

Number  Start   End     Size    File system  Name     Flags
 1      1049kB  4295GB  4295GB  ext4         primary

這樣就完成新磁碟的分割與格式化了。

掛載磁碟

將磁碟分割與格式化好之後,接著就可以將其掛載至系統上來使用了。首先建立一個掛載磁碟用的目錄:

# 建立掛載磁碟用的目錄
sudo mkdir /mnt/newdisk

mount 將磁碟掛載上去:

# 掛載新磁碟
sudo mount /dev/vdb1 /mnt/newdisk/

df 查看掛載後的磁碟使用狀況:

# 查看磁碟使用狀態
df -h
Filesystem      Size  Used Avail Use% Mounted on
udev            7.9G     0  7.9G   0% /dev
tmpfs           1.6G  668K  1.6G   1% /run
/dev/vda1        97G  1.7G   96G   2% /
tmpfs           7.9G     0  7.9G   0% /dev/shm
tmpfs           5.0M     0  5.0M   0% /run/lock
tmpfs           7.9G     0  7.9G   0% /sys/fs/cgroup
/dev/vda15      105M  3.6M  101M   4% /boot/efi
tmpfs           1.6G     0  1.6G   0% /run/user/1000
/dev/vdb1       3.9T   89M  3.7T   1% /mnt/newdisk

df 的輸出中可以看出新的磁碟已經正常掛載上去了,容量大約是 3.9 TB 左右。

開機自動掛載磁碟

若想要讓系統在開機時自動掛載新的磁碟,可以在 /etc/fstab 中加入以下設定:

# 開機自動掛載磁碟
/dev/vdb1       /mnt/newdisk    ext4  defaults      0 0

若要測試 /etc/fstab 中的設定有無錯誤,可以使用 mount 指令掛載 /etc/fstab 中的所有的磁碟,看看有沒有問題:

# 掛載 /etc/fstab 中的所有磁碟
sudo mount -a

常見問題

如果再建立磁碟分割區的時候,出現類似這樣的警告訊息:

Warning: The resulting partition is not properly aligned for best performance.

可以在建立磁碟分割區的時候,加上 -a optimal 參數試試看,例如:

# 使用最佳化的 alignment
sudo parted -a optimal /dev/vdb mkpart primary 0% 2TB

參考資料:2 Day GeekStackExchange

Share
Published by
Office Guide

Recent Posts

Python 使用 PyAutoGUI 自動操作滑鼠與鍵盤

本篇介紹如何在 Python ...

1 年 ago

Ubuntu Linux 以 WireGuard 架設 VPN 伺服器教學與範例

本篇介紹如何在 Ubuntu ...

1 年 ago

Linux 網路設定 ip 指令用法教學與範例

本篇介紹如何在 Linux 系...

1 年 ago

Linux 以 Cryptsetup、LUKS 加密 USB 隨身碟教學與範例

介紹如何在 Linux 系統中...

1 年 ago