跳过主要内容

如何从USB SSD或Flash驱动器引导Raspberry PI 4/400

树莓派4 USB启动
(图片来源:Tom’s Hardware)

编者的说明(7/24/2021):我们已更新本教程以包括如何启动您的覆盆子π400从USB。

默认情况下,覆盆子π它启动并将所有程序存储在microSD存储卡上,该存储卡的最大理论带宽为50mbps树莓4π在现有模型上只有25 Mbps。在现实生活中,甚至是覆盆子派最好的microSD卡在连续写入中没有比约38 Mbps更快。使用外部SSD作为主存储驱动器可能会显着加速件事,并且使用少数命令和简单的固件更新,您可以执行此操作。

在我们的现实生活中用SSD测试覆盆子PI 4去年我们取得了令人印象深刻的性能,读和写的顺序传输速率高达140 MB / 208 MBps。你也可以使用标准的USB闪存,不过我们发现在很多任务上它的性能比microSD卡差。

如何从USB启动树莓派4 / 400

如果你想重新安装树莓派操作系统,只需按照我们的教程中的说明如何设置覆盆子pi或者如何做覆盆子pi无头安装。

最新版本的Raspberry PI OS(截至4月29日或更高版本)内置了许多必要的更改。Raspberry PI成像仪现在具有更简单的方法来为USB启动准备Raspberry PI 4/400。这些指令将设置Raspberry PI 4/400以查找USB引导设备,如果没有找到它将从Micro SD卡引导。

1。下载并安装Raspberry Pi Imager来自覆盆子PI网站。

2。将备用Micro SD卡插入计算机。请注意,此卡将被删除。

3.启动Raspberry Pi Imager,在操作系统下向下滚动到Misc Utility Images,左键点击打开下一个菜单。

(图片来源:Tom’s Hardware)

4。选择Bootloader,然后选择USB Boot。这将使我们回到主菜单。

如何从USB启动树莓派4 / 400

(图片来源:Tom’s Hardware)

5。在存储下单击按钮,然后选择Micro SD卡。在继续之前,请仔细检查您是否有正确的驱动器。

(图片来源:Tom’s Hardware)

6.点击写下载并将配置映像写入micro - SD卡。当完成时,从您的计算机中删除卡。

(图片来源:Tom’s Hardware)

7.将Micro SD卡插入覆盆子PI 4/400并开机。一旦更新完成,绿色活动灯将闪烁稳定的模式。如果附加了HDMI监视器,则更新完成后屏幕将变为绿色。允许10秒或更高的更新完成,请勿卸下Micro SD卡,直到更新完成。

8.下电树莓派,拔出micro - SD卡。

9.进入Raspberry PI,将Micro SD卡插入覆盆子PI OS并从Micro SD启动到桌面。这可能需要一点时间,因为树莓派正在寻找USB启动设备。如果你没有树莓派OS micro SD卡,请按照我们的如何设置树莓派指南。

10。启动SD卡复印机从“开始”菜单的“附件”部分。确保使用USB 3端口将SSD或闪存驱动器连接到Raspberry PI。

(图片来源:Tom’s Hardware)

11.从设备中选择副本(micro - SD卡),以及复制到设备(SSD)。仔细检查是否选择了正确的驱动器和单击开始复制文件。这个过程大约需要10分钟才能完成。

(图片来源:Tom’s Hardware)

12.关闭覆盆子pi。

13。拆卸micro - sd卡。

14。启动Raspberry PI和它将从USB SSD或闪存驱动器启动。

(图片来源:Tom’s Hardware)

请记住,如果您使用的外部驱动器Saps从总线中使用了大量的电源,您可能会有问题(您可以通过使用具有自己电源的驱动器或通过供电的USB集线器来解决这些问题)。

例如,我们使用了使用公共汽车的外部金士顿Hyperx SSD出现问题,该SSD引导但是因为它使用的功率有多强制 - 我们都没有使用。外部供电的底座中的SATA SSD工作正常,如USB闪存驱动器。

59评论 论坛评论
  • RobU
    任何想法如果这将使树莓派4成为一个可行的Plex媒体服务器?
    回复
  • CS_J.
    这些指令导致了一个错误,也导致我的pi停止从SD卡引导。

    当删除SD卡后重新启动时,我在引导加载程序屏幕上得到一个错误提示:

    无效的ELF头:'start_x.elf'
    未找到固件

    它会不断重复并显示这个错误。

    然后我尝试重新插入我的SD卡,现在它表现出相同的错误,即使没有插入USB驱动器。

    发生了什么事?我无法使用原始SD卡启动。
    回复
  • Marks9156.
    CS_J.说:
    这些指令导致了一个错误,也导致我的pi停止从SD卡引导。

    当删除SD卡后重新启动时,我在引导加载程序屏幕上得到一个错误提示:

    无效的ELF头:'start_x.elf'
    未找到固件

    它会不断重复并显示这个错误。

    然后我尝试重新插入我的SD卡,现在它表现出相同的错误,即使没有插入USB驱动器。

    发生了什么事?我无法使用原始SD卡启动。
    我也尝试了这个,没有关于RPI4的SDCard引导的问题,但USB引导没有工作并在启动时出错。
    回复
  • CS_J.
    Marks9156.说:
    我也尝试了这个,没有关于RPI4的SDCard引导的问题,但USB引导没有工作并在启动时出错。
    是的,我不确定为什么我的sd卡开始出现同样的错误…也许我不小心复制了坏的start_x。精灵之类的。无论如何,我认为当前start_x可能有问题。来自Github的精灵。将等待OP的回应。
    回复
  • Marks9156.
    CS_J.说:
    是的,我不确定为什么我的sd卡开始出现同样的错误…也许我不小心复制了坏的start_x。精灵之类的。无论如何,我认为当前start_x可能有问题。来自Github的精灵。将等待OP的回应。
    我也会这么做的。
    回复
  • Frenchpi.
    嗨,这听起来很棒!我可以问现在以前所描述的方式在哪里?(即sudo fdisk -l; sudo mkfs.ext4 / dev / sda1等)?

    顺便问一下,有没有办法从以前的方式升级到这种新的方式,以便维护已经安装在SSD上的东西,而不必全部重新安装?
    回复
  • 丹尼尔玻璃杯
    @Frenchpi:我不是一个权威,但我的答案是一个合格的“是”。我成功完成了固件升级,而不会弄乱我的USB外部驱动器内容或配置。
    以我为例,我将外置驱动器(1TB的Seagate“Backup Plus Portable”USB 3.0)分区如下:
    / dev / sda1 vfat(1gib,primary)“usbboot”
    / dev / sda2 - (938.5 gib,延长)
    / dev / sda5 ext4(128.0 gib)“/”
    /dev/sda6 swap (8.0 GiB) /dev/sda6“交换”
    /dev/sda7 /dev/sda7“如果”
    /dev/sda8 ext4 (502.0 GiB)注意,这没有遵循SD卡分区(至少对于“Noobs”映像),它似乎有“Recovery”作为主分区,在扩展分区中,有一个“/boot”分区,一个“Settings”分区,似乎没有被挂载,以及根分区。

    我已经在外部驱动器上使用了我的根文件系统启动了SD卡,现在没有问题。它比SD卡更快,更宽敞。“/ boot”仍然从“/ etc / fstab”中的SD卡安装,但其他一切都从外部硬盘驱动器安装。

    以下是我随后采取的步骤:
    我遵循文章的指示,做“APT”更新和全升级,编辑文件“/ etc / defaults / rpi-eeprom-update”,然后执行“rpi-eeprom-更新”,然后重新启动。
    更新后,我用“vcgencmd bootloader_version”检查了固件,但它报告了旧固件。
    我断开了外部高清并启动了32页的SD卡我最初安装的Raspbian上并再次运行相同的步骤。
    重启后,“vcgencmd”报告了预期的5月15日。
    我连接了USB驱动器;关于“/ media / daniel”下的HD上的所有备注的分区(替换您自己的用户名“达内尔”)。我将所有文件从当前的“/ boot”复制到HD的引导分区(/ dev / sda1),然后在/ dev / sda5上编辑“etc / fstab”on / dev / sda5以挂载/ dev / sda1为“/ boot”SD卡分区。
    我关闭Pi,关闭电源,取出SD卡。重新接通电源。
    它试图启动。监视器显示了一个文本控制台,告诉我它无法找到“恢复”并且“start.elf”不兼容,我应该从URL下载最新的URL。我关闭它并将我的常用启动SD放入(带有修改后的“cmdline.txt”文件以将root放在/ dev / sda5上)放入电路板上,为pi备份,它启动罚款。
    我去了树莓派的“下载”链接,并阅读了测试版引导加载程序的发布说明。它说“。“Elf”的文件很快就可以使用了。我没有看到任何新的东西。”Elf”文件。
    我检查过,并找到了另一篇文章,其中包括在“APT全升级”之后使用命令“RPI-UPDATE”,并在“RPI-升级”之后重新启动。
    我跑了“sudo rpi-更新”并确认我想做。花了一点时间,但它完成了没有错误。
    注意:因为我在/ dev / sda5上编辑了“/ etc / fstab”,当我运行“rpi-升级”时,它将新文件放在/ dev / sda1上的VFAT文件系统中,而不是在SD卡上pi实际上是启动的。这在硬盘上安装了正确的“start.elf”。我用SD卡重新启动,然后再次运行“RPI-EEPROM-更新”,只是安全。
    我用SD卡重新启动一次,并验证了“vcgencmd bootloader_version”报告了正确的引导固件。
    我关闭,删除了SD卡,然后重新打开了PI。
    关于未找到“恢复”的可怕消息仍然出现,但在几秒钟之后,屏幕消隐,然后通过了正常的启动(屏幕在右上角有一个闪烁的文本光标,然后是光标。消失,经过一段时间,将显示登录屏幕。)我现在有一个PI 4,没有SD的外部USB 3.0硬盘驱动。

    我希望这篇相当混乱和过于冗长的描述能对某些人有所帮助。
    回复
  • 夫人
    RobU说:
    任何想法如果这将使树莓派4成为一个可行的Plex媒体服务器?
    它已经是之前。这个最新的更新不会产生巨大的差异,它只是允许USB驱动器完全更换SD卡。以前,SD卡仍然需要引导文件,并且根文件系统可以位于USB驱动器上。

    驱动器中文件的访问速度肯定足够快。用作Plex服务器的限制因素是是否需要在PI上进行任何转码。如果它会挣扎。
    回复
  • Bears695
    如上所述的回复,如果将NOOBS映像闪烁到USB或SSD驱动器,则您的PI将无法启动。您需要使用普通版Raspbian。Noobs映像在引导分区之前具有恢复分区,防止启动。PI成像仪具有普通图像
    回复
  • cwoodhouse
    CS_J.说:
    这些指令导致了一个错误,也导致我的pi停止从SD卡引导。
    当删除SD卡后重新启动时,我在引导加载程序屏幕上得到一个错误提示:
    无效的ELF头:'start_x.elf'未找到固件

    我也犯了同样的错误。

    使用这个链接中的方法:https://www.raspberrypi.org/documentation/hardware/raspberrypi/bcm2711_bootloader_config.md
    基本上,代替从GitHub下载,使用RPI-更新在SD上更新引导扇区,然后将* .dat和*。从SD卡中复制到SSD上的\ Boot目录中(我在Windows环境中完成了)。
    回复