故障排除发布于: 阅读约 3 分钟

fastboot 一直显示 waiting for any device 怎么解决

fastboot 卡在 < waiting for any device >,或 fastboot devices 什么都不显示。在 Windows、macOS 和 Linux 上检查 fastboot 模式、驱动、数据线和 USB 接口。

运行 fastboot 命令后,它就一直停在这里:

< waiting for any device >

或者 fastboot devices 什么也不输出。这说明 fastboot 工具找不到处于 fastboot 模式的手机。ADB 和 fastboot 是两套独立的东西,所以 adb devices 能识别的手机,fastboot 照样可能看不到。按顺序检查下面几项。

1. 手机真的进入 fastboot 模式了吗?

手机屏幕上必须显示 bootloader 或 fastboot 界面,而不是 Android 系统,也不是 recovery。最简单的进入方法是:

adb reboot bootloader

也可以用各品牌的按键组合,通常是关机状态下按住 电源键 + 音量减。各品牌的按键见 fastboot 模式指南,小米另有 专门的教程。

两个容易踩的坑:

  • Recovery 不是 fastboot。 如果看到的是 recovery 菜单,有 Reboot to bootloader 选项的话就选它。
  • fastbootd 和 bootloader 的区别。 在 Android 10+ 的手机上,adb reboot fastboot 进入的是 fastbootd。有些命令(比如解锁)只能在 bootloader 中执行。用 fastboot reboot bootloader 切换过去。

2. Windows:fastboot 驱动

大多数 Windows 上的问题都出在这里。ADB 和 fastboot 使用 不同的 USB 接口,所以 ADB 驱动正常并不代表 fastboot 也正常。

  1. 手机处于 fastboot 模式时,打开 设备管理器。
  2. 找到 Android Device › Android Bootloader Interface。如果看到的是未知设备或黄色感叹号,说明缺少驱动。
  3. 安装 Google USB Driver(大多数手机在 fastboot 模式下都适用)或厂商驱动,然后右键该设备,依次选择 更新驱动程序、浏览我的电脑以查找驱动程序、让我从计算机上的可用驱动程序列表中选取,选择 Android Bootloader Interface。

3. 数据线和接口

  • 使用数据线,最好是原装线。
  • 插在电脑本身的接口上,不要用集线器或机箱前置接口。
  • 在部分电脑上,尤其是 AMD 芯片组的电脑,fastboot 在 USB 3 接口上不稳定。换成 USB 2.0 接口,或者接一个便宜的 USB 2.0 集线器,往往就能解决。

4. 更新 platform-tools

旧版 fastboot 可能无法和新手机通信。从 Google 下载最新的 Android SDK platform-tools,并确认运行的是这个版本:

fastboot --version

5. Linux:权限问题

如果 sudo fastboot devices 可以,而普通的 fastboot devices 不行,安装发行版的 Android udev 规则(android-sdk-platform-tools-common 或 android-udev-rules),并把自己加入 plugdev 用户组。

6. macOS

不需要驱动。如果什么都不显示,换一根线或一个接口试试,并确认没有其他工具(比如手机管理软件)占用设备。

7. 全部重启

退出 fastboot 模式,让手机重新进入 fastboot,如果在 Windows 上改动过驱动,再重启一下电脑。

ADBKit 能做什么,不能做什么

ADBKit 可以在浏览器里让手机 进入 fastboot 模式:打开屏幕旁边的电源菜单,选择 Boot modes › Bootloader / fastboot。手机进入 bootloader 后,Android 和 ADB 都不再运行,ADBKit 的连接也会断开。ADBKit 不执行 fastboot 命令,后续请使用 platform-tools 中的 fastboot 工具。

要退出 fastboot 模式,运行 fastboot reboot,或者长按电源键约 10 到 15 秒。