Raspberry Pi(或一般 Linux)預設在無桌面環境(headless 或用 systemd
)情況下,插入 USB 裝置後不會自動掛載。這需要額外處理,以下是常見解法:
使用 udev
+ 腳本自動掛載
udev
是 Linux 處理熱插拔裝置(如 USB)的系統,搭配腳本可實現「插入 USB 時自動掛載」。
步驟:
1. 建立自動掛載腳本
建立檔案 /usr/local/bin/usb-mount.sh
:
讓它可執行:
2. 建立 service
sudo nano /etc/systemd/system/usb-mount@.service
[Unit]
Description=Mount USB device %i
After=local-fs.target
[Service]
Type=oneshot
ExecStart=/usr/local/bin/usb-mount.sh /dev/%i
3. 建立 udev
規則
建立一個 udev 規則檔:
內容如下(針對一般 USB 隨身碟):
這表示:當插入的裝置符合 sdX1
這類裝置(通常是 USB 隨身碟分割區),就呼叫你寫的掛載腳本。
4. 重新載入 udev 規則
sudo udevadm control --reload-rules
sudo udevadm trigger
5. 測試:插入 USB
插入 USB 隨身碟後,它應該會自動掛載到 /mnt/usb
,可用 ls /mnt/usb
查看。
Debug
用 udevadm test
模擬觸發(重點)
找出你的裝置 node(如 /dev/sda1
對應 /sys/block/sda/sda1
):
沒有留言:
張貼留言