「 小白玩树莓派系列」Raspberry Pi 4 Ubuntu USB 大容量存储启动指南
liuian 2025-09-01 08:15 5 浏览
Canonical 对 Raspberry Pi 的官方支持已经走过了漫长的道路。我们现在可以在 Pi 安装官方支持的 Ubuntu!在我之前的 Pi 上的 Ubuntu 18.04指南中,Raspberry Pi 尚未得到官方支持,老实说,体验非常糟糕。
幸运的是,当前的Ubuntu 22.04 LTS 版本已通过Raspberry Pi 的官方认证。这与 Ubuntu 的完整 64 位用户空间/系统环境相结合,使您可以充分利用 8 GB Pi 的内存而没有每个进程 3GB 内存限制(如果您正在执行诸如运行 Minecraft 服务器之类的事情并且想要分配几乎所有8 GB)意味着现在是让 Ubuntu 试用 Pi 的最佳时机。
本指南更进一步,向您展示如何让 Ubuntu 22.04 与SSD 一起工作。让我们开始吧!
先决条件
验证电源尺寸(强烈推荐 3.5A)
检查您的 Raspberry Pi 的电源大小,并确保它提供至少 3.5A 的电流。树莓派有很多只有 3.0A 的 USB C 适配器。这些通常可以正常工作,直到您插入 Pi 获取电力的 SSD 之类的东西,并且没有什么可提供的。
大多数 SSD 都非常节能,但 HDD 的功耗要高得多。老一代的 SSD 也比新的 SSD 使用更多的功率。如果您使用的是较旧的驱动器或您知道耗电的驱动器,则需要特别注意拥有容量充足的优质电源。
使用3.5A 电源*或有源 USB 集线器*将确保您的驱动器获得足够的电力,而不会影响 Pi 的稳定性。
材料
- · 树莓派4B 4G版
- · sd卡 - 32G
- · sd卡读卡器
- · SSD - 128G
- · 移动硬盘盒
- · type C电源
- · USB键盘
- · micro-hdmi to hdmi转接头
- · hdmi显示器
树莓派启用USB启动
将树莓派插入sd卡,开机进入raspberry OS,在终端中输入以下命令:
sudo raspi-config
依次选择Advanced Options - Boot Order,然后在此启用USB启动即可。
获取最新的 Raspbian 和更新
要更新您的引导加载程序/固件,您应该在 SD 卡上使用Raspbian 。目前,第三方操作系统对使用新 Raspberry Pi 4 的固件或引导加载程序执行任何操作的支持非常有限/不存在。设置启动模式后,您可以稍后使用第三方操作系统,但要实际进行这些更改,我们将使用官方 Raspbian。
首先确保您拥有 Pi 的绝对最新更新和固件。要将所有软件包和固件升级到最新版本,请使用以下命令:
sudo apt update && sudo apt full-upgrade -y
更新完成后,使用sudo reboot命令重新启动您的 Pi,以应用最新的固件/内核更新。
验证 EEPROM 引导加载程序是最新的
我们可以使用以下命令检查您的 Pi 的引导加载程序固件是否是最新的:
sudo rpi-eeprom-update
如果您的 Raspbian *非常*过时,您可能没有此实用程序,可以使用以下方法安装它:
sudo apt install rpi-eeprom
如果您不是最新的,则 rpi-eeprom-update 的输出如下所示:
如果它有任何更新可用,则可以通过在上一个命令的末尾添加“-a”来手动安装它们,如下所示:
sudo rpi-eeprom-update -a
更新完成安装后重新启动你的 Pi,因为在重新启动后才会应用固件更新。现在,如果您运行 rpi-eeprom-update 再次检查更新,它应该说你是最新的和最新的!
要切换到稳定通道,我们将编辑文件
/etc/default/rpi-eeprom-update:
sudo nano /etc/default/rpi-eeprom-update
将 FIRMWARE_RELEASE_STATUS=”critical” 行更改为:
FIRMWARE_RELEASE_STATUS="stable"
现在您可以运行 sudo rpi-eeprom-update 并且您应该会看到可用的新更新。
在 USB 存储设备上安装 Ubuntu
新的官方树莓派镜像工具真的很不错。它可在 Windows、Linux 和 MacOS 上使用,并且下载小而快。它也适用于大多数 USB 大容量存储设备,如 SSD。由于现在正式支持 Ubuntu,因此该工具中也提供了映像本身,从而省去了查找和下载正确映像文件的麻烦。
建议 Pi 4 使用 64 位图像以获得更好的性能,但 32 位图像也可以。
如果你想以传统方式做事,你可以从 Ubuntu 主站点下载图像并使用 Etcher / dd / Win32diskimager / 你的首选工具自己编写,然后跳到下一节。建议使用 Raspberry Pi Imager 创建媒体,除非您在使用该实用程序时遇到问题或将其用作故障排除步骤。
下载该工具后,以administrator/sudo 身份运行它以避免权限错误。从命令行运行该实用程序通常是 sudo rpi-imager。你会看到这个屏幕:
接下来单击“选择操作系统”按钮:
选择 Ubuntu 选项,您将获得不同的风格/架构选择。有 64 位 (arm64) 和 32 位 (armhf) 的各种形式的 Ubuntu Desktop、Ubuntu Server 和 Ubuntu Core。
如果您想使用开箱即用的 Ubuntu 桌面版,则需要使用 64 位 Ubuntu 22.04 映像。或者可以选择“Server”版本并稍后安装 Ubuntu 的桌面环境:
sudo apt install ubuntu-desktop
一旦您选择了您想要的版本,然后选择“选择 SD 卡”选项并写入图像。尽管不是 SD 卡,但我的 USB 大容量存储设备还是出现了。
我相信你们中的一些人会设法找到可能不会出现在这个工具中的不寻常的设备和配置。它似乎没有显示物理安装在您的机器中的“固定驱动器”。无论它是否引起头痛,您都可能需要以老式的方式进行操作,并从 Ubuntu 主站点下载图像,然后使用您最喜欢的映像工具编写图像。
修改 Ubuntu 以进行 USB 引导
在从它启动之前,我们需要对刚刚创建的 Ubuntu 驱动器进行一些更改。确保您的 Pi 已打开电源并启动到 Raspbian,然后插入新映像的 Ubuntu 驱动器。我们将使用 Pi 进行更改。
查找并挂载存储设备
首先让我们使用以下命令找到您的存储设备:
lsblk
这将显示连接到系统的所有存储设备:
您的 SD 卡将始终以 mmcblk 开头,因此您可以排除它。这使得 sda 成为系统上唯一的其他磁盘设备。这对你们大多数人来说都是一样的,但取决于你使用的驱动器和存储适配器的类型,这可能会有所不同。在这些说明中,你可以用你的任何东西代替 /dev/sda。如果你的是 sdb,请使用 /dev/sdb。如果是 nvme0,则使用 /dev/nvme0 等。
在“MOUNTPOINT”列下的输出中,您可以看到它是空白的。这意味着驱动器未安装在我的系统上。我的 mmcblk0p1 挂载点不是空白,而是“/boot”作为非空白挂载点的示例。如果您使用的是完整的“Desktop”版本的 Raspbian,它可能会自动安装您的驱动器并在您的桌面上创建 2 个快捷方式,将您带到文件。如果您的挂载点不是空白并且有类似 /media/pi/writable 的内容,请继续使用以下命令卸载它们,替换为您的驱动器列出的挂载点:
sudo umount /media/pi/writable
sudo umount /media/pi/system-boot
现在我们将创建两个挂载点并挂载 Ubuntu 驱动器。使用这些命令替换您自己的驱动器,它不是 /dev/sda:
sudo mkdir /mnt/boot
sudo mkdir /mnt/writable
sudo mount /dev/sda1 /mnt/boot
sudo mount /dev/sda2 /mnt/writable
正确安装所有内容后,您的lsblk命令的输出应该如下所示,并且现在填充了 mountpoint 字段:
修改挂载的分区 –自动脚本
如果您只想让您的 Ubuntu 分区可启动,用一个自动脚本来执行此操作。只要您将分区挂载为 /mnt/boot 和 /mnt/writable,脚本就会对 Ubuntu 22.04 进行必要的更改以启动!该脚本的源代码位于
https://github.com/TheRemote/Ubuntu-Server-raspi4-unofficial/blob/master/BootFix.sh
这是运行脚本的单行代码:
sudo curl https://raw.githubusercontent.com/TheRemote/Ubuntu-Server-raspi4-unofficial/master/BootFix.sh | sudo bash
您也可以下载它以供检查(例如 nano BootFix.sh 或如果您使用的是 Desktop Raspbian,则在文本编辑器中打开它):
curl https://raw.githubusercontent.com/TheRemote/Ubuntu-Server-raspi4-unofficial/master/BootFix.sh -O BootFix.sh
chmod +x BootFix.sh
nano BootFix.sh
要执行脚本,请使用:
sudo ./BootFix.sh
优化SSD在树莓派上的读写速度(可选)
修复(某些)USB 适配器问题,我们需要找到适配器的设备 ID 字符串,然后在 cmdline.txt 中添加一个条目,告诉内核在启动时应用它们。
我们首先需要获取适配器 ID。我们将使用 sudo lsusb 命令:
在某些情况下,SSD在树莓派上的读写速度很不理想,具体原因可查看参考资料第三条,在此只给出修改方法。 首先需要获取SSD的idVendor和idProduct,在终端输入命令:
sudo dmesg | grep usb
然后在结果中搜索关键字idVendor即可找到SSD的idVendor和idProduct,我这里是174c和55aa。
首次启动
如果一切顺利,系统应该会启动进入 Ubuntu 的登录屏幕!开机后初始账户密码是:
Username: ubuntu
Password: ubuntu
在第一次登录之前,您将被迫选择一个新密码。完成后,您将完全登录!
修补完成后,您闪亮的新 Ubuntu 22.04 系统就可以使用了!
相关推荐
- 小程序微信登录反映慢原来因为login和getUserProfile关系造成的
-
在我开发算盘记账APP小程序的过程中,遇到了UNIAPP开发微信小程序微信登录反映特别慢的问题。经反复查找原因,原来是因为微信登录界面代码的uni.login中包含了uni.getUserProfil...
- uniapp主题切换功能的方式终结篇(全平台兼容)
-
前面我已经给大家介绍了两种主题切换的方式,每种方式各有自己的优势与缺点,例如“scss变量+vuex”方式兼容好但不好维护与扩展,“scss变量+require”方式好维护但兼容不好,还不清楚的可点下...
- UNI又来秀了 新功能不懂玩 这份说明书带你玩遍所有潮科技
-
当您在车辆仪表盘上看到如下图标时是否一脸迷茫?是否手忙脚乱翻用户手册找不到答案?近段时间,有不少车主反馈长安UNI-T很多功能太新潮了,自己有点跟不上时代的节奏了……莫慌,本期推出长安UNI-T“AR...
- 一款商用品质的开源商城系统(Yii2+Vue2.0+uniapp)
-
一、项目简介这是一套很成熟的开源商城系统【开店星】,之前推过一次,后台感兴趣的还不少,今天再来详细介绍一下:基于Yii2+Vue2.0+uniapp框架研发,代码质量堪称商用品质,下载安装无门槛,UI...
- 惊了,这个国产软件居然这么牛,比 uniapp 还全能
-
最近跟同事闲聊,大家都在吐槽一个问题:!App是越做越像平台了,但开发却越做越痛苦了。你想加个活动页,产品说今晚上线;你想做个业务扩展,运营说要不你再写个低代码工具;你想适配鸿蒙,领导说最好做个...
- JeecgUniapp 全新版本 3.0 发布,采用 uniapp+vue3 最新架构
-
项目介绍JeecgUniapp是JeecgBoot的配套APP移动框架,项目采用Uniapp、Vue3.0、Vite、Wot-design-uni、TypeScript等最新技术栈,包括...
- AIGC+UniApp:自动生成跨平台代码实践
-
一、颠覆传统的开发革命2024年GitHub统计显示,采用AIGC辅助的UniApp项目平均开发效率提升217%。我们在某APP项目中,用ChatGPT-4o生成基础框架代码,原本需要3人日的登录模块...
- 长安引力UNI-K iDD OTA无法升级,还算问题吗?车主小题大做?
-
OTA无法升级,在我看来都不算问题。因为它本来就是锦上添花的配置!并不是雪中送炭的配置!车还可以正常开,导航用手机就可以,听歌连手机蓝牙就可以。但是要说OTA这个配置,最早是特斯拉干的。2012年特斯...
- uni-app 多环境部署方案_开发uniapp的环境配置
-
前言最近几周都在处理公司的移动业务,而为在后期能统一多端,解放自己,迎合公司的技术栈;选用了uni-app来开发。开发前期重新对公司移动业务做深入了解,重构大部分业务逻辑,也抽离出基础组件;但实际...
- 3分钟拥有一个属于自己的博客网站「腾讯云篇」
-
一、前言想要搭建一个让全世界的人都可以访问的网站,我们最少需要准备三样东西:①服务器腾讯云服务器首年低至40元/年,「链接」阿里云服务器新用户可以免费使用6个月,新人特惠_云产品推荐_云服务器-阿里云...
- 3月18号分享一个最新Cursor无限续杯的方法,亲测有效~
-
1、执行脚本MacOS&Linux系统curl-fsSLhttps://aizaozao.com/accelerate.php/https://raw.githubusercontent.co...
- 什么是IPFS,如何搭建IPFS节点_ipfs简单理解
-
IPFS是一个分布式系统,用于存储和访问文件、网站、应用程序和数据。星际文件系统(InterPlanetaryFileSystem).IPFS是一个分布式的web,点到点超媒体协议.可以...
- Claude Code:完爆 Cursor 的编程体验
-
前言最近,听说ClaudeCode这款代码辅助编写产品很强,有人把Cursor比作实习生水平,ClaudeCode比作高级工程师水平。起初不以为意,因为特殊原因,Claude无法直接访问。然而,...
- 10分钟搞定gitlab-ci自动化部署_gitlab ci 自动化部署
-
gitlab-ci是持续集成工具/自动化部署工具,类似jenkins。持续集成是将代码集成到共享存储库并尽可能早地自动构建/测试每个更改的实践-通常一天几次。概述在编码完成时都会进行打包发布...
- 「 小白玩树莓派系列」Raspberry Pi 4 Ubuntu USB 大容量存储启动指南
-
Canonical对RaspberryPi的官方支持已经走过了漫长的道路。我们现在可以在Pi安装官方支持的Ubuntu!在我之前的Pi上的Ubuntu18.04指南中,Raspb...
- 一周热门
-
-
【验证码逆向专栏】vaptcha 手势验证码逆向分析
-
Python实现人事自动打卡,再也不会被批评
-
Psutil + Flask + Pyecharts + Bootstrap 开发动态可视化系统监控
-
一个解决支持HTML/CSS/JS网页转PDF(高质量)的终极解决方案
-
再见Swagger UI 国人开源了一款超好用的 API 文档生成框架,真香
-
网页转成pdf文件的经验分享 网页转成pdf文件的经验分享怎么弄
-
C++ std::vector 简介
-
飞牛OS入门安装遇到问题,如何解决?
-
系统C盘清理:微信PC端文件清理,扩大C盘可用空间步骤
-
10款高性能NAS丨双十一必看,轻松搞定虚拟机、Docker、软路由
-
- 最近发表
-
- 小程序微信登录反映慢原来因为login和getUserProfile关系造成的
- uniapp主题切换功能的方式终结篇(全平台兼容)
- UNI又来秀了 新功能不懂玩 这份说明书带你玩遍所有潮科技
- 一款商用品质的开源商城系统(Yii2+Vue2.0+uniapp)
- 惊了,这个国产软件居然这么牛,比 uniapp 还全能
- JeecgUniapp 全新版本 3.0 发布,采用 uniapp+vue3 最新架构
- AIGC+UniApp:自动生成跨平台代码实践
- 长安引力UNI-K iDD OTA无法升级,还算问题吗?车主小题大做?
- uni-app 多环境部署方案_开发uniapp的环境配置
- 3分钟拥有一个属于自己的博客网站「腾讯云篇」
- 标签列表
-
- python判断字典是否为空 (50)
- crontab每周一执行 (48)
- aes和des区别 (43)
- bash脚本和shell脚本的区别 (35)
- canvas库 (33)
- dataframe筛选满足条件的行 (35)
- gitlab日志 (33)
- lua xpcall (36)
- blob转json (33)
- python判断是否在列表中 (34)
- python html转pdf (36)
- 安装指定版本npm (37)
- idea搜索jar包内容 (33)
- css鼠标悬停出现隐藏的文字 (34)
- linux nacos启动命令 (33)
- gitlab 日志 (36)
- adb pull (37)
- python判断元素在不在列表里 (34)
- python 字典删除元素 (34)
- vscode切换git分支 (35)
- python bytes转16进制 (35)
- grep前后几行 (34)
- hashmap转list (35)
- c++ 字符串查找 (35)
- mysql刷新权限 (34)