在启动时安装 USB 会导致 Pi4 启动时出错

在启动时安装 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 驱动器在启动时安装到特定目录。

请问有什么建议吗?

答案1

长话短说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,然后再次尝试手动安装。最有可能的是它会起作用。

我建议您添加nofailUSB 文件系统的选项。如果由于任何原因无法安装文件系统,这将允许您的系统正常启动。 (如果您愿意,也可以省略defaults。仅当您没有其他选择时才需要这样做。)

总而言之,我建议您输入以下内容/etc/fstab

UUID=b994a97c-027d-465e-8483-ad519866f87c /mnt/usb2 ext4 nofail 0 0

相关内容