CodeGym /Adesua ahorow /Docker SELF /掛載和解除掛載檔案系統:mount, umount

掛載和解除掛載檔案系統:mount, umount

Docker SELF
等級 6 , 課堂 3
開放

掛載和解除掛載檔案系統:mount, umount

1. 什麼是掛載?

歡迎來到另一場精彩的 Linux 操作講座!今天咱們要聊聊掛載和卸載文件系統——這是一個打開 USB 隨身碟、額外硬碟,甚至是網路存儲設備的必經之路。我們會研究如何設定自動掛載,確保你的數據在系統啟動時就準備好使用。而最重要的,我們還會一起實踐操作!

掛載(mounting)是將一個設備的文件系統(硬碟、USB 隨身碟,ISO 映像)連接到 Linux 文件系統樹中的過程。不像 Windows 裡,你會看到像 "D:\" 或 "E:\" 這樣的設備,在 Linux 中,所有設備會「嵌入」到一個特定的目錄,這個目錄叫做掛載點。

類比:火車與車站

想像一下火車(設備)和火車站(掛載點)。為了讓人們能夠走到站台並使用基礎設施(文件),火車必須到達站台並連接。Linux 裡的掛載設備到它的掛載點,大概就是這樣的原理。


2. 指令 mount

我們先從執行掛載操作的指令開始介紹,就是 mount。這是一個你經常會使用的指令,特別是當你處理外接硬碟或是網路存儲時。

基本語法

mount [選項] <設備> <掛載點>
  • <設備> — 你的設備在系統中連接的位置,例如 /dev/sdb1。你可以使用指令 lsblk 來找出這個位置。
  • <掛載點> — 裝置數據將會傳遞到的資料夾。例如,這可能是 /mnt/disk

USB 隨身碟的掛載範例:

sudo mount /dev/sdb1 /mnt/usb

執行這條指令後,設備 /dev/sdb1 中的檔案將可以在資料夾 /mnt/usb 中訪問。

指令 mount 的實用選項

  1. 指定檔案系統:

    如果 Linux 無法識別設備的檔案系統,可以使用旗標 -t。例如:

    sudo mount -t ext4 /dev/sdb1 /mnt/usb
    

    這在你使用較罕見的檔案系統時非常有用。

  2. 僅掛載為唯讀:

    如果你想保護設備數據不被修改,可以使用選項 -o ro

    sudo mount -o ro /dev/sdb1 /mnt/usb
    
  3. 掛載時指定編碼:

    對於 FAT32 或 NTFS 硬碟,有時需要指定字符編碼:

    sudo mount -o iocharset=utf8 /dev/sdb1 /mnt/usb
    

3. 命令 umount

現在你已經掛載了設備,問題來了:如何卸載它?這很重要,因為要讓 Linux「關閉」與磁碟的所有連接並完成寫入操作。

基本語法

umount <設備或掛載點>

對於已掛載的 USB 隨身碟的範例:

sudo umount /mnt/usb

或者也可以指定設備本身:

sudo umount /dev/sdb1

如果 umount 無法執行怎麼辦?

有時候命令 umount 可能會報錯:"Device is busy"(設備正忙)。這意味著某個人(在文件系統的術語裡)「攔住了軌道」。可能是你或者其他程式正在當前設備上打開了一個文件。

此時可以使用命令 fuser,它會顯示鎖住設備的進程:

fuser -v /mnt/usb

找到「罪魁禍首」後,可以結束進程:

kill <進程 ID>

之後再執行一次命令 umount

重要!

還記得在 Windows 系統中,在拔出 USB 隨身碟之前需要點擊「彈出」(Eject)按鈕嗎?這其實就是執行 unmount 命令。


4. 透過 /etc/fstab 自動掛載

手動掛載是很方便啦,但如果每次系統重啟都要重新連接設備,那怎麼辦?對此可以使用 /etc/fstab 文件。

/etc/fstab 是什麼?

這是一個配置文件,包含 Linux 系統應該自動連接的設備列表。使用 fstab,你可以設定參數,例如文件系統類型、掛載點和權限。

如何在 /etc/fstab 中添加設備?

  1. 通過指令 blkid 找到你的設備 UUID:

    sudo blkid
    

    例如,設備 /dev/sdb1 的 UUID 可能是 1234-5678

  2. 打開 /etc/fstab 文件進行編輯:

    sudo nano /etc/fstab
    
  3. 添加一行新的内容:

    UUID=1234-5678 /mnt/usb ext4 defaults 0 2
    
    • UUID — 你的設備的唯一標識符。
    • /mnt/usb — 掛載點。
    • ext4 — 設備的文件系統。
    • defaults — 標準掛載參數。
    • 02 — 系統啟動時的設備檢查參數(可配置)。
  4. 檢查設置是否正確,掛載設備:

    sudo mount -a
    

現在每次系統重啟,設備都會自動連接!

風險

⚠️ 如果 /etc/fstab 配置有誤,系統可能無法啟動。記得用以下指令檢查配置:

sudo mount -a

如果沒有出現錯誤,那就表示設定正確啦!


5. 範例:掛載和卸載 USB 儲存裝置

假設你已連接 USB 儲存裝置,系統將其識別為 /dev/sdb1

  1. 創建掛載點:

    sudo mkdir -p /mnt/usb
    
  2. 掛載裝置:

    sudo mount /dev/sdb1 /mnt/usb
    
  3. 檢查內容:

    ls /mnt/usb
    
  4. 完成後,卸載裝置:

    sudo umount /mnt/usb
    

現在裝置已安全地斷開連接,您可以取出它。


6. 實作練習

任務

  1. 連接 USB 隨身碟或虛擬磁碟。
  2. 創建掛載點 /mnt/test-disk
  3. 將設備掛載到此資料夾內,然後檢查內容。
  4. 使用 UUID 配置 /etc/fstab 來設置掛載。
  5. 卸載設備並確認重啟後設置是否正常運作。

提示

  • 如果沒有設備,可以使用上一講的格式化指令來創建它 (mkfs.ext4)。
  • 在重啟之前檢查 fstab 設置。

現在你知道如何在 Linux 中掛載和卸載設備,如何通過配置文件 /etc/fstab 來自動化設備的連接,並安全地診斷任何問題。掛載是高效管理資料工作中的重要一步,這些技能無論在家裡的專案還是工作中的伺服器上都非常實用。

留言
TO VIEW ALL COMMENTS OR TO MAKE A COMMENT,
GO TO FULL VERSION