2025年10月2日 星期四

磁碟分割區 掛載 (mount) 到 目錄

 要將您的磁碟分割區 /dev/sdb2 掛載 (mount)/mnt/rosdata 目錄,您需要遵循以下步驟。這個操作對於存儲大量的 ROS 數據、日誌或大型專案文件非常有用。


步驟一:創建掛載點 (Mount Point)

首先,您需要確保目標目錄 /mnt/rosdata 存在。如果不存在,請使用 mkdir 命令創建它。

sudo mkdir -p /mnt/rosdata
  • sudo: 以超級使用者權限執行。

  • mkdir: 創建目錄。

  • -p: 確保路徑中的所有父目錄都被創建 (如果它們不存在)。


步驟二:檢查並掛載分割區

接著,使用 mount 命令將 /dev/sdb2 掛載到剛剛創建的目錄。您需要知道該分割區的檔案系統類型 (Filesystem Type),例如 ext4NTFSXFS

1. 識別檔案系統類型

您可以使用 lsblkfdisk -l 來確認 /dev/sdb2 的檔案系統類型。

sudo blkid /dev/sdb2
# 輸出範例:/dev/sdb2: UUID="xxxx-xxxx" TYPE="ext4" PARTUUID="yyyy-yyyy"
  • 假設您的檔案系統是 ext4

2. 執行掛載 (一次性)

使用 -t 參數指定檔案系統類型,然後執行掛載。

sudo mount -t ext4 /dev/sdb2 /mnt/rosdata
# 如果您不確定類型,系統通常可以自動偵測:
# sudo mount /dev/sdb2 /mnt/rosdata

3. 檢查掛載結果

確認是否成功掛載:

df -h | grep rosdata
# 成功的輸出應該會顯示 /dev/sdb2 及其在 /mnt/rosdata 的容量資訊。

步驟三:設定開機自動掛載 (永久設定)

如果您希望電腦重啟後,該分割區仍然自動掛載,您需要編輯 /etc/fstab 檔案。

1. 取得分割區的 UUID (推薦)

使用 UUID (Universally Unique Identifier) 來設定比使用 /dev/sdb2 更穩健,因為裝置名稱在開機時可能會變動。

sudo blkid /dev/sdb2
# 複製輸出中的 UUID,例如:9a7b-3d2c-1e0f-5h6g

2. 編輯 /etc/fstab

使用您喜歡的文字編輯器 (例如 nanovim) 開啟設定檔:

sudo nano /etc/fstab

3. 添加新的掛載行

在檔案的末尾添加一行,格式為:

<裝置/UUID> <掛載點> <檔案系統類型> <選項> <dump> <pass>

將您的資訊替換進去(以 ext4 為例):

UUID=您的UUID號碼 /mnt/rosdata ext4 defaults 0 2

選項說明:

  • UUID=...: 您剛剛查到的 UUID。

  • /mnt/rosdata: 您的掛載點。

  • ext4: 您的檔案系統類型。

  • defaults: 標準的掛載選項,適用於大多數情況。

  • 0: 不進行備份 (dump 選項)。

  • 2: 在開機時進行檔案系統檢查,但優先級低於根目錄 (root, 使用 1)。

4. 測試設定

存檔並退出編輯器後,執行以下命令來測試您的 /etc/fstab 設定是否正確,無需重啟

sudo umount /mnt/rosdata  # 如果已經掛載,先卸載
sudo mount -a             # 重新掛載 fstab 中列出的所有項目

如果沒有錯誤訊息,且您能通過 df -h 看到 /dev/sdb2 掛載在 /mnt/rosdata,則表示設定成功。


指導建議:

請確保 /mnt/rosdata 掛載點的權限設定正確,以便您的 ROS 使用者能夠讀寫數據。

sudo chown -R $USER:$USER /mnt/rosdata

這樣,您的 ROS 相關數據就可以安全地儲存在專屬分割區,不會佔用系統根目錄的空間。