仅在Raspberry Pi 2B v1.2、3A +,3B,3B +,4B,400,计算模块3,计算模块3+和计算模块4上可用。
本页说明如何从USB大容量存储设备(如闪存驱动器或USB硬盘)引导Raspberry Pi。连接USB设备(尤其是硬盘和SSD)时,请注意其电源要求。如果您希望在Pi上连接多个SSD或硬盘,则通常需要外部电源-有源硬盘盒或有源USB集线器。请注意,Pi 4B之前的型号存在已知问题,无法使用某些USB设备引导。
树莓派400
要从USB大容量存储设备启动Pi 400,只需使用Raspberry Pi Imager实用程序使用Raspberry Pi OS 2020-08-20或更高版本对USB驱动器进行映像:从SD CardRaspberry Pi Imager的列表中选择USB驱动器。
树莓派4B
根据Raspberry Pi 4B的制造时间,可能需要更新Bootloader EEPROM才能从USB大容量存储设备启动。
检查您的Pi 4B是否具有所需的Bootloader EEPROM版本
要检查您的Pi 4B是否具有所需的Bootloader EEPROM版本,请在未插入SD卡且显示器连接至HDMI端口之一的情况下打开电源。Pi 4B将在随附的显示器上显示诊断屏幕,该诊断屏幕的顶部包括引导加载程序的EEPROM版本。引导加载程序必须标有日期Sep 3 2020或更高版本才能支持USB大容量存储引导。如果诊断屏幕报告的日期早于Sep 3 2020,或者没有显示诊断屏幕,则需要首先更新Bootloader EEPROM以启用USB大容量存储引导。
要在Pi 4B上启动USB大容量存储,需要使用Raspberry Pi OS 2020-08-20或更高版本。
通过更新引导加载程序EEPROM在Pi 4B上启用USB大容量存储引导
如果您的Pi 4B需要更新的引导程序EEPROM以支持USB大容量存储引导,则可以执行以下更新:
使用Raspberry Pi Imager中的“其他实用程序映像”选项来创建具有最新“ Raspberry Pi 4 EEPROM引导恢复”映像的SD卡。
使用此SD卡引导Pi 4B。
引导加载程序EEPROM将更新为最新的出厂版本,然后Pi将快速闪烁其绿色ACT灯,并在HDMI输出上显示绿色,以指示成功。
Pi 4B现在可以从USB大容量存储设备启动。
更改Pi 4B和Pi 400的启动顺序
该raspi-配置实用程序可用于SD / USB(默认)或SD /网络引导模式之间进行选择。
完整的引导模式选项集记录在引导加载程序配置页面上。
树莓派3B +
Raspberry Pi 3B +支持开箱即用的USB海量存储启动。
Raspberry Pi 2B v1.2、3A +,3B,计算模块3、3+
在Raspberry Pi 2B v1.2、3A +,3B和计算模块3、3+上,必须首先启用USB主机启动模式。这是为了允许USB大容量存储启动和网络启动。请注意,Raspberry Pi 3A +不支持网络启动。
要启用USB主机引导模式,需要使用特殊选项从SD卡引导Raspberry Pi,以将一次性可编程(OTP)内存中的USB主机引导模式位置为1。设置该位后,就不再需要SD卡。请注意,您对OTP所做的任何更改都是永久性的,无法撤消。
在Raspberry Pi 3A +上,将OTP位置1以启用USB主机启动模式将永久阻止Pi在USB设备模式下启动。
您可以使用任何运行Raspberry Pi OS的SD卡对OTP位进行编程。
使用以下代码启用USB主机引导模式:
echo program_usb_boot_mode=1 | sudo tee -a /boot/config.txt
这program_usb_boot_mode=1增加到的结尾/boot/config.txt。
请注意,尽管该选项名为program_usb_boot_mode,但仅启用USB主机引导模式。USB设备启动模式仅在某些型号的Raspberry Pi上可用-请参见USB设备启动模式。
下一步是使用重启Raspberry Pi,sudo reboot并检查是否已使用以下方法对OTP进行了编程:
$ vcgencmd otp_dump | grep 17:
17:3020000a
检查0x3020000a是否显示输出。如果不是,则说明OTP位未成功编程。在这种情况下,请再次执行编程步骤。如果该位仍未设置,则可能表明Pi硬件本身存在故障。
如果愿意,可以从中删除该program_usb_boot_mode行config.txt,这样,如果将SD卡放入另一个Raspberry Pi中,则不会对USB主机启动模式进行编程。确保末尾没有空白行config.txt。
现在,您可以从USB大容量存储设备中进行引导,就像从SD卡中进行引导一样-有关更多信息,请参见以下部分。
从USB大容量存储设备启动
该过程与SD卡相同-仅用操作系统映像对USB存储设备进行映像。
准备好存储设备后,将驱动器连接到Raspberry Pi并打开Pi的电源,注意外部驱动器的额外USB电源要求。五到十秒钟后,Raspberry Pi应该开始启动,并在连接的显示器上显示Rainbow初始屏幕。确保您没有在Pi上插入SD卡,因为如果这样做,它将首先从那启动。
有关引导顺序和替代引导模式(网络,USB设备,GPIO或SD引导),请参阅引导模式文档。
已知问题(不是Pi 4B,CM4和Pi 400)
检查可启动USB设备的默认超时为2秒。一些闪存驱动器和硬盘上电太慢。可以将超时时间延长到5秒(timeout向SD卡添加新文件),但是请注意,某些设备的响应时间甚至更长。
一些闪存驱动器具有非常特殊的协议要求,而引导代码未处理这些协议要求,因此可能不兼容。
特殊的仅bootcode.bin引导模式(非Pi 4B,CM4和Pi 400)
如果您无法使用特定的USB设备启动您的树莓派,为PI 2B V1.2替代,3A +,3B和3B +是描述使用特殊唯一bootcode.bin引导模式在这里。Pi仍将从SD卡启动,但这bootcode.bin是从其中读取的唯一文件。