MBR 分區表限制 2TB 最大可寻址空間。超過 2TB 磁碟必須使用 GPT(GUID Partition Table)。本文演示 parted 建立 GPT 分區、格式化、掛載及開機自動掛載全流程。
| 特性 | MBR | GPT |
|---|---|---|
| 最大磁碟 | 2 TB | 9.4 ZB (2^64 扇區) |
| 分區數 | 4 主分區(或 3 主 + 1 擴展) | 128 默認(可擴展) |
| 冗余 | 無 | 主備兩份分區表 |
| 校驗 | 無 | CRC32 校驗 |
| 啟動模式 | BIOS Legacy | UEFI(需 ESP 分區) |
# 1. 進入 parted
parted /dev/sdb
GNU Parted 3.4
Using /dev/sdb
Welcome to GNU Parted! Type 'help' to view a list of commands.
# 2. 建立 GPT 標籤(清空原分區表!)
(parted) mklabel gpt
# 3. 建立分區(單位可為 MB、GB、TB、%)
(parted) mkpart primary ext4 0% 100% # 全磁碟單分區
# 或指定大小
(parted) mkpart primary ext4 0 1TB
(parted) mkpart primary ext4 1TB 2TB
# 4. 查看結果
(parted) print
Model: ATA Samsung SSD 870 (scsi)
Disk /dev/sdb: 4000GB
Sector size (logical/physical): 512B/4096B
Partition Table: gpt
Number Start End Size File system Name Flags
1 1049kB 4000GB 4000GB primary
# 5. 退出
(parted) quit
parted -s /dev/sdb mklabel gpt
parted -s /dev/sdb mkpart primary ext4 0% 100%
partprobe /dev/sdb # 通知內核重讀分區表
# 格式化為 ext4(推薦大磁碟用 ext4/xfs)
mkfs.ext4 -F /dev/sdb1
# 或 XFS(大文件、高併發優勢)
mkfs.xfs -f /dev/sdb1
# 掛載
mkdir -p /mnt/data
mount /dev/sdb1 /mnt/data
# 驗證
df -h /mnt/data
lsblk -f /dev/sdb
# 獲取 UUID(推薦,設備名可能變動)
blkid /dev/sdb1
# UUID=abc123-def456 /mnt/data ext4 defaults,noatime 0 2
# 編輯 fstab
echo "UUID=abc123-def456 /mnt/data ext4 defaults,noatime 0 2" >> /etc/fstab
# 測試
mount -a
| 問題 | 解決 |
|---|---|
| parted 提示 "The resulting partition is not properly aligned" | 起始扇區未對齊 1MB(2048 扇區),用 mkpart primary 1MiB 100% |
| fdisk 不支援 GPT | 用 gdisk 或 parted,fdisk -l 可查看 GPT |
| grub-install 失敗 | UEFI 系統需建立 512MB ESP 分區 mkpart primary fat32 1MiB 513MiB; set 1 esp on |
| 舊內核不支援 GPT | 內核需啟用 CONFIG_EFI_PARTITION=y,現代發佈版默認支援 |
RHEL 5 內核較舊,parted 版本可能不支援 % 單位,改用具體大小(如 0 1000000 代表 1TB,單位 MB)。格式化用 mkfs -t ext3。