理解——**拆机焊串口确实麻烦**。 下面给你 **“不动硬件”** 的两种替代方案,**90% 情况能绕过 U-Boot 命令行**: --- ### ✅ 方案 A:直接刷“不抢 USB 启动”的 U-Boot 镜像(最快) #### 1. 确认当前正在使用的 U-Boot 文件 ```bash ls -l /boot/u-boot* | grep -v sd ``` 通常 **S905L3B** 盒子最稳的是 `u-boot-p212.bin` 或 `u-boot-s905x-s912.bin`,它们默认 **先 mmc → 后 usb**。 #### 2. 把“ mmc 优先”的 U-Boot 刷进 eMMC ```bash # 先备份,有备无患 dd if=/dev/mmcblk2 of=/boot/uboot_backup.bin bs=1M count=4 # 刷入 mmc 优先的镜像(以 p212 为例) dd if=/boot/u-boot-p212.bin of=/dev/mmcblk2 conv=fsync bs=512 seek=1 ``` > 只需 **4 秒**,重启即可;**USB 移动硬盘再插也不会抢先启动**。 --- ### ✅ 方案 B:系统内改 U-Boot 环境变量(无串口也能做) #### 1. 装工具 ```bash opkg update opkg install uboot-envtools ``` #### 2. 告诉工具去哪找环境变量 新建文件 `/etc/fw_env.config`,写一行: ``` /dev/mmcblk2 0x400000 0x4000 ``` #### 3. 查看当前启动顺序 ```bash fw_printenv boot_targets ``` 大概率看到 `usb mmc0` #### 4. 改成只从 eMMC 启动 ```bash fw_setenv boot_targets mmc0 ``` #### 5. 重启 ```bash reboot ``` --- ### ✅ 总结(无拆机版) | 方案 | 操作量 | 风险 | 效果 | |----|--------|------|------| | **刷 p212 镜像** | 1 条 dd 命令 | 极低 | 永久 mmc 优先 | | **fw_setenv** | 3 条命令 | 极低 | 同样永久生效 | --- **推荐**: 先试试 **方案 B(fw_setenv)**,30 秒搞定;若提示“bad CRC”或无法写入,再转 **方案 A(dd 刷镜像)**。 两条命令就能解决,**不用拆机、不用串口**。