
前阵子帮人救一台 Jetson Nano对方一上来就说“开机黑屏HDMI完全没信号是不是废了”。结果是台放在角落里吃灰的板子最后二十分钟就救回来了——连烧录都没做问题出在供电跳帽上。这几年做边缘设备调试我接到的求助里出现频率最高的就是 Jetson Nano 开机黑屏绿灯亮风扇偶尔转两下屏幕永远无信号。这类问题看着吓人但九成不是真正的“变砖”。这篇就把“开机黑屏”这件事从现象到底层原因完整拆开按照供电、HDMI、系统、恢复模式四个层次一步步走把每一步怎么判断、怎么修、怎么预防写透。无论你是第一次接触 Nano 的新手还是已经拿它跑过 YOLOv5 部署的老手都能在里面找到对应的排查路径。1. 先别急着刷机把“黑屏”拆成四类再动手很多人碰到黑屏的第一个反应就是“重烧系统”。说实话这个操作又慢又不解决硬件层面的问题而且最容易把原本还能救的板子搞得更糟。我在动手前通常会先把黑屏现象分成四类对着症状再决定下一步做什么。表现电源指示灯系统是否可能还活着高概率原因上电完全没反应指示灯不亮灭否适配器、DC线、供电跳帽指示灯亮HDMI一直显示无信号亮不一定供电不足、HDMI握手失败、SD卡损坏开机有信号但画面全黑或卡在Logo亮是系统文件损坏、分辨率/内核参数不对跑着跑着突然黑屏且无法唤醒亮否供电瞬时跌落、过热、GPU挂死1.1 四类黑屏的表现差异第一类最好判断电源指示灯完全不亮问题几乎全在供电链路和系统无关。第二类最迷惑人灯亮着、风扇有时还转但显示器一直“无信号”这类要怀疑供电、HDMI和SD卡三个方向。第三类反而最“温柔”说明系统多半已经跑起来了只是显示输出层面出了问题。第四类是最让人崩溃的你正在跑推理任务屏幕突然一黑按键盘鼠标都没反应甚至过几秒主板直接重启。这里有个经验看到灯亮、风扇转先别急着判断“系统活着”。Jetson Nano 的风扇是靠系统 PWM 控制转停的有些镜像默认负载低时风扇不转所以你完全不能用风扇状态判断系统死活。判断系统是否活着最可靠的是看串口日志或者网络指示灯在插网线时有没有规律闪烁。1.2 排查顺序为什么是“供电优先于一切”安排排查顺序不是随便排的背后是概率排序。Jetson Nano 是典型的多外设、大电流、低电压设备一个 5V/4A 的官方电源在实际使用中只要线材稍差、接触不良或跳帽位置不对就可能出现各种诡异现象。而 SD 卡是第二常见原因很多第三方的“高速卡”其实是扩容卡或随机写入性能极差。HDMI 反而更多是显示器和显示参数的问题。所以我推荐顺序永远是先查电再换卡最后才刷机。多数“黑屏”修到最后会发现系统压根没坏。2. 供电排查Nano 的“假死”多半是饿出来的2.1 官方供电要求与 J48 跳帽Jetson Nano Developer Kit B01 的板子上有两个供电入口5V/4A 的 DC 圆头和 micro-USB 口。很多教程说 micro-USB 也能供电实际用下来这句话有前提——如果不接任何外设、只跑轻量命令行那 5V/2A 勉强够但只要插了 USB 摄像头、网卡或者开始跑 YOLOv5 这种 GPU 负载micro-USB 的供电能力在瞬态大电流下立刻被打穿轻则黑屏重则直接重启。另外板载一个 J48 跳帽用来告诉板子“你现在用的是哪种供电方式”。使用 DC 圆头供电时跳帽要套上使用 micro-USB 供电时跳帽必须取下。很多人从别的项目里拆来 Nano跳帽位置反了一上电就黑屏误以为自己把板子玩坏了。我遇到的那个案例就是这么回事跳帽在 micro-USB 位置插 DC 电源供电整块板子像是“死”的。2.2 用万用表量核心电压别再瞎猜判断是不是供电不足最直接的办法不是换电源试因为手上未必有第二个电源。用一块万用表把挡位拨到直流电压档红表笔点 40Pin 排针的 Pin 2 或 Pin 4这两个引脚是 5V 供电脚黑表笔点 Pin 6 地线。通电后先空载量一次再在启动过程中量一次。如果启动瞬间电压掉到 4.75V 以下或者空载 4.98V、一启动就跌到 4.6V 再慢慢爬回来那基本锁定是电源纹波或压降问题。这种时候换一个能稳定输出 5V/4A 的适配器黑屏通常立刻消失。注意量的时候表笔接触要稳别让表笔短路了 5V 和 3.3V 引脚那是真会出问题的。2.3 线材与适配器的替换经验DC 圆头电源尽量选原装的或线径粗一点的USB-C 线材选带 Emarker 且线径 20AWG 以上的便宜细线在大电流下压降非常可观。我实测过一根看起来很新的 USB-C 线空载 5.1V接了 Nano 后只有 4.5V——这种线哪怕电源再好也白搭。还有一个细节不要用电脑 USB 口直接给 Nano 供电电脑口输出电流普遍在 500mA-900mA 之间远不够用。电脑 USB 口可以给 Orin Nano 这类低功耗版本救急但给经典 Nano 供电基本是找罪受。提示修黑屏的第一分钟内先确认 J48 跳帽和供电口是否匹配再排查别的。这个动作两秒钟能省掉后面所有折腾。3. HDMI 无信号排查线材、握手与显示参数逐项过3.1 先做最笨但有效的事排除了供电问题之后如果 HDMI 依然无信号先做三件最基础的事。第一换一个已知正常的显示器或电视电视对 HDMI 握手信号通常比显示器更宽容很多“Nano 黑屏”换了电视就能正常显示。第二确认 HDMI 线插紧、接头没有弯针经典的 Jetson Nano 开发板用的是标准 HDMI 口而 Jetson Orin Nano 用的是 Micro-HDMI线材类型不一样别硬插。第三在给 Nano 上电前先把显示器分辨率调到 1080P/60Hz——别直接停留在 4K 最高刷新率上。为什么这一步有效因为 HDMI 不是插上就能出画面的源端和显示端要通过 EDID 做握手把显示器的分辨率、刷新率、色彩空间等参数协商好。有些显示器的 EDID 信息里包含了一段 Nano 内核不认识的模式握手失败后源端就认为自己没有连接设备显示器自然一直显示“无信号”。强制用 1080P/60Hz 这类最保守的参数去协商能绕过大部分握手冲突。3.2 系统活着但画面全黑用盲操作改分辨率如果 HDMI 线没问题风扇也转起来了网口指示灯有规律闪动但画面就是全黑那大概率是系统起来了、显示输出参数不对。这时不用急着断电试试盲操作按 CtrlAltT 打开终端虽然屏幕全黑但键盘输入仍然会被桌面接收。在终端里先敲xrandr看到输出之后找到 HDMI 对应的输出名常见的是 HDMI-0 或 HDMI-1然后强制切到低分辨率xrandr --output HDMI-0 --mode 1920x1080 --rate 60 xrandr --output HDMI-0 --mode 1280x720 --rate 60如果连分辨率都不知道就一条一条试。盲操作时把命令先写到一个文本文件里逐行复制粘贴避免手误。等屏幕恢复后再到“显示设置”里保存当前分辨率。这个方法解决过不少“桌面黑屏但系统活着”的情况。3.3 开机前强制指定显示参数修改 extlinux.conf如果系统能启动、但桌面黑屏且 xrandr 盲操作也没反应那你可以在另一台电脑上改 SD 卡启动分区里的内核引导参数强制指定 HDMI 输出。把 SD 卡从 Nano 上拔下来插到读卡器里在 PC 上找到第一个 FAT 小分区里面有一个extlinux/extlinux.conf文件它存放着 U-Boot 传给内核的启动参数。修改前先备份一份sudo cp extlinux/extlinux.conf extlinux/extlinux.conf.bak找到以APPEND开头的那一行通常长这样APPEND ${cbootargs} quiet ...把quiet删掉然后在行尾追加显示参数APPEND ${cbootargs} videoHDMI-A-1:1920x108060 fbconmap:0videoHDMI-A-1:1920x108060是强制指定 HDMI 输出分辨率和刷新率fbconmap:0是让内核 framebuffer 控制台输出到 HDMI 接口。实际连接器名会根据内核版本略有差异常见的是HDMI-A-1如果你不确定先用串口控制台看内核日志里实际枚举出来的连接器名。改完之后保存把 SD 卡放回 Nano 启动启动过程会在屏幕上直接打印内核日志能看到系统到底卡在哪一步。3.4 串口控制台是最后的“眼睛”当 HDMI 完全无信号、桌面也进不去、你又不想一遍遍猜测系统状态时串口控制台是最高效的手段。Jetson Nano 的 40Pin 排针上引出了 UART0Pin 6 是地Pin 8 是 TXDPin 10 是 RXD。用一个 USB 转 TTL 模块连接模块的 RX 接 Nano 的 TXD模块的 TX 接 Nano 的 RXD地接 Pin 6然后接电脑。在电脑上打开串口终端参数设置 115200、8N1screen /dev/ttyUSB0 115200通电后串口会实时打印 Bootloader 日志和内核启动日志。如果输出停留在 U-Boot 阶段就不再前进那是引导层问题如果内核日志出现 panic 或反复重启那是系统层问题如果串口完全无输出检查接线和波特率。有了串口日志你就能精确区分“板子坏了”还是“系统坏了”而不是靠猜。提示串口接线时注意模块的 TX 接目标板 RX、RX 接目标板 TX还要共地。接错轻则没有日志个别质量差的模块还可能损坏接口别随便带电插拔。4. 系统层救法重置登录密码与重烧 SD 卡系统4.1 只是忘了密码挂载 SD 卡直接改 shadow很多人以为登录密码忘了只能重新刷系统其实 Jetson Nano 跑的是 Ubuntu完全可以在另一台设备上直接改。把 SD 卡拔下来插到 Linux 电脑上找到第二个 ext4 根分区并挂载sudo fdisk -l sudo mount /dev/sdX1 /mnt其中 /dev/sdX1 是实际根分区盘符视读卡器和分区数量而定。然后编辑挂载目录下的etc/shadow文件sudo vim /mnt/etc/shadow找到需要重置密码的用户名那一行格式是username:$6$hash值$...:18500:0:99999:7:::把第一个冒号和第二个冒号之间的内容全部清空注意保留冒号本身也就是变成username::18500:0:99999:7:::保存后拔出 SD 卡放回 Nano 启动该用户就能免密登录登录后立刻执行passwd设置新密码。这个办法也可以用来解决设备交接给别人但密码丢失的情况完全不需要重刷系统。注意修改 shadow 文件时一定要在 root 权限下操作改完检查一下权限位别把 shadow 的权限改成 777否则系统启动会报错。4.2 干净重烧 SD 卡的正确姿势如果系统文件损坏严重、连登录都进不去或者串口日志显示根文件系统挂载失败那就回到最干净的方案重烧 SD 卡镜像。先去下载适配 Jetson Nano 的 JetPack 镜像推荐使用 4.6.x 版本对应 L4T R32.7.x这是官方为经典 Nano 维护的最后一版较稳定的系统。镜像是一个.img文件下载完成后用 balenaEtcher 写入 SD 卡烧录完成最好点一次校验。Linux 下用 dd 也可以sudo dd ifjetson-nano-jp46.img of/dev/sdX bs4M statusprogress convfsync写入完成后把 SD 卡插入 Nano接好电源开机第一次开机时间会比较久千万别因为等不及就断电。亲眼看到桌面或串口出现登录提示才算完成。有个经验很多人烧录完直接拔掉 SD 卡去插别的设备或者用同一张卡反复烧写几十次卡的分区表容易出问题。如果 Etcher 提示写入成功但 Nano 依然不启动换一张卡重写一次往往就解决了。4.3 选卡与避坑低速卡和扩容卡最坑SD 卡的坑我踩过很多次。Nano 对 SD 卡的最低要求是 Class 10 / UHS-I A1但实际使用中随机写入性能比持续读写速度更重要。有些廉价“高速卡”持续读能上 100MB/s随机写入只有几 MB/s系统经常卡顿甚至黑屏。另一些是扩容卡标称 128GB 实际只有 16GB写到一半数据损坏表现就是“开机黑屏”或者“用着用着系统突然丢了”。收到新卡后建议先用 H2testw 或 f3 工具测试一遍真实容量再投入使用。我用下来的经验是主流品牌的 A1 卡、32GB-128GB 容量稳定性都还可以那些杂牌卡就算标称再高也建议直接扔掉一张卡能毁掉你一个下午的调试时间。5. 真正的“救砖”强制恢复模式与 USB 整体重刷5.1 什么情况才算“真砖”SD 卡重刷无效、换了 N 张卡还是黑屏、串口输出停在 U-Boot 阶段不动弹这时候问题就不在 SD 卡上了而是模块里的引导程序QSPI Flash可能被折腾坏了或者你之前在 NVMe 启动配置上做了某些危险操作。这时需要进入强制恢复模式通过 host 电脑的 USB 接口把 bootloader 和系统整体写回去。不过先给你吃个定心丸Jetson Nano 几乎没有真正意义上的“全砖”概念。只要 SoC 没烧、没进水强制恢复模式总能救回来。Android 手机那种变砖后联机都没反应的情况在 Nano 上基本不会出现所以看到“救砖”两个字不用慌。5.2 进入强制恢复模式的完整动作B01 开发板上通常有两个小按钮一个标着 Reset另一个标着 Force Recovery。进入恢复模式的操作口诀是“按住 REC点按 Reset保持两到三秒再松开”。具体这样操作先断电用 micro-USB 线连接开发板上的 micro-USB 口和一台 Linux 主机。按住 Force Recovery 按钮不放。点按一下 Reset 按钮并松开。继续按住 Force Recovery 等待 2~3 秒然后松开。通电如果还没通等待启动。在宿主机上执行lsusb如果能看到 NVIDIA 的设备描述或者设备 ID 类似0955:7020就说明已经进入恢复模式。如果识别不到多半是 micro-USB 线不支持数据、接口接触不良或者宿主机缺少驱动。换一根好的数据线再试一遍。5.3 用 SDK Manager 整体重刷进入恢复模式之后最省事的方法是安装 NVIDIA SDK Manager它会自动下载对应版本的 Bootloader、系统镜像和 JetPack 组件一步到位。SDK Manager 需要运行在 Ubuntu 主机上安装时注意要用sudo权限启动否则可能识别不到 USB 设备。在 SDK Manager 里选择对应的开发套件型号Jetson Nano Developer Kit然后选择要安装的 JetPack 4.6.x 版本。烧写开始前开发板上需要先插好一张至少 32GB 的 microSD 卡因为 Nano 本机没有 eMMCSDK Manager 最终会把系统写到这张卡上。整个过程通常要 20 到 40 分钟取决于镜像下载速度和 SD 卡写入速度。烧写完成后开发板会自动重启正常情况下就能看到桌面。SDK Manager 识别不到设备是最常见的问题优先排查 USB 线和权限。另外宿主机磁盘空间不足也可能导致烧写中途失败SDK Manager 默认会把几个 GB 的组件缓存到~/nvidia目录空间不够时会卡在看似毫无规律的地方。5.4 没有 SDK Manager用 L4T BSP 命令行刷写如果你不习惯图形界面或者在服务器环境工作可以直接用 L4T Driver Package 和 Sample Root Filesystem 手动刷写。下载并解压 BSP 后把 rootfs 合并进Linux_for_Targets目录通常需要执行apply_binaries.sh脚本。设备进入恢复模式后执行烧写命令sudo ./flash.sh jetson-nano-devkit mmcblk0p1不同的 JetPack 版本 target 名称可能略有差异拿不准时先跑./flash.sh -h查看支持的板卡列表。命令行刷写的坑在于参数写错会直接失败或写入错误分区所以第一次操作尽量保持默认参数不要自己加稀奇古怪的选项。刷新过程中如果卡住不动检查 USB 线质量和宿主机磁盘空间和 SDK Manager 的原理一样。6. 救活之后验证、温控与备份的日常保命习惯6.1 救活后的三件套验证版本、检查分区、更新系统系统重新跑起来之后第一件事是确认版本对不对。终端里跑一句jetson_release可以快速看到 JetPack 版本、L4T 版本和 CUDA 版本。接着检查根分区大小df -h有些镜像写入 SD 卡后根分区并没有自动扩展到整张卡如果发现容量明显偏小关机断电把 SD 卡插到 PC 上用 gparted 扩容根分区再放回 Nano 启动。这一步不是必须但长期不处理系统盘早晚会被日志和模型文件塞满导致再次出现诡异黑屏。网络确认正常后执行sudo apt update sudo apt upgrade把系统补丁打上。更新过程中千万别断电否则又回到解放前。6.2 温控别忽略Nano 热到一定程度会“黑屏假死”很多人救活之后觉得终于完事了结果跑了半天 GPU 推理任务又黑屏这次大概率是过热。Jetson Nano 的被动散热片应付基础负载还行但跑 YOLOv5 这种连续推理温度很容易冲到 80℃ 以上内核触发强降频之后系统会变得卡顿极端情况下直接显示输出停止、黑屏假死。接一个 5V 风扇到板载风扇座或者用小夹子给散热片加个主动风流都能明显改善。用tegrastats命令可以实时看温度和功率数据。长时间高于 80℃ 就必须处理散热了别再硬扛。另外定期给散热片清灰灰多了之后散热性能下降Nano 黑屏的频率会肉眼可见地上升。6.3 dd 整卡备份性价比最高的保险系统重新调好之后最值得花时间做的一件事是把整张 SD 卡做成镜像备份。以后不管是误删文件、误改配置还是 SD 卡老化直接写回备份就能恢复成本只有十分钟。把要备份的 SD 卡插到 Linux 电脑的读卡器上先确认盘符lsblk假设盘符是 /dev/sdX执行整卡备份sudo dd if/dev/sdX ofnano-backup.img bs4M statusprogress convfsync恢复时用 Etcher 把这份镜像写回另一张 SD 卡即可。注意备份用整卡不要只备份某个分区因为整卡包含分区表和 bootloader恢复起来才最完整。备份文件建议放到大容量机械盘或 NAS 上别和源码挤在同一张容易坏的小磁盘里。6.4 日常防坑清单最后整理一份我自己每次给客户或朋友交付 Nano 时会附上的防坑清单供电固定用 5V/4A DC 适配器J48 跳帽和供电口保持一致micro-USB 供电只适合应急。关机用sudo shutdown等系统完全停止再断电高频乱拔电源是 SD 卡损坏的主要元凶。SD 卡用口碑好的 A1 卡杂牌卡和扩容卡直接扔发现读写速度异常先测容量。显示器开机之前先切到对应 HDMI 输入源遇到无信号先换显示设备再检查板子。跑高负载任务前确认供电、散热和风扇状态跑模型时不建议用电池供电方案。定期做整卡 dd 备份救砖成本从一小时降到十分钟。我自己的习惯是桌面常备一张 32GB 的小卡烧好一份干净的 JetPack 镜像专门当救援启动卡用。遇到机器黑屏第一件事永远是换一张已知正常的卡试启动。绝大多数找我“救砖”的机器最后查出来都是供电线材或者 SD 卡问题真正需要走强制恢复模式的不到一成。就算真走到那一步只要 SoC 没坏救回来的概率依然非常高。按这条链路从外到内排查你也能在十分钟内把“黑屏”从灾难变成小问题。