← 返回所有文章

磁碟分割與掛載(Ubuntu)

Utils磁碟fstabpartedUbuntu作者:VincentCorgi約 1 分鐘閱讀

功能

Ubuntu 為主,整理 磁碟分割(parted/lsblk)格式化掛載fstab 開機自動掛載 的指令流程(Disk Flow)。

情境

  • 新硬碟、新 VM 磁碟或擴容後要 分區、掛到目錄、重開機仍自動掛載 時依序照做。
  • 只想看 各分割已用多少空間 請用 查詢磁碟使用量

磁碟空間查詢見 查詢磁碟使用量。此處為分割、掛載與 fstab 流程。

Disk Flow

Code
# 1. 查看狀態
sudo lsblk
sudo parted /dev/sda print

# 2. 分割(parted)
sudo parted /dev/sda mklabel gpt
sudo parted /dev/sda mkpart primary 0% 35%
sudo parted /dev/sda mkpart primary 35% 85%
sudo parted /dev/sda mkpart primary 85% 95%
sudo parted /dev/sda mkpart primary 95% 100%
sudo partprobe /dev/sda
lsblk | grep sda

# 3. 格式化 ext4
sudo mkfs.ext4 -L <label1> /dev/sda1
sudo mkfs.ext4 -L <label2> /dev/sda2
sudo mkfs.ext4 -L <label3> /dev/sda3
sudo mkfs.ext4 -L <label4> /dev/sda4

# 4. 掛載點
sudo mkdir -p <mount_base>/{<mount1>,<mount2>,<mount3>,<mount4>}

# 5. UUID
sudo blkid /dev/sda1
# ... sda2, sda3, sda4

# 6. /etc/fstab(UUID 掛載,ext4 defaults,noatime 0 2)
sudo vi /etc/fstab
sudo systemctl daemon-reload

# 7. 掛載並檢查
sudo mount -a
df -h | grep /data/
lsblk

Disk

直接格式化整個硬碟

Code
sudo mkfs.ext4 /dev/[disk-name]

建立掛載點 / 掛載 / 取消掛載

Code
sudo mkdir <mount_point>
sudo mount /dev/<disk> <mount_point>
sudo umount <mount_point>
sudo umount <mount_base>/*

編輯 fstab

Code
sudo cp /etc/fstab /etc/fstab.backup
sudo vi /etc/fstab

GPU

Code
sudo lshw -c display

腳本:產生 fstab 條目

Code
#!/bin/bash
declare -A mounts=(
  ["/dev/sda1"]="<mount_base>/<mount1>"
  ["/dev/sda2"]="<mount_base>/<mount2>"
  ["/dev/sda3"]="<mount_base>/<mount3>"
  ["/dev/sda4"]="<mount_base>/<mount4>"
)
echo "# 資料碟掛載配置"
for device in "${!mounts[@]}"; do
  uuid=$(sudo blkid -s UUID -o value "$device")
  if [ -n "$uuid" ]; then
    echo "UUID=$uuid  ${mounts[$device]}  ext4  defaults,noatime  0  2"
  fi
done