我有一台 Raspberry Pi 2,一段时间以来我一直用 USB SSD 硬盘启动它。现在我买了一台 Raspberry Pi 3,希望它能像更换硬盘并cmdline.txt
在新 Raspberry Pi 的 SD 卡上设置相应设置一样简单。不幸的是,Pi 3 似乎启动了启动过程,但最终停止并报告一条以“欢迎进入紧急模式!”开头的消息。确切的消息与本文底部图片中显示的消息相同(但这只是一张来自互联网的图片,而不是我屏幕上实际显示的内容)
这正是我所做的。在 pi 2 上,我有一张大尺寸 SD 卡(在新的 pi 3 中无法实际容纳)。在此卡上,我将 cmndline.txt 设置为以下内容:
dwc_otg.lpm_enable=0 console=serial0,115200 console=tty1 root=PARTUUID=712ae4a6-73d8-4aca-9ec6-b6e507c95f74 rootfstype=ext4 elevator=deadline fsck.repair=yes rootwait program_usb_timeout=1 max_usb_current=1
我已经格式化了我的 SSD USB 驱动器,并为根分区提供了命令行中显示的 PARTUUID。
SSD 上的 fstab 包含以下内容:
proc /proc proc defaults 0 0
PARTUUID=d96b7723-01 /boot vfat defaults 0 2
#PARTUUID=d96b7723-02 / ext4 defaults,noatime 0 1
PARTUUID=712ae4a6-73d8-4aca-9ec6-b6e507c95f74 / ext4 defaults,noatime 0 1
# a swapfile is not a swap partition, no line here
# use dphys-swapfile swap[on|off] for that
为了移动到 pi 3,我有一张安装了 raspbian 的新 SD 卡(pi 2 也在运行 raspbian,这是安装在 SSD 上的内容),但再次编辑了它cmdline.txt
以与 pi 2 上的相同。除此之外,我保留了所有原样。
如果相关的话,在启动期间,我会收到一条消息:
a start job is running for dev-disk-by\x2dpartuuid-d96b7723\x2d01.device/start timed out
这个过程持续 90 秒,然后启动过程继续。查看 systemd 日志,我看到类似这样的条目:
Timed out waiting for device dev-disk-by\x2dpartuuid-d96b7723\x2d01.device
此后还出现了其他错误,但我猜这是根本原因?
那么,这能行得通吗?如果能,该如何做?
答案1
问题是我的 fstab 仍然在寻找 引用的旧 SD 卡的启动分区PARTUUID=96b7723-01
。我的 SSD PARTUUID 没有改变,但 SD 卡已经改变了。我将其更改为/dev/mmcblk0p1
,现在我可以启动了,因为它找到了新的 SD 卡分区。