新闻详情

新闻详情

首页 / 资讯中心 / 详情

手机OTG+ADB零电脑刷机实战:Termux与Fastboot救砖指南

发布时间:2026/9/28 13:06:51来源:尧图网络
手机OTG+ADB零电脑刷机实战:Termux与Fastboot救砖指南
1. 手机变电脑先搞清楚OTG和ADB到底能干什么手里只有一部手机电脑不在身边系统崩了想刷机、想进恢复模式、想解锁Bootloader怎么办这个问题我遇到过太多次了。早些年大家的共识是“刷机必须用电脑”因为Fastboot和ADB这两个核心工具都跑在桌面端。但这两年安卓生态变化很大手机本身的硬件能力已经足够强配合一根OTG线和一个终端模拟器完全可以实现“零电脑刷机”。我自己用这套方案救回过三台机器包括一台卡在Fastboot界面死活进不去系统的旧机型还有一台被朋友误删系统文件后无限重启的备用机。先说清楚这套方案的核心逻辑。OTG是On-The-Go的缩写本质上是让手机从“从设备”切换成“主设备”这样你才能通过USB口连接其他设备——比如连接另一部手机、连接U盘、连接键盘鼠标。而ADB是Android Debug Bridge的缩写是安卓调试桥的意思它提供了一套命令行工具让你可以和安卓系统的底层服务通信。Fastboot则是比ADB更底层的一个协议工作在Bootloader模式下用来刷写分区镜像、解锁引导程序、临时启动恢复镜像等。那“手机变电脑”这个说法到底成不成立严格来说手机不可能变成一台完整的电脑但在这套方案里手机扮演了两个角色一是作为“操作终端”通过Termux这类终端模拟器运行ADB和Fastboot命令二是作为“供电和通信主机”通过OTG线给被刷设备提供连接通道。换句话说你的手机就是一台便携式的刷机工作站。这套方案适合什么人我总结了三类第一类是经常帮朋友救砖的搞机爱好者随身带一根线就能干活第二类是手里有备用机但主力机不方便装驱动的普通用户想折腾又不想在电脑上装一堆工具第三类是维修店或者二手手机从业者需要快速检测和刷写多台设备。如果你属于这三类中的任何一类接下来的内容值得你花时间看完。注意这套方案的前提是你的手机本身支持OTG功能并且系统版本在Android 7.0以上。部分定制ROM可能阉割了OTG驱动需要提前确认。2. 方案整体设计与核心工具选型2.1 为什么选择Termux而不是其他终端模拟器安卓上的终端模拟器有不少选择比如Termux、Termius、JuiceSSH等。但真正能跑ADB和Fastboot的Termux是唯一一个我实测下来稳定可用的。原因有三点第一Termux自带包管理器可以直接安装Android SDK的platform-tools不需要root权限第二Termux的底层是基于Linux的对USB设备的访问权限处理得比较完善第三Termux支持后台运行和快捷键操作刷机过程中不会因为切后台就断连。其他终端模拟器要么是纯SSH客户端要么需要root才能访问USB设备节点都不适合这个场景。我试过用Termius跑ADB结果连设备都识别不到因为Termius没有USB权限。所以工具选型上Termux是唯一解。2.2 OTG线的选择别贪便宜芯片方案很关键OTG线看起来就是一根普通的转接线但里面的芯片方案差别很大。我踩过的坑是买了一条九块九包邮的OTG线连U盘没问题但连手机做ADB调试时死活识别不到设备。后来拆开看里面用的是廉价的USB 2.0 Hub芯片根本不支持设备模式切换。目前市面上主流的OTG芯片方案有三种Microchip的USB2514、TI的TUSB4041、以及国产的CH340系列。前两种支持USB 3.0和完整的OTG协议CH340系列便宜但只支持USB 2.0而且部分批次存在兼容性问题。如果你要刷的是较新的机型建议选带USB 3.0 C口OTG芯片的线比如搭载USB2514B的方案实测下来对Fastboot的兼容性最好。另外要注意接口类型。现在手机大部分是Type-C口但被刷设备可能是Micro-USB口所以你需要一根“Type-C转Micro-USB”的OTG线或者一根“Type-C OTG转接头普通数据线”的组合。我个人推荐后者因为转接头可以换数据线可以选质量好的灵活性更高。2.3 ADB和Fastboot工具的获取方式在Termux里获取ADB和Fastboot有两种方式一种是通过pkg安装另一种是手动下载platform-tools压缩包。pkg安装的命令是pkg install android-tools这个包里面包含了adb和fastboot的可执行文件。但要注意Termux官方源里的android-tools版本可能比较旧对Android 12以上的设备支持不够好。手动下载的方式更可控。你可以从Android开发者官网下载最新的platform-tools压缩包然后用Termux的解压命令解压到$PREFIX/bin目录下。具体命令是cd ~ wget https://dl.google.com/android/repository/platform-tools-latest-linux.zip unzip platform-tools-latest-linux.zip cp platform-tools/adb $PREFIX/bin/ cp platform-tools/fastboot $PREFIX/bin/ chmod x $PREFIX/bin/adb $PREFIX/bin/fastboot这样安装的版本是最新的兼容性最好。我实测下来platform-tools 34.0.5版本对Android 14的设备也能正常识别。2.4 被刷设备的准备工作被刷的设备需要提前打开USB调试和OEM解锁。USB调试在“开发者选项”里连续点击“版本号”七次就能激活开发者选项。OEM解锁在“开发者选项”里面不同品牌的叫法可能不一样小米叫“OEM解锁”三星叫“OEM解锁”OPPO和vivo部分机型没有这个选项需要特殊处理。另外被刷设备的电量要保持在50%以上刷机过程中断电是变砖的主要原因之一。如果设备已经卡在Fastboot界面进不去系统那就不用管USB调试了直接进Fastboot模式就行。3. 核心细节解析与实操要点3.1 Termux的环境配置与权限处理Termux安装完成后第一件事是更新源和升级包pkg update pkg upgrade然后安装必要的依赖pkg install root-repo pkg install tsu pkg install android-tools pkg install usbutils这里解释一下每个包的作用。root-repo是Termux的root权限扩展源tsu是Termux的sudo替代品用来提权。android-tools就是ADB和Fastboot的集合包。usbutils提供了lsusb命令用来查看USB设备列表。关键的一步是权限处理。Termux默认没有USB设备的访问权限你需要手动授权。在手机设置里找到“应用管理”找到Termux打开“USB设备访问”权限。部分机型还需要在开发者选项里打开“USB调试”和“默认USB配置”设为“文件传输”或“MIDI”。提示如果你的手机是Android 11以上Termux可能无法直接访问/dev/bus/usb目录。这时候需要用termux-usb命令来请求权限。具体操作是运行termux-usb -l列出设备然后termux-usb -r -e ./adb devices来授权。3.2 ADB连接被刷设备的完整流程假设你已经用OTG线把两部手机连起来了被刷设备已经进入Fastboot模式或者正常开机并开启了USB调试。接下来在Termux里执行adb devices如果一切正常你会看到类似这样的输出List of devices attached ABCD1234 device如果显示unauthorized说明被刷设备上没有授权这台“主机”。你需要在被刷设备的屏幕上点击“允许USB调试”弹窗。如果屏幕坏了点不了那就只能进Fastboot模式用Fastboot命令操作。如果显示no permissions说明Termux没有USB权限。这时候需要运行tsu chmod 666 /dev/bus/usb/*/*然后再执行adb devices。Fastboot模式的连接验证命令是fastboot devices正常输出应该是ABCD1234 fastboot如果没有任何输出说明Fastboot驱动没有正确加载。这时候需要检查OTG线是否支持数据传输有些OTG线只能供电不能传数据。3.3 Fastboot刷写分区的参数计算与选择Fastboot刷写的核心命令是fastboot flash 分区名 镜像文件。常见的分区有分区名作用是否必须刷写boot内核和恢复模式是system系统镜像是vendor厂商驱动视情况userdata用户数据否会清空数据recovery恢复模式可选vbmeta验证启动部分机型必须刷写顺序很重要。我一般建议先刷vbmeta再刷boot然后刷system和vendor最后刷userdata。因为vbmeta负责验证启动链如果先刷了其他分区再刷vbmeta可能会导致验证失败无法开机。参数方面fastboot flash命令支持--slot参数来指定A/B分区。如果你的设备是A/B分区架构需要分别刷写两个槽位fastboot flash boot_a boot.img fastboot flash boot_b boot.img或者用--slotall一次性刷写两个槽位fastboot flash --slotall boot boot.img3.4 临时启动恢复镜像的技巧有时候你不想永久刷写恢复分区只是想临时启动一个TWRP或者其他的恢复镜像来备份数据或者刷入Magisk。这时候可以用fastboot boot命令fastboot boot twrp.img这个命令不会写入任何分区只是把镜像加载到内存里运行。重启后恢复分区还是原来的。这个技巧在保修期内特别有用因为不会留下刷机痕迹。但要注意部分机型比如小米的部分型号对fastboot boot命令做了限制会提示FAILED (remote: unknown command)。这时候只能先刷入恢复分区操作完再刷回原版。4. 实操过程与核心环节实现4.1 从零开始Termux安装与ADB环境搭建我第一次在手机上跑ADB的时候走了不少弯路。最开始用的是Google Play版的Termux结果发现版本太旧pkg命令都用不了。后来换了F-Droid版的Termux才正常。所以第一步去F-Droid下载最新版的Termux不要用Play商店的版本。安装完成后打开Termux依次执行pkg update pkg upgrade pkg install android-tools这三条命令跑完ADB和Fastboot就已经在$PREFIX/bin目录下了。你可以用which adb来验证which adb正常输出应该是/data/data/com.termux/files/usr/bin/adb。接下来配置USB权限。运行lsusb如果能看到设备列表说明USB权限已经有了。如果提示command not found先安装usbutilspkg install usbutils如果lsusb输出为空说明Termux没有USB访问权限。这时候需要去手机设置里手动授权。路径是设置 → 应用 → Termux → 权限 → USB设备访问 → 允许。4.2 连接被刷设备并进入Fastboot模式被刷设备进入Fastboot模式的方法因品牌而异。小米是关机后按住“音量减电源键”三星是关机后按住“音量减Home电源键”OPPO是关机后按住“音量减电源键”。如果不确定可以先开机用ADB命令重启到Fastbootadb reboot bootloader这条命令会直接把设备重启到Fastboot模式。前提是ADB已经连接成功并且授权了。连接OTG线之后在Termux里运行fastboot devices如果看到设备序列号说明连接成功。如果没有尝试以下排查步骤换一根OTG线确认线材支持数据传输运行lsusb确认系统识别到了USB设备运行dmesg | grep usb查看内核日志确认是否有USB枚举错误检查被刷设备的Fastboot驱动是否正常部分机型需要特定的Fastboot驱动我遇到过最诡异的情况是lsusb能看到设备但fastboot devices就是没输出。后来发现是OTG线的供电不足换了一根带辅助供电的OTG线就解决了。所以如果你刷的是平板或者老款手机供电问题要特别注意。4.3 刷写系统镜像的完整命令序列假设你已经下载好了刷机包解压后得到了一系列.img文件。以下是一个典型的刷写序列fastboot flash vbmeta vbmeta.img fastboot flash boot boot.img fastboot flash system system.img fastboot flash vendor vendor.img fastboot flash userdata userdata.img fastboot reboot每条命令执行后Fastboot会返回Sending xxx (xxxx KB) OKAY和Writing xxx OKAY。如果返回FAILED说明刷写失败需要根据错误信息排查。常见的错误和解决方法错误信息原因解决方法FAILED (remote: Not enough space)分区空间不足检查镜像文件是否对应正确机型FAILED (remote: Signature mismatch)签名验证失败先刷vbmeta禁用验证FAILED (remote: Flashing is not allowed)Bootloader未解锁先执行fastboot oem unlockFAILED (remote: unknown command)命令不支持检查Fastboot版本是否过旧刷写完成后用fastboot reboot重启设备。第一次开机可能会比较慢因为系统需要重建缓存。如果卡在开机动画超过10分钟可能是刷写不完整需要重新进Fastboot检查分区状态。4.4 用ADB sideload刷入OTA包除了Fastboot刷写ADB还支持sideload模式刷入OTA包。这个方法适合系统还能进恢复模式的情况。操作步骤是被刷设备进入恢复模式Recovery选择“Apply update from ADB”在Termux里运行adb sideload ota_package.zipsideload的好处是不需要解锁Bootloader适合官方OTA更新或者签名验证严格的机型。但缺点是只能刷官方签名的包不能刷第三方ROM。我实测下来sideload的传输速度比Fastboot慢不少因为它是通过ADB协议传输的而且有签名验证的开销。一个2GB的OTA包大概需要5-8分钟。所以如果时间充裕可以用sideload赶时间还是用Fastboot。5. 常见问题与排查技巧实录5.1 ADB unauthorized的三种解决方案adb unauthorized是我遇到频率最高的问题。表现是adb devices显示设备但状态是unauthorized。原因是被刷设备没有授权这台“主机”的调试请求。解决方案一在被刷设备屏幕上点击“允许USB调试”弹窗。这是最简单的但如果屏幕坏了就没办法。解决方案二删除被刷设备上的ADB密钥。路径是/data/misc/adb/adb_keys需要root权限才能删除。删除后重新连接会重新弹出授权窗口。解决方案三在Termux里手动指定ADB密钥。先生成一对密钥adb keygen ~/.android/adbkey然后把公钥文件~/.android/adbkey.pub的内容复制到被刷设备的/data/misc/adb/adb_keys文件里。这个方法需要被刷设备有root权限或者能进恢复模式。注意部分机型在Fastboot模式下不需要ADB授权直接就能用Fastboot命令。所以如果ADB一直授权不了可以试试进Fastboot模式操作。5.2 Fastboot连接不到设备的排查思路fastboot devices没有输出这个问题比ADB unauthorized更棘手因为它涉及硬件、驱动、协议多个层面。我的排查顺序是这样的第一步确认OTG线是否支持数据传输。有些OTG线只能供电不能传数据。换一根已知能传数据的线试试。第二步确认被刷设备是否真的在Fastboot模式。有些设备显示Fastboot界面但实际没有进入Fastboot协议需要重新按键进入。第三步检查Termux的USB权限。运行lsusb看设备是否被识别。如果lsusb能看到但fastboot devices没输出说明是Fastboot驱动的问题。第四步尝试用fastboot -l命令列出所有Fastboot设备。这个命令会显示更详细的设备信息有助于判断问题出在哪一层。第五步如果以上都不行换一部手机做主机试试。有些手机的OTG芯片对Fastboot协议支持不好换一部手机可能就正常了。5.3 刷机过程中断电或断连的应急处理刷机过程中最怕的就是断电或者USB断连。如果发生在刷写boot或system分区时设备大概率会变砖。但也不是完全没救。如果设备还能进Fastboot模式重新连接后继续刷写就行。Fastboot是幂等的重复刷写同一个分区不会造成额外损害。如果设备进不了Fastboot也进不了恢复模式那就只能进入高通的EDL模式9008模式或者联发科的BROM模式来救砖。这两种模式需要专门的工具和驱动不在本文讨论范围内。预防措施比补救更重要。我一般建议刷机前充满电刷机过程中不要碰OTG线不要切后台不要接电话。Termux可以设置termux-wake-lock来防止系统休眠导致断连termux-wake-lock刷完之后再termux-wake-unlock释放。5.4 常见问题速查表问题现象可能原因快速解决adb devices无输出USB调试未开开发者选项里打开USB调试adb devices显示unauthorized未授权主机被刷设备上点允许fastboot devices无输出OTG线不支持数据换支持数据传输的OTG线fastboot flash FAILED分区空间不足确认镜像对应机型刷机后无法开机vbmeta验证失败重刷vbmeta并禁用验证Termux提示permission deniedUSB权限未授权设置里给Termux USB权限刷机过程中断连供电不足或休眠用带供电的OTG线开wake-lock6. 进阶技巧与个人经验分享6.1 用Termux脚本自动化刷机流程如果你经常刷同一款机型可以把刷机命令写成一个脚本每次只需要运行脚本就行。比如创建一个flash.sh#!/data/data/com.termux/files/usr/bin/bash fastboot flash vbmeta vbmeta.img fastboot flash boot boot.img fastboot flash system system.img fastboot flash vendor vendor.img fastboot reboot然后chmod x flash.sh以后刷机只需要./flash.sh。这个技巧在批量刷机的时候特别省事。我帮朋友刷同一款机型的时候一次刷五台用脚本比手动敲命令快得多。6.2 ADB无线调试摆脱OTG线的束缚如果你的被刷设备还能正常开机其实可以不用OTG线直接用ADB无线调试。前提是两部手机在同一个局域网里。操作步骤被刷设备开启USB调试用OTG线连接一次执行adb tcpip 5555拔掉OTG线执行adb connect 被刷设备IP:5555这样就能无线执行ADB命令了。但Fastboot不支持无线所以刷写分区还是得用OTG线。无线调试适合传文件、抓日志、截图这些日常操作。我实测下来无线调试的延迟在50ms左右传小文件没问题传大文件还是插线快。而且无线调试有个坑设备重启后tcpip模式会失效需要重新用线连接一次。6.3 用ADB截图和录屏做刷机记录刷机过程中记录每一步的操作和结果是个好习惯。ADB可以截图和录屏adb shell screencap -p /sdcard/screenshot.png adb pull /sdcard/screenshot.png录屏adb shell screenrecord /sdcard/record.mp4这些文件会保存在被刷设备的存储里然后用adb pull拉到主机上。我一般会在刷机前截一张系统信息的图刷机后再截一张方便对比。6.4 个人踩坑记录与避坑建议第一个坑OTG线买错了。我一开始买的是“OTG转接头”结果发现它只支持U盘不支持手机。后来才知道OTG转接头分“Host模式”和“Device模式”刷机需要的是Host模式。买的时候一定要看清楚描述里有没有“支持ADB调试”或者“支持Fastboot”。第二个坑Termux版本太旧。Google Play版的Termux已经很久没更新了很多新命令不支持。一定要用F-Droid版或者GitHub Releases版。第三个坑刷机包下错了。不同机型的刷机包不能混用哪怕外观一模一样。我有一次把红米Note 8的包刷到了红米Note 8 Pro上结果直接黑砖。所以刷机前一定要核对机型的代号比如begonia是红米Note 8 Proginkgo是红米Note 8一字之差就是两台机器。第四个坑忘了关验证。部分机型刷完第三方ROM后需要额外刷入vbmeta来禁用验证启动否则会卡在开机第一屏。这个步骤在刷机教程里经常被忽略但却是最关键的一步。第五个坑刷机过程中接电话。这个听起来很蠢但我真的遇到过。刷到一半来了个电话系统切到通话界面Termux被挂起USB断连结果刷了一半的system分区导致无法开机。所以刷机前开飞行模式或者用另一部手机。6.5 这套方案的局限性和替代方案说了这么多优点也得说说局限性。这套方案最大的问题是供电。手机OTG口的输出电流一般在500mA左右如果被刷设备耗电量大可能会出现供电不足导致刷机失败。解决办法是用带辅助供电的OTG线或者用Y型线同时接电源。另一个局限是Fastboot命令的兼容性。部分品牌的Fastboot实现和标准Fastboot有差异比如三星的Odin模式、华为的Fastboot模式命令参数都不一样。这种情况下还是得用官方的刷机工具。替代方案方面如果你有电脑还是建议用电脑刷。电脑的USB控制器更稳定驱动更完善而且不用担心供电问题。手机OTGADB这套方案适合应急和便携场景不适合作为主力刷机方案。最后分享一个小技巧如果你经常需要刷机可以在Termux里装一个termux:widget把常用的刷机命令做成桌面快捷方式。这样不用打开Termux就能一键执行刷机脚本效率提升很明显。我现在的做法是把“进入Fastboot”“刷写boot”“刷写system”“重启”四个命令做成四个快捷方式刷机的时候按顺序点一遍就行比敲命令快多了。
网站建设高端定制企业官网
RELATED

相关资讯

更多精彩内容,欢迎继续阅读

较早相关资讯

最新相关资讯

示波器探棒选型与多通道测量实战指南 2026/9/28 13:58:31

示波器探棒选型与多通道测量实战指南

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

阅读更多 →
从零搭建AI工程能力:推理服务、RAG管道与评估体系实战 2026/9/28 13:58:31

从零搭建AI工程能力:推理服务、RAG管道与评估体系实战

1. 从零搭建AI工程能力:为什么我劝你别一上来就啃论文"ai-engineering-from-scratch"这个标题,第一次看到的时候我以为是又一个教你怎么调API的速成教程。点进去翻了翻,发现方向完全不是那么回事——它讲的是从最底层开始&#xff…

阅读更多 →
Python asyncio自研包装器:为async with赋予健全的超时与取消机制 2026/9/28 13:58:31

Python asyncio自研包装器:为async with赋予健全的超时与取消机制

如果你写过消息队列的消费者,肯定见过这种场面:某台业务节点还在“坚挺”地等待连接池分配连接,明明服务端已经 120 秒没回包了;或者调试一个下载任务,点了取消,退出了async with,但底层套接字还…

阅读更多 →
140M用户级AI代理上线前全链路仿真实践 2026/9/28 13:58:31

140M用户级AI代理上线前全链路仿真实践

1. 项目概述:为什么要在上线前“看一眼”AI代理的真实表现?“Screen Before You Serve”——字面意思是“服务交付前先做一次屏幕级预览”,但这个短语背后藏着一个在超大规模AI应用落地中被反复验证却长期被低估的工程铁律:你永远…

阅读更多 →
OpenCV图像处理实战:Python全景拼接原理与实现全解析 2026/9/28 13:58:31

OpenCV图像处理实战:Python全景拼接原理与实现全解析

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

阅读更多 →
Vibe Coding嵌入式实战:四层开发中的边界与避坑指南 2026/9/28 13:58:25

Vibe Coding嵌入式实战:四层开发中的边界与避坑指南

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

阅读更多 →

今日资讯

本周资讯

本月资讯

看完文章仍有疑问?

联系尧图顾问,获取一对一建站咨询

立即免费咨询 📞 400-888-8888
📞 ✉