Windows XP Windows 7 Windows 2003 Windows Vista Windows 綜合教學 Linux 系統教學
Windows 10 Windows 8 Windows 2008 Windows NT Windows Server 電腦軟體教學

Linux 新增硬碟分區與掛載完整實戰:fdisk、mkfs.ext4、badblocks、fstab、UUID

編輯:系統常見問題解答

遠端 SSH 環境新增硬碟 (sdb) 取代故障硬碟 (sdc),完整流程記錄:

1. 確認新硬碟裝置名稱

lsblk -f
# 或
fdisk -l
# 新硬碟通常為 /dev/sdb、/dev/nvme1n1 等

2. 分區 (fdisk / parted)

fdisk /dev/sdb
# 互動指令:
# g  → 建立 GPT 分區表 (現代標準,支援 >2TB)
# n  → 新增分區 (預設全盤、Linux filesystem 型別代碼 20)
# t  → 變更型別 (swap 需 19 / Linux swap)
# w  → 寫入並離開
# q  → 不存離開

建議:單一大分區簡化管理;需 swap 另建小分區 (型別 19)。

3. 格式化並檢查壞軌

# ext4 (現代預設,支援 metadata checksum、64bit、大檔案)
mkfs.ext4 -c /dev/sdb1
# -c 參數 = 唯讀模式掃描壞區塊 (耗時但安全)
# 若需更嚴格:badblocks -b 4096 -c 16 -s -w -t random -o sdb1-badblocks.log /dev/sdb1
# -w = 寫入模式測試 (會清除資料,新硬碟可用)
# -s = 顯示進度
# -o = 輸出壞軌清單

若 sdb1-badblocks.log 有內容 → 硬碟有壞軌,建議 RMA 換貨。

4. 取得 UUID 並設定 fstab

blkid /dev/sdb1
# 輸出範例:/dev/sdb1: UUID="a1b2-c3d4-e5f6..." TYPE="ext4"

# 編輯 /etc/fstab
UUID=a1b2-c3d4-e5f6...  /home  ext4  defaults,noatime  0  2
# 欄位:裝置 UUID、掛載點、檔案系統、選項、dump、fsck 順序
# noatime = 不更新存取時間,減少寫入、延長 SSD 壽命

5. 資料遷移與掛載

# 1. 建立臨時掛載點
mkdir /mnt/new_home

# 2. 掛載新分區
mount /dev/sdb1 /mnt/new_home

# 3. 同步資料 (保留權限、屬性、硬連結、稀疏檔)
rsync -aHAX /home/ /mnt/new_home/

# 4. 切換掛載 (單用戶模式最安全)
umount /home
mount /home   # 依 fstab 掛載

# 5. 驗證
df -h /home
ls -la /home

6. 常見坑點

  • MBR vs GPT:>2TB 必用 GPT,fdisk 支援 g 指令;parted 更直覺。
  • swap 分區:mkswap /dev/sdb2 → swapon /dev/sdb2 → fstab 加入 UUID=... none swap sw 0 0。
  • LVM:彈性擴充、快照、鏡像,生產環境建議直接建立 LVM on GPT。
  • SELinux:遷移後 restorecon -Rv /home 恢復安全內文。
  • systemd 掛載單元:systemctl daemon-reload 重讀 fstab,必要時 systemctl restart local-fs.target。

遵循標準流程,Linux 新增硬碟分區掛載零風險、可追蹤、易維運。

Copyright © Windows教程網 All Rights Reserved