在虛擬機環境為 Linux 新增硬盤是運維常態操作。本文以實際操作流程為主線,記錄從虛擬機關機掛載新磁碟,到 fdisk 分區、mkfs 格式化、mount 掛載、修改 fstab 實現開機自動掛載的完整過程,並針對擴展分區無法直接格式化的常見坑點進行深度解析。
虛擬機關機後在虛擬化平台新增一塊虛擬磁碟,開機登入系統。執行 fdisk -l 確認新磁碟設備代號,本例中為 /dev/sdc(第三塊磁碟)。
fdisk /dev/sdc
Command (m for help): n
Command action
e extended
p primary partition (1-4)
e
Partition number (1-4): 1
First cylinder (1-2349, default 1): [Enter]
Last cylinder or +size or +sizeM or +sizeK (1-2349, default 2349): [Enter]
Command (m for help): w
建立分區後嘗試格式化:
mkfs -t ext3 -c /dev/sdc1
/dev/sdc1: Invalid argument passed to ext2 library while setting up superblock
錯誤原因:選擇 e 建立的是擴展分區,擴展分區只是容器,無法直接格式化,必須在其下再建立邏輯分區才能使用。
fdisk /dev/sdc
Command (m for help): n
Command action
l logical (5 or over)
p primary partition (1-4)
l
Partition number (5-?): 5
First cylinder (1-2349, default 1): [Enter]
Last cylinder or +size or +sizeM or +sizeK (1-2349, default 2349): [Enter]
Command (m for help): w
此時系統自動建立 /dev/sdc5 邏輯分區。
# 格式化為 ext3,-c 參數檢查壞軌
mkfs -t ext3 -c /dev/sdc5
# 建立掛載點並掛載
mkdir /srv
mount /dev/sdc5 /srv
編輯 /etc/fstab,新增一行:
/dev/sdc5 /srv ext3 defaults 0 0
欄位含義:設備、掛載點、文件系統類型、掛載參數、dump 備份標記、fsck 檢查順序。保存後執行 mount -a 驗證無誤,重啟系統即可自動掛載。
關鍵提醒:生產環境建議使用 UUID 或 LABEL 替代設備路徑(blkid 查看),防止磁碟順序變更導致掛載錯誤。現代系統推薦 ext4 或 xfs 文件系統,ext3 已逐漸退出歷史舞台。