树莓派已配置为从U盘启动,但U盘设备“消失”(可能未插入或损坏)导致无法启动时,需要将启动介质切换回SD卡。核心操作是修改树莓派的启动顺序配置,将SD卡恢复为首选启动设备。具体方法取决于你最初设置U盘启动的方式。

方法一:通过修改SD卡上的启动配置(首选方法)

如果你的SD卡上仍保留着可引导的树莓派系统,最直接的方法是修改SD卡 boot 分区中的配置文件 config.txt。

  1. 将SD卡插入电脑(Windows/macOS/Linux均可),电脑会识别出一个名为 boot 的FAT32格式分区 。
  2. 在 boot 分区的根目录下,找到并打开 config.txt 文件。
  3. 查找与启动顺序相关的配置行。通常,设置U盘启动会添加类似 program_usb_boot_mode=1 或指定启动设备的参数。
    • 如果找到 program_usb_boot_mode=1:这行命令用于启用USB启动模式。要恢复SD卡启动,直接删除或注释掉这行(在行首添加 # 号)。
    • 如果找到 boot_order 参数:例如 boot_order=0xf41(其中 0x1 代表SD卡, 0x4 代表USB大容量存储)。你需要确保SD卡( 0x1)的优先级最高。一个安全的做法是直接删除 boot_order 这一整行,系统将恢复默认的启动顺序(优先尝试SD卡)。
  4. 保存 config.txt 文件,安全弹出SD卡,将其插入树莓派并通电启动。树莓派现在应该会从SD卡启动。

方法二:通过EEPROM Bootloader配置工具(raspi-config)

如果SD卡中的系统可以正常启动(例如通过其他方式临时启动),或者你能通过SSH访问到系统,可以在系统内使用 raspi-config 工具修改启动设置。

  1. 在树莓派终端中,执行以下命令:
    sudo raspi-config
    
  2. 使用方向键导航至 6 Advanced Options,然后选择 A6 Boot Order。
  3. 在启动顺序菜单中,选择 B1 SD Card Boot(SD卡启动)或类似选项,将其设为第一启动项。
  4. 确认更改,退出 raspi-config,并根据提示重启树莓派。

方法三:恢复默认的Bootloader固件(极端情况)

如果上述方法均无效,可能是EEPROM中的Bootloader固件被锁定在USB启动模式。此时需要重新刷写默认的Bootloader固件到SD卡,并让树莓派从该SD卡启动以恢复固件。

  1. 下载恢复固件:从树莓派官网下载最新的 bootloader 固件文件(例如 pieeprom.bin)。
  2. 准备SD卡:使用树莓派镜像烧录工具(如 Raspberry Pi Imager)将一张SD卡格式化为FAT32,并确保它是空白的 。
  3. 放置固件文件:将下载的 pieeprom.bin 文件复制到该SD卡的根目录下。
  4. 重命名固件文件(关键步骤):将 pieeprom.bin 重命名为 recovery.bin。
  5. 执行恢复:
    • 确保树莓派断电。
    • 将这张包含 recovery.bin 的SD卡插入树莓派。
    • 给树莓派上电。树莓派将自动从这张SD卡启动,并将EEPROM中的Bootloader固件恢复为出厂默认状态(即优先从SD卡启动)。
    • 恢复过程完成后,树莓派会自动关机。此时移除这张恢复用的SD卡,插入你原本的系统SD卡,树莓派应能从SD卡正常启动。

故障排查与预防建议

  • 检查U盘与接口:首先确认U盘本身是否完好,并尝试更换树莓派上不同的USB端口。一个故障或供电不足的USB端口可能导致设备无法识别 。
  • 验证SD卡与镜像:确保你的系统SD卡没有损坏,并且烧录的镜像是完整、正确的。可以尝试使用 Raspberry Pi Imager 重新烧录一个官方系统镜像到SD卡,这是最可靠的恢复基础系统的方法 。
  • 配置备份:在进行任何启动模式修改前,建议备份SD卡 boot 分区下的 config.txt 文件。这样在配置出错时可以快速回滚。
  • 无头启动配置:如果你需要通过网络远程访问树莓派,在重新烧录SD卡后,记得在 boot 分区创建空的 ssh 文件(启用SSH)和 wpa_supplicant.conf 文件(配置Wi-Fi),以实现无显示器启动 。

参考来源

 

更多推荐