在啟動時安裝 USB 會導致在 Pi4 上啟動時出錯
我試圖在啟動時將 USB 驅動器掛載到特定目錄,以便每次都映射到同一目錄。我讀了這篇文章,https://raspberrypi.stackexchange.com/questions/36824/automounting-usb-drive-on-boot,說將它添加到 /etc/fstab
proc /proc proc defaults 0 0 PARTUUID=bf444af9-01 /boot vfat defaults 0 2 PARTUUID=bf444af9-02 / ext4 defaults,noatime 0 1 UUID=b994a97c-027d-465e-8483-ad519866f87c /mnt/usb2 ext4 defaults,umask=000 0 0 # a swapfile is not a swap partition, no line here # use dphys-swapfile swap[on|off] for that
我嘗試了 PARTUUID 和 UUID,兩次結果都一樣。
這是我嘗試過的:
PARTUUID=b994a97c-027d-465e-8483-ad519866f87c /mnt/usb2 ext4 defaults,umask=000 0 0 PARTUUID=fc69e031-8593-4c67-9cf9-c364d0166117 /mnt/usb2 ext4 defaults,umask=000 0 0 UUID=b994a97c-027d-465e-8483-ad519866f87c /mnt/usb2 ext4 defaults,umask=000 0 0 UUID=fc69e031-8593-4c67-9cf9-c364d0166117 /mnt/usb2 ext4 defaults,umask=000 0 0
當我重新啟動時,它給出了這個錯誤:
無法打開對控制台的訪問,root 帳戶被鎖定。
我通過修改 cmdline.txt 並添加 bash 來解決這個問題。
我做了一個
blkid
查看我的 USB 驅動器 UUID。這是我得到的:pi@raspberrypi:~ $ sudo blkid /dev/mmcblk0p1: LABEL_FATBOOT="boot" LABEL="boot" UUID="6284-658D" TYPE="vfat" PARTUUID="bf444af9-01" /dev/mmcblk0p2: LABEL="rootfs" UUID="3a324232-335f-4617-84c3-d4889840dc93" TYPE="ext4" PARTUUID="bf444af9-02" /dev/sda2: UUID="b994a97c-027d-465e-8483-ad519866f87c" TYPE="ext4" PARTLABEL="Basic data partition" PARTUUID="fc69e031-8593-4c67-9cf9-c364d0166117" /dev/mmcblk0: PTUUID="bf444af9" PTTYPE="dos" /dev/sda1: PARTLABEL="Microsoft reserved partition" PARTUUID="4792d598-bd1e-4784-99a5-27db1f5d937b"
我究竟做錯了什麼?我無法讓這個 USB 驅動器在啟動時掛載到特定目錄。
請問有什麼建議嗎?
TL;DR:
umask=000
從您的fstab
條目中刪除。這不是 ext4 文件系統的有效掛載選項。該umask
選項僅適用於不支持 Unix 權限的文件系統,例如 FAT 和 NTFS。其他詳細資訊:您收到的錯誤表明系統啟動失敗,但
root
不允許使用密碼登錄,因此 systemd 不會啟動恢復 shell。第一步是啟動並init=/bin/bash
添加到核心命令行(聽起來你已經完成了)以啟動到 root shell,然後執行passwd root
以設置 root 密碼。然後重新啟動,您應該可以登錄到可用於調試的恢復 shell。登錄到恢復 shell 後,您可以檢查日誌以查看失敗的原因。
journalctl -u mnt-usb2.mount
並且journalctl -b
可能是最有用的東西。您也可以嘗試使用mount /mnt/usb2
. 在您的情況下,在刪除該umask
選項之前,這應該會導致如下錯誤:mount: /mnt/usb2: wrong fs type, bad option, bad superblock on /dev/sda2, missing codepage or helper program, or other error.
umask=000
從條目中刪除fstab
,然後再次嘗試手動安裝。很可能它會起作用。我建議您添加
nofail
USB 文件系統的選項。如果由於任何原因無法掛載文件系統,這將允許您的系統正常啟動。(如果您願意,也可以省略defaults
。僅當您沒有其他選擇時才需要這樣做。)總而言之,這是我建議您輸入的內容
/etc/fstab
:UUID=b994a97c-027d-465e-8483-ad519866f87c /mnt/usb2 ext4 nofail 0 0