详解使用 fastboot 为 Android 刷入原厂镜像 ========== ![](http://img.wonderhowto.com/img/61/91/63616209761213/0/complete-guide-flashing-factory-images-using-fastboot.1280x600.jpg) 如果你的手机有一个解锁的 [bootloader][31] 的话,你可以用 [fastboot][32] 命令来刷入原厂镜像。听起来这好像是外行弄不懂的东西,但是当你需要升级被 [root][33] 过的设备,修理坏掉的手机,恢复到原生系统,或者是比别人更早的享受 Android 更新时,它可是最好的办法。 和 [ADB][35] 类似,Fastboot 是一个强大的 Android 命令行工具。这听起来可能会很恐怖 —— 别担心,一旦你了解了它,你就会知道 Android 的内部工作原理,以及如何解决最常见的问题。 ### 关于三星设备的注释 下面的指南对于 Nexus、Pixel、HTC 以及 Motorola 的大多数设备,以及其他众多厂商的手机和平板电脑都适用。但是,三星的设备有自己的刷机软件,所以你的 Galaxy 设备并不支持 Fastboot。对于三星的设备,最好使用 [Odin][36] 来进行刷机工作,我们在下文的链接中提供了相关指南。 ### 第一步 在你的电脑上安装 ADB 和 Fastboot 首先,你需要在你的电脑上安装 ADB 和 Fastboot,只有有了它们你才能使用 Fastboot 命令刷入镜像。网上有不少“一键安装版”或者“绿色版”的 ADB 和 Fastboot,但是我不建议安装这样的版本,它们没有官方版本更新那么快,所以可能不会完全兼容新版设备。 你最好从 Google 上安装 Android SDK Tools。这才是“真正的” ADB 和 Fastboot。安装 SDK Tools 可能需要一点时间,不过这等待是值得的。在下面的 _方法 1_ 中,我会说明在 Windows, Mac,以及 Linux 中安装这个软件的方法,所以可以跳转到那里开始。 ### 第二步 OEM 解锁OEM Unlocking 为了能够使用 Fastboot 刷入镜像,你需要解锁你设备的 [bootloader][37]。如果你已经解锁,你可以跳过这步到第三步。 如果你的设备的 Android 版本在 6.0 及以上的话,在你解锁 bootloader 之前,你还[需要开启一项设置][38]。首先你需要开启**开发者选项Developers Options**。开启之后,进入“开发者选项菜单”,然后开启 “OEM 解锁” 选项。之后就可以进行下一步了。 [ ![](http://img.wonderhowto.com/img/95/62/63613181132511/0/complete-guide-flashing-factory-images-using-fastboot.w1456.jpg) ][1] 如果你的设备没有这个选项,那么你的设备的 Android 版本可能不是 6.0 或以上。如果这个选项存在但是是灰色的,这就意味着你的 bootloader 不能解锁,也就是说你不能使用 Fastboot 给你的手机刷入镜像。 ### 第三步 进入 Bootloader 模式 在使用 Fastboot 软件之前,你还需要让你的设备进入 bootloader 模式。具体进入方式与你的设备有关。 对于大多数手机,你需要先完全关闭你的手机。在屏幕黑掉以后,同时按住开机键和音量向下键大约 10 秒。 如果这不起效的话,关掉手机,按住音量降低键。然后把手机用 USB 数据线连到电脑上,等上几秒钟。 如果还不起效的话,改按音量升高键,再试试第二种方法。 很快你就会看见像这样的 bootloader 界面: [ ![](http://img.wonderhowto.com/img/12/37/63615501357234/0/complete-guide-flashing-factory-images-using-fastboot.w1456.jpg) ][2] 看到这个界面之后,确保你的设备已经连接到电脑上。之后的工作就都是在电脑上完成了,把手机放在那里就成。 ### 第四步 在你的电脑上为 ADB 打开一个命令行窗口 转到 ADB 和 Fastboot 的安装目录。对于 Windows 用户来说,这目录通常是 `C:\Program Files (x86)\Android\android-sdk\platform-tools`。 对于 Mac 和 Linux 用户,则取决于你安装此工具时将 ADB 解压的位置,所以如果你忘了位置的话,就在硬盘里搜索 `platform-tools`。 在安装目录下,如果你使用 Windows PC 的话,按住键盘上的 Shift 键,在文件管理器的空白处单击右键,然后选择“在此处开启命令行窗口”。如果你用的是 Mac 或者 Linux,那么你仅仅需要打开一个终端,然后转到 `platform-tools` 下。 [ ![](http://img.wonderhowto.com/img/42/51/63613181192903/0/complete-guide-flashing-factory-images-using-fastboot.w1456.jpg) ][3] ### 第五步 解锁 bootloader 这一步你仅仅需要做一次,所以如果你的 bootloader 已经解锁,你可以直接跳过这步。否则你还需要运行一条命令 —— 注意,这条命令会**清空你设备上的所有数据**。 在输入命令之前,我需要说明下,下面的命令仅仅对 Windows 适用,Mac 用户需要在每条命令前加上一个句号和一个斜线(`./`),Linux 用户则需要加上一个斜线(`/`)。 所以,在 ADB Shell 里输入如下命令,然后按下回车键。 ``` fastboot devices ``` 如果程序输出了以 fastboot 结尾的一串字符,那就说明你的设备连接正常,可以继续操作。如果没有的话,回到第一步,检查你的 ADB 以及 Fastooot,是否正确安装,之后再确定设备是否如第三步所示进入了 bootloader 模式。 [ ![](http://img.wonderhowto.com/img/06/56/63613181203998/0/complete-guide-flashing-factory-images-using-fastboot.w1456.jpg) ][4] 之后,解锁你的 bootloader。因为 Android 版本的差别,我们有两种方法来解决这个问题。 如果你的设备的 Android 版本是 5.0 或者更低版本 ,输入如下命令: ``` fastboot oem unlock ``` 如果你的 Android 版本是 6.0 或更高的话,输入如下命令,然后按下回车: ``` fastboot flashing unlock ``` [ ![](http://img.wonderhowto.com/img/53/86/63613181215032/0/complete-guide-flashing-factory-images-using-fastboot.w1456.jpg) ][5] *将解锁命令发送到 6.0 或者更高版本的 Android 手机上* 这时,你的 Android 手机会问你是否确定要解锁 bootloader。确定你选中了 “Yes” 的选项,如果没有,使用音量键选中 “Yes”。然后按下电源键,你的设备将会开始解锁,之后会重启到 Fastboot 模式。 [ ![](http://img.wonderhowto.com/img/55/72/63613181234096/0/complete-guide-flashing-factory-images-using-fastboot.w1456.jpg) ][6] *Nexus 6P 上的解锁菜单。图像来自 Dallas Thomas/Gadget Hacks* ### 第六步 下载出厂镜像 现在你的 bootloader 已经解锁,准备好刷入出厂镜像了 -- 不过,你需要先下载镜像。下面是常规设备下载出厂镜像的链接。 - [Nexus 或 Pixel 设备的出厂镜像][40] - [HTC 设备出厂镜像][41] - [Motorola 设备出厂镜像][42] 使用上面的链接,在列表中定位你的设备型号,然后下载最新固件到计算机上。如果你的厂商不在列表中,可以试着用 “factory images for ” 进行 google 搜索。 ### 第七步 刷入出厂镜像 现在该刷入镜像了。首先将从厂商网站下载的出厂镜像文件解压。我推荐 [7-Zip][19] ,它是免费的,支持大多数格式。 [ ![](http://img.wonderhowto.com/img/81/31/63616200792994/0/complete-guide-flashing-factory-images-using-fastboot.w1456.jpg) ][7] *解压出厂镜像* 下一步,把压缩包中内容移动到你的 ADB 安装文件夹。之后在这里打开一个命令行窗口。要得到更多信息,请回看第四步。 [ ![](http://img.wonderhowto.com/img/05/92/63616201348448/0/complete-guide-flashing-factory-images-using-fastboot.w1456.jpg) ][8] *出厂镜像移动到 platform-tools 的文件* 除了上面这些,你有两种刷入镜像的方法。我会在下文分开叙述。 #### 方法一:使用 flash-all 脚本 大多数出厂镜像都会包含一个`flash-all` 脚本,可以让你一条命令就完成刷机过程。如果你试图让你的黑砖恢复正常的话,这是最简单的方法。但是这会让你的手机回到未 root 的状态,并会擦除所有数据,如果你不想这样的话,请选择方法二。 如果要运行 `flash-all` 脚本,输入如下命令,之后敲下回车: ``` flash-all ``` [ ![](http://img.wonderhowto.com/img/58/38/63616206141588/0/complete-guide-flashing-factory-images-using-fastboot.w1456.jpg) ][9] *运行 "flash-all" 命令* 这需要一点时间,当这步完成之后,你的手机应当自动重启,你可以享受 100% 原生固件。 #### 方法二 手动解压刷入镜像 你可以手动刷入系统镜像。这么做需要额外的工作,但是它可以在不清除数据的情况下反 root,升级设备,或者救回你的砖机。 首先解压出厂镜像包中的所有压缩文件。通常压缩包里会包含三或四个层叠的文件夹,确认你已经解压了所有的压缩文件。之后把这些文件移动到 `platform-tools` —— 或者说,别把他们放到任何子文件夹下。 [ ![](http://img.wonderhowto.com/img/47/26/63616206657885/0/complete-guide-flashing-factory-images-using-fastboot.w1456.jpg) ][10] *从出厂镜像包解压后的所有文件移至 platform-tools 目录* 在这些文件里,有两个镜像是可以直接删除的:`cache.img` 和 `userdata.img`。就是这两个文件清除了你的设备数据,如果你不刷入这两个镜像,你的数据就不会消失。 在剩下的文件中,有六个镜像构成了 Android 的核心部分: `boot`、`bootloader`、 `radio`、 `recovery`、 `system` 和 `vendor`。 `boot` 镜像包含了内核,如果你想要换掉一个不太好用的自制内核的话,你仅仅需要刷入这个文件。通过键入如下命令完成工作: ``` fastboot flash boot .img ``` 下一个就是 `bootloader`  镜像—— 也就是你用来刷入镜像的界面。如果你要升级 bootloader 的话,输入如下命令: ``` fastboot flash bootloader .img ``` 做完这步之后,你就可以用新版的 bootloader 刷入镜像。要想如此,输入: ``` fastboot reboot-bootloader ``` 之后就是  `radio` 镜像。这个镜像控制你设备的网络连接,如果你手机的 Wi-Fi 或者移动数据出现了毛病,或者你仅仅想升级你的 radio,输入: ``` fastboot flash radio .img ``` 然后就是  `recovery`。根据你之前的修改,你可能选择刷或不刷这个镜像。例如,如果你已经刷入 TWRP 的话,刷入这个镜像覆盖你的修改,并替代为 stock recovery。如果你仅仅要升级你的已经被修改过的设备,你就可以跳过这步。如果你想要新版的 stock recovery ,键入: ``` fastboot flash recovery .img ``` 下一个可是个大家伙:`system` 镜像,它包含了 Android 系统所需的全部文件。它是升级过程中最重要的部分。 如果你不想升级系统,仅仅是要换回原生固件或者是救砖的话,你只需要刷入这个镜像,它包含了 Android 的所有文件。换言之,如果你仅仅刷入了这个文件,那你之前对这个设备做的修改都会被取消。 作为一个救砖的通用方法,以及升级 Android 的方法,键入: ``` fastboot flash system .img ``` 最后,就是 `vendor` 镜像。只有新版的设备才包含这个包。没有的话也不必担心,不过如果有这个文件的话,那它就包含了一些重要的文件,键入如下命令使其更新: ``` fastboot flash vendor .img ``` 在这之后,你就可以重新启动设备: ``` fastboot reboot ``` [ ![](http://img.wonderhowto.com/img/31/31/63616269700533/0/complete-guide-flashing-factory-images-using-fastboot.w1456.jpg) ][11] *手动逐个刷入出厂镜像* 至此,你的设备已经完全更新,如果你是救砖的话,你的手机应该已经完好的运行。如果你知道每个系统镜像怎么是干什么的话,你就会更好的理解 Android 是怎么运行的。 手动刷入镜像比做任何修改已经帮助我更多地理解了 Android。你会发现,Android 就是写进存储设备里的一堆镜像,现在你可以自己处理他们,你也能更好的处理有关 root 的问题。 * 在[Facebook][20]、[Twitter][21]、[Google+][22] 以及 [YouTube][23] 关注 Gadget Hacks * 在 [Facebook][24]、[Twitter][25] 和 [Pinterest][26] 上关注 Android Hacks * 在 [Facebook][27]、[Twitter][28]、 [Pinterest][29] 还有 [Google+][30] 上关注 WonderHowTo --- via: http://android.wonderhowto.com/how-to/complete-guide-flashing-factory-images-using-fastboot-0175277/ 作者:[Dallas Thomas][a] 译者:[name1e5s](https://github.com/name1e5s) 校对:[jasminepeng](https://github.com/jasminepeng) 本文由 [LCTT](https://github.com/LCTT/TranslateProject) 组织编译,[Linux中国](https://linux.cn/) 荣誉推出 [a]:http://creator.wonderhowto.com/dallasthomas/ [1]:http://img.wonderhowto.com/img/original/95/62/63613181132511/0/636131811325119562.jpg [2]:http://img.wonderhowto.com/img/original/12/37/63615501357234/0/636155013572341237.jpg [3]:http://img.wonderhowto.com/img/original/42/51/63613181192903/0/636131811929034251.jpg [4]:http://img.wonderhowto.com/img/original/06/56/63613181203998/0/636131812039980656.jpg [5]:http://img.wonderhowto.com/img/original/53/86/63613181215032/0/636131812150325386.jpg [6]:http://img.wonderhowto.com/img/original/55/72/63613181234096/0/636131812340965572.jpg [7]:http://img.wonderhowto.com/img/original/81/31/63616200792994/0/636162007929948131.jpg [8]:http://img.wonderhowto.com/img/original/05/92/63616201348448/0/636162013484480592.jpg [9]:http://img.wonderhowto.com/img/original/58/38/63616206141588/0/636162061415885838.jpg [10]:http://img.wonderhowto.com/img/original/47/26/63616206657885/0/636162066578854726.jpg [11]:http://img.wonderhowto.com/img/original/31/31/63616269700533/0/636162697005333131.jpg [12]:http://android.wonderhowto.com/how-to/know-your-android-tools-what-is-fastboot-do-you-use-it-0155640/ [13]:http://gs6.wonderhowto.com/how-to/unroot-restore-samsung-galaxy-s6-back-stock-0162155/ [14]:http://android.wonderhowto.com/how-to/android-basics-install-adb-fastboot-mac-linux-windows-0164225/ [15]:https://developers.google.com/android/images [16]:http://www.htc.com/us/support/rom-downloads.html [17]:https://motorola-global-portal.custhelp.com/cc/cas/sso/redirect/standalone%2Fbootloader%2Frecovery-images [18]:http://android.wonderhowto.com/how-to/android-basics-enable-developer-options-usb-debugging-0161948/ [19]:http://www.7-zip.org/download.html [20]:http://facebook.com/gadgethacks/ [21]:http://twitter.com/gadgethax [22]:https://plus.google.com/+gadgethacks [23]:https://www.youtube.com/user/OfficialSoftModder/ [24]:http://facebook.com/androidhacksdotcom/ [25]:http://twitter.com/androidhackscom [26]:https://www.pinterest.com/wonderhowto/android-hacks-mods-tips/ [27]:http://facebook.com/wonderhowto/ [28]:http://twitter.com/wonderhowto/ [29]:http://pinterest.com/wonderhowto/ [30]:https://plus.google.com/+wonderhowto [31]:http://android.wonderhowto.com/news/big-android-dictionary-glossary-terms-you-should-know-0165594/ [32]:http://android.wonderhowto.com/news/big-android-dictionary-glossary-terms-you-should-know-0165594/ [33]:http://android.wonderhowto.com/how-to/android-basics-what-is-root-0167400/ [34]:http://android.wonderhowto.com/news/big-android-dictionary-glossary-terms-you-should-know-0165594/ [35]:http://android.wonderhowto.com/how-to/know-your-android-tools-what-is-adb-do-you-use-it-0155456/ [36]:http://tag.wonderhowto.com/odin/ [37]:http://android.wonderhowto.com/news/big-android-dictionary-glossary-terms-you-should-know-0165594/ [38]:http://android.wonderhowto.com/news/psa-enable-hidden-setting-before-modding-anything-android-0167840/ [39]:http://android.wonderhowto.com/how-to/android-basics-tell-what-android-version-build-number-you-have-0168050/ [40]:https://developers.google.com/android/images [41]:http://www.htc.com/us/support/rom-downloads.html [42]:https://motorola-global-portal.custhelp.com/cc/cas/sso/redirect/standalone%2Fbootloader%2Frecovery-images