我试图在启动时将 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
,然后再次尝试手动安装。最有可能的是它会起作用。
我建议您添加nofail
USB 文件系统的选项。如果由于任何原因无法安装文件系统,这将允许您的系统正常启动。 (如果您愿意,也可以省略defaults
。仅当您没有其他选择时才需要这样做。)
总而言之,我建议您输入以下内容/etc/fstab
:
UUID=b994a97c-027d-465e-8483-ad519866f87c /mnt/usb2 ext4 nofail 0 0