我在 Raspberry Pi 3b 上安装了 Ubuntu Server 20.04.3,一切似乎都运行良好。然后,我尝试将根文件系统移动到通过 USB 连接的外部 ssd,这样就不会冒着 SD 卡过早磨损的风险。但是,一旦我使用 SSD 作为根目录启动,我的 wlan0 设备就会消失,所有网络都会中断。
为了实现这一目标,我做了以下事情:
- 安装ubuntu到sdcard并启动成功
- 通过 USB 连接 2.5 毫米 SSD。我给它分配了一个 100%(120GB)的分区,并使用 mkfs.ext4 /dev/sda1 将其格式化为 ext4
- 使用以下命令将根文件系统从 SD 卡克隆到 SSD
dd if=/dev/mmcblk0p2 of=/dev/sda1
- 使用以下命令更改 /dev/sda1 的块设备标签
e2label /dev/sda1 ssd
- 将 SSD 挂载到
/media/ssd
- 修改
/media/ssd/etc/fstab
为安装LABEL=ssd
到/而不是LABEL=writable
root=LABEL=ssd
将/boot/firmware/cmdline.txt 中的 root 改为使用root=LABEL=writable
需要注意的是,我一开始错过了几个步骤。在第一次尝试中,在克隆 SD 卡、修改/boot/firmware/cmdline.txt
和/media/ssd/etc/fstab
,然后重新启动后,我发现需要更改 /dev/sda1 上的标签。修复此问题并重新启动后,一切似乎又正常工作了,只是 wlan0 现在不在那里,netplan 无法启动网络。执行ls /sys/class/net
只返回“eth0”和“lo”
我已经测试过通过仅替换“/boot/firmware/cmdline.txt”中的标签来返回旧配置,并且正如预期的那样,wlan0 回来了,但这意味着我使用 SD 卡而不是 ssd 作为我的根文件系统。
这可能是什么原因造成的?
答案1
我决定再试一次,重新克隆 SD 卡,现在它可以正常工作了。我怀疑在更改磁盘名称之前尝试启动时某些东西损坏了,所以这次没有问题。