首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >在引导时安装USB会导致Pi4上的引导错误

在引导时安装USB会导致Pi4上的引导错误
EN

Unix & Linux用户
提问于 2020-11-15 18:35:32
回答 1查看 257关注 0票数 1

我试图在启动时将usb驱动器挂载到特定目录,以便每次都将其映射到同一个目录。我读过这篇文章,https://raspberrypi.stackexchange.com/questions/36824/automounting-usb-drive-on-boot,上面写着要把它添加到/etc/fstab中

代码语言:javascript
复制
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,结果都是一样的。

以下是我尝试过的:

代码语言:javascript
复制
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

当我重新启动时,它将产生以下错误:

无法打开对控制台的访问,根帐户被锁定。

我是通过修改cmdline.txt和添加bash来摆脱这种情况的。

我做了一个blkid看我的usb驱动器UUID。我得到的是:

代码语言:javascript
复制
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驱动器在启动时挂载到一个特定的目录。

有什么建议吗?

EN

回答 1

Unix & Linux用户

回答已采纳

发布于 2020-11-17 00:35:09

TL;DR:从您的umask=000条目中删除fstab。这不是ext4文件系统的有效挂载选项。umask选项仅在不支持Unix权限的文件系统(如FAT和NTFS )上可用。

其他细节:您得到的错误表明系统启动失败,但不允许root使用密码登录,因此systemd不会启动恢复外壳程序。第一步是通过将init=/bin/bash添加到内核命令行(听起来就像您已经做过的那样)引导到根shell,然后运行passwd root来设置根密码。然后重新启动,应该允许您登录到可用于调试的恢复外壳程序。

一旦登录到恢复外壳程序,就可以检查日志,看看哪些失败了。journalctl -u mnt-usb2.mountjournalctl -b可能是最有用的东西。您也可以尝试使用mount /mnt/usb2手动安装。在您的示例中,在删除umask选项之前,这应该会导致如下错误:

代码语言:javascript
复制
mount: /mnt/usb2: wrong fs type, bad option, bad superblock on /dev/sda2, missing codepage or helper program, or other error.

umask=000条目中删除fstab,然后再尝试手动挂载。它很有可能会起作用。

我建议您在USB文件系统的选项中添加nofail。如果文件系统由于任何原因无法挂载,这将允许您的系统正常启动。(如果你愿意的话,你也可以省略defaults。只有在没有其他选择的情况下才有必要这样做。)

总之,下面是我建议您在/etc/fstab中添加的内容:

代码语言:javascript
复制
UUID=b994a97c-027d-465e-8483-ad519866f87c /mnt/usb2 ext4 nofail 0 0
票数 0
EN
页面原文内容由Unix & Linux提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://unix.stackexchange.com/questions/619777

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档