请访问原文链接:https://sysin.org/article/apple-ios-dfu/,查看最新版。原创作品,转载请保留出处。

作者:gc(at)sysin.org,主页:www.sysin.org

本文对于 iOS 设备通用,即可适用于 iPhone、iPad、iPod touch。

一、了解 Recovery Mode 和 DFU Mode

1. 什么是 Recovery Mode

Recovery Mode,也称为恢复模式,是一种使 iPhone 进入 iBoot 引导加载程序模式的方法。当您的 iOS 设备进入恢复模式时,它将显示 “连接到 iTunes” 屏幕。 在此模式下,您可以通过 iTunes/Finder 还原 iPhone,以修复卡在 Apple 徽标上的 iOS、iOS 下载损坏、Phone 没有响应等问题。之后,您的设备将更新为最新的 iOS 版本。

下图左侧是是 iTunes 画面,macOS Catalina 10.15 之前的版本或者 Windows,需要使用 iTunes 连接。macOS Catalina 10.15 及之后版本,直接在 Finder 中连接 iOS 设备,即右侧画面。

本文使用恢复模式来更新完整的 iOS 软件包,可以指定版本,而不是仅仅最新版本,当然前提是 Apple 并没有关闭该版本的验证。

2. 什么是 DFU Mode

DFU Mode 是指 Device Firmware Upgrade 设备固件升级模式,在该模式下,当您需要解决关键软件问题时,将绕过 iBoot 引导加载程序,而 iOS 设备将连接到 iTunes/Finder。 在 iPhone DFU 模式下,您的设备将显示全黑的屏幕。 该模式通常用于越狱后解决设备的问题。

3. DFU Mode 和 Recovery Mode 的区别

恢复模式与 DFU 模式都可以用来恢复 iOS 软件,但是区别在于 DFU 模式直接跳过了 iBoot 引导程序,所以画面是全黑。

以下是 Apple 官方对 iBoot 的释义:

iBoot

Code that loads XNU, as part of the secure boot chain.  Depending on the system on chip (SoC) generation, iBoot may be loaded by the Low-Level Bootloader or directly by the Boot ROM.

Recovery Mode 中可以不抹掉数据更新软件,或者恢复出厂设置,但是 DFU Mode 只能恢复原始设置,所有数据都被抹掉。

对于普通用户而言,不用考虑 Jealbreak,一般使用恢复模式,使用恢复模式也可以降级未关闭验证的 iOS 版本。以下描述的通过 iTunes/Finder 手动更新 iOS 软件,其实也是在恢复模式下进行的。

在 Apple Configurator 2 可以直观的看到 iPhone 的状态差别:

正常模式

恢复模式

DFU 模式

4. 手动进入 Recovery Mode

以下用词略有差异,实际是指相同按键:

侧边按钮、顶部按钮、开机键、电源键

调高音量按钮、音量上键、音量+键

调低音量按钮、音量下键、音量-键

主屏幕按钮、HOME 键

  • 没有主屏幕按钮的 iPad 机型:按下调高音量按钮再快速松开。按下调低音量按钮再快速松开。按住顶部按钮,直到设备开始重新启动。继续按住顶部按钮,直到设备进入恢复模式。【备注:与 iPhone 8 或更新机型相同(只是电源键的描述,iPad 称为顶部按钮,iPhone 称为侧边按钮)】

  • iPhone 8 或更新机型:按下调高音量按钮再快速松开。按下调低音量按钮再快速松开。最后,按住侧边按钮,直到看到恢复模式屏幕。

  • iPhone 7、iPhone 7 Plus 和 iPod touch(第 7 代):同时按住顶部(或侧边)按钮和调低音量按钮。持续按住这两个按钮,直到您看到恢复模式屏幕。

  • 配备主屏幕按钮的 iPad、iPhone 6s 或更早机型和 iPod touch(第 6 代)或更早机型:同时按住主屏幕按钮和顶部(或侧边)按钮。持续按住这两个按钮,直到您看到恢复模式屏幕。

以上操作无需滑动解锁,按电源键后会出现 “滑动来关机” 的界面,否则没有任何反应。

顶部(或侧边)按钮,即电源键,因所处位置有所差异故称。

注意:以上操作出现 Apple Logo  不要松开,直到出现如下图的恢复模式画面。

以下是 Finder 提示状态截图:

可以与下面 DFU 模式对比,功能略有差异,多了 “序列号” 的显示。

“更新” 可用:更新固件但保留数据。

5. 手动退出 Recovery Mode

  • 没有主屏幕按钮的 iPad 机型:按下调高音量按钮再快速松开。按下调低音量按钮再快速松开。按住顶部按钮,直到设备开始重新启动。继续按住顶部按钮,直到屏幕出现 Apple Logo  松开,等待直到进入锁屏状态,退出成功。

  • iPhone 8 或更新机型:按下调高音量按钮再快速松开。按下调低音量按钮再快速松开。最后,按住侧边按钮,直到屏幕出现 Apple Logo  松开,等待直到进入锁屏状态,退出成功。

  • iPhone 7、iPhone 7 Plus 和 iPod touch(第 7 代):同时按住顶部(或侧边)按钮和调低音量按钮。持续按住这两个按钮,直到屏幕出现 Apple Logo  松开,等待直到进入锁屏状态,退出成功。

  • 配备主屏幕按钮的 iPad、iPhone 6s 或更早机型和 iPod touch(第 6 代)或更早机型:同时按住主屏幕按钮和顶部(或侧边)按钮。持续按住这两个按钮,直到屏幕出现 Apple Logo  松开,等待直到进入锁屏状态,退出成功。

注意:与进入 Recovery Mode 的按键相同,但是在出现 Apple Logo  后要松开。

6. 手动进入 DFU Mode

  • 没有主屏幕按钮的 iPad 机型:与 iPhone 8 或更新机型相同(只是电源键的描述,iPad 称为顶部按钮,iPhone 称为侧边按钮)

    按下调高音量按钮再快速松开

    按下调低音量按钮再快速松开

    按住顶部按钮不松开,出现 “滑动来关机” 的界面,直到屏幕变黑

    一旦屏幕黑屏,松开顶部按钮

    同时快速按住顶部和调低音量按钮持续 5 秒钟

    5 秒后,松开侧顶部按钮,不放开调低音量按钮,直到 iTunes/Finder 提示 “恢复模式”

  • iPhone 8 或更新机型:

    按下调高音量按钮再快速松开

    按下调低音量按钮再快速松开

    按住侧边按钮不松开,出现 “滑动来关机” 的界面,直到屏幕变黑

    一旦屏幕黑屏,松开侧边按钮

    同时快速按住侧边和调低音量按钮持续 5 秒钟

    5 秒后,松开侧侧边按钮,不放开调低音量按钮,直到 iTunes/Finder 提示 “恢复模式”

  • iPhone 7、iPhone 7 Plus 和 iPod touch(第 7 代):同时按住调低音量按钮和电源键不放,这时会屏幕上会出现 Apple Logo ,继续保持按住两个按键不放,等  消失大概 2-3 秒后,松开电源键,但继续保持按住 HOME 键,iPhone 还是处于黑屏状态,直到 iTunes/Finder 提示 “恢复模式”。

  • 配备主屏幕按钮的 iPad、iPhone 6s 或更早机型和 iPod touch(第 6 代)或更早机型:请同时按住开电源键和 HOME 键,持续到第 10 秒的时候,请立即松开电源键,并继续保持按住 HOME 键。这个时候 iTunes/Finder 会自动启动,并提示进入恢复模式(iOS 设备会一直保持黑屏状态)。

注意:成功进入 DFU 模式,iOS 设备是黑屏状态,电脑上提示仍然是 “恢复模式” 字样,如果 iOS 设备的屏幕亮了,或者你看到屏幕上出现 Apple Logo ,或者是 iTunes 的 Logo,都表示没有进入 DFU 模式。

注意:进入 DFU 模式仍然显示 “恢复模式”,但是与 “恢复模式” 有所差异。

以下是 DFU 模式 Finder 截图:

可以与上面 Recovery 模式对比,“更新” 不可用,仅能恢复原始设置,会抹掉所有数据,另外不显示序列号。

7. 手动退出 DFU Mode

  • 没有主屏幕按钮的 iPad 机型:与 iPhone 8 或更新机型相同(只是电源键的描述,iPad 称为顶部按钮,iPhone 称为侧边按钮)

    按下然后松开音量上键

    按下然后松开音量下键

    按下电源键并保持按下状态,直到 Apple Logo  出现在屏幕上松开电源键

  • iPhone 8 或更新机型:

    按下然后松开音量上键

    按下然后松开音量下键

    按下电源键并保持按下状态,直到 Apple Logo  出现在屏幕上松开电源键

  • iPhone 7、iPhone 7 Plus 和 iPod touch(第 7 代):同时按住音量-键和电源键不松开,直到屏幕上出现 Apple Logo  后,松开音量减键和电源键即可。

  • 配备主屏幕按钮的 iPad、iPhone 6s 或更早机型和 iPod touch(第 6 代)或更早机型:同时按住 HOME 键和音量+键不放开,直到屏幕上出现 Apple Logo  后,松开 HOME 键和音量+键。

8. 常规更新 OTA

参看:更新 iPhone、iPad 或 iPod touch

OAT 更新即在线更新,OTA 一般是指 Over-the-Air Technology。在线更新虽然方便,但是毕竟是一种打补丁方式的更新,特别是频繁的使用在线更新,有时候可能导致系统卡顿或者出现一些异常,所以建议下载完整固件手动更新,而且没有必要更新所有的小版本。

二、准备更新

1. 下载 ipsw 格式完整 iOS 软件包

https://ipsw.me/

选择设备类型和型号,下载 Signed IPSWs。

2. 准备 iPhone

重启 iPhone:“设置” ⚙️ > 通用 > 关机,然后重新开机,确保 iPhone 运行状态良好,一次性更新成功。

确保有充足的剩余空间:“设置” ⚙️ > 通用 > iPhone 存储空间。

3. 准备 Mac 或者 PC

使用 iTunes:macOS Catalina 10.15 之前的版本,或者 Windows,请下载最新版的 iTunes

使用 Finder:macOS Catalina 10.15(包含)或以上版本,若软件版本低会提示更新。

使用 Apple Configurator 2 同样可以在恢复模式或者 DFU 模式下更新和恢复软件,本文不做详细描述。

在 Apple Configurator 2 中,在设备窗口中选择设备并将 .ipsw 文件拖到设备上,然后选取更新或恢复设备。

三、更新过程

以下示例 iOS 14.0 完整更新到 14.5,在 macOS Big Sur 中操作,旧版 macOS 或者 Windows 中使用 iTunes 更新过程类似。

使用本地下载的 ipsw 更新,在 macOS 中按住 Option 键在点击 “更新” 按钮。在 Widows 中使用 iTunes 更新对应按住 Shift 键。

1. 连接 iPhone

如图,点击 “信任”,此时在 iPhone 上点击 “信任”,并根据提示输入密码。

2. 检查更新

此时 “更新” 按钮未出现,点击 “检测更新”。

检查到新的软件版本,点击 “取消”。

3. 更新 ipsw

此时,“更新” 按钮出现了,按住 Option 键,同时点击 “更新”。

备注:在 Widows iTunes 中对应是按住 Shift 键。

警告:点击 “恢复 iPhone...” 将更新软件并抹掉数据,恢复出厂设置。

此时,出现打开对话框,浏览到上述下载的 ipsw 文件。

4. 更新软件(如果需要)

如果 macOS 版本不是最新,可能会提示更新软件,这里并非更新系统,一般几分钟即可更新完毕。

5. 再次更新 ipsw

重复第三步,按住 Option 键点击 “更新” 并浏览到 ipsw 文件。

更新正式开始,其间 iPhone 会自动进入恢复模式进行软件更新,并自动重启。

更新过程完毕后提示如下。

6. 更新成功

iPhone 启动后,自动重新连接,可以看到版本已经更新。

附录:屏蔽 iOS 自动更新

以上已经更新到 iOS 14.5,iOS 14 的更新使命基本完成,除非是为了支持新的设备,是时候屏蔽自动更新,防止那些顽固的红点数字角标出现。

参看:如何屏蔽 iOS 软件自动更新,去除更新通知和标记

使用 “恢复模式” 或 “DFU 模式” 来更新和恢复 iOS 固件的更多相关文章

  1. iOS更新之DFU模式和恢复模式

    DFU模式和恢复模式的区别:DFU模式是在iPhone固件引导启动之前进行恢复的模式.所以用DFU模式刷机一般比较干净,不会有任何垃圾文件.想当于电脑重新格式化之后再安装系统. DFU模式进入方法:1 ...

  2. 在 Apple Silicon Mac 上 DFU 模式恢复 macOS 固件

    DFU 模式全新安装 macOS Big Sur 或 macOS Monterey 请访问原文链接:https://sysin.org/blog/apple-silicon-mac-dfu/,查看最新 ...

  3. iPhone(iOS设备) 无法更新或恢复时, 如何进入恢复模式

    在更新或恢复 iPhone  时,如果遇到以下所列问题之一.可能就要将设备置于恢复模式,并尝试重新恢复设备. 设备不断地重新启动,但从未显示主屏幕. 无法完成更新或恢复,且 iTunes 不再能识别设 ...

  4. iPhone X进入DFU模式

    下面把iphoneX进dfu模式的方法分享给大家.在开机状态下,按一下音量加键后松开,然后按一下音量减键后松开,接着按住电源键,屏幕完全熄灭后,松开电源键,接着同时按住电源键和音量减,保持5秒左右,再 ...

  5. 如何让阿三 Windows 10、11 的恢复分区(Recovery Partition)恢复到 “盖茨” 模式

    如何将 Windows Server 2022 的恢复分区(Recovery Partition)移动到 C 盘之前,恢复 C 盘容量调整功能. 请访问原文链接:https://sysin.org/b ...

  6. Fastboot模式和Recovery模式

    http://blog.csdn.net/luoshengyang/article/details/29688041 在回答第一个问题之前,我们先来看看Android设备从硬件到系统的结构,如图1所示 ...

  7. Oracle Dedicated server 和 Shared server(专用模式 和 共享模式) 说明(转)

    一.  官网说明 在DBCA 建库的时候,有提示让我们选择连接类型,这里有两种类型:专用服务器模式和共享服务器模式.默认使用专用模式.如下图: Oracle 官方文档对这两种文档的说明如下: Abou ...

  8. 备忘录模式 Memento 快照模式 标记Token模式 行为型 设计模式(二十二)

    备忘录模式 Memento   沿着脚印,走过你来时的路,回到原点.     苦海翻起爱恨   在世间难逃避命运   相亲竟不可接近   或我应该相信是缘份   一首<一生所爱>触动了多少 ...

  9. 在线建立或重做mysql主从复制架构方法(传统模式和GTID模式)【转】

    mysql主从复制架构,是mysql数据库主要特色之一,绝大多数公司都有用到. 而GTID模式是基于事务的复制模式的意思,发展到现在也是越来越多人用. 以前很多文章,介绍搭建mysql主从复制架构,是 ...

随机推荐

  1. Squares UVA - 201

    A children's board game consists of a square array of dots that contains lines connecting some of th ...

  2. Day11_54_泛型(Generic)

    泛型 * Java泛型设计原则:只要在编译时期没有出现警告,那么运行时期就不会出现ClassCastException异常. * 泛型:把类型明确的工作推迟到创建对象或调用方法的时候才去明确的特殊的类 ...

  3. Jenkins 自定义构建结果

    1. Jenkins 构建原理 2. 脚本执行失败立即停止执行 3. 脚本执行失败继续后面的执行但最终的结果是构建失败 1. Jenkins 构建原理 Jenkins 的构建成功和脚本执行成功是两个事 ...

  4. Java双刃剑之Unsafe类详解

    前一段时间在研究juc源码的时候,发现在很多工具类中都调用了一个Unsafe类中的方法,出于好奇就想要研究一下这个类到底有什么作用,于是先查阅了一些资料,一查不要紧,很多资料中对Unsafe的态度都是 ...

  5. Bootstrap自适应各种设备

    <!DOCTYPE html><html><head> <title>Bootstrap 实例 - 手机.平板电脑.台式电脑</title> ...

  6. hdu4415 不错的想法题

    题意: 一个人他有一定的血,有一些怪物,他去杀怪物,有的怪物杀死他后还可以在不费自己血的情况下任意杀死一些怪物,问你他最多杀死多少怪物,在最多杀怪前提下最好用多少血,(大体题意是这样). 思路: 首先 ...

  7. 病毒木马查杀实战第013篇:一个基于.NET的“敲竹杠”病毒研究

    前言 恶意程序发展至今,其功能已经从最初的单纯破坏,不断发展为隐私的窥探,信息的盗取,乃至如今非常流行的"敲竹杠"病毒,用于勒索.可见随着时代的发展,病毒的作者们往往也是想利用自己 ...

  8. WindowsPE 第五章 导出表

    导出表 PE中的导出表存在于动态链接库文件里.导出表的主要作用是将PE中存在的函数导出到外部,以便其他人可以使用这些函数,实现代码重用. 5.1导出表的作用 代码重用机制提供了重用代码的动态链接库,它 ...

  9. 用fread和fwrite实现文件复制操作

    #include <stdio.h> #include <stdlib.h> #include <string.h> int main(int argc,char ...

  10. NABCD-name not found

    项目 内容 课程 2020春季计算机学院软件工程(罗杰 任健) 作业要求 团队项目选择 项目名称 FOTT 项目内容 在OCR-Form-Tools开源项目的基础上,扩展功能,支持演示更多的API,例 ...