Mac 打印故障排除与系统启动流程解析
1. 打印故障排除
在使用 Mac 进行打印操作时,可能会遇到各种问题。为了进行有效的故障排除,需要先完成一些前提条件:
- 必须创建本地管理员账户和标准用户账户(如 Johnny Appleseed)。
- 至少在 Mac 上设置一个打印队列。
1.1 关闭文档并重新尝试打印
如果在打印过程中遇到问题,可以尝试以下操作:
1. 点击“取消”,关闭文档并退出“预览”。
2. 在“文本编辑”中,再次按下 Command - P。
3. 从 PDF 菜单中,选择“另存为 PDF”。
4. 将 PDF 保存到桌面。
5. 退出“文本编辑”。
1.2 检查 CUPS 日志
可以通过“控制台”检查系统和用户事件日志,具体步骤如下:
1. 必要时,以 Johnny Appleseed 身份登录。
2. 打开“控制台”。
3. 从左侧列中选择“日志报告”,然后在第二列中选择“access_log”。如果进行过打印操作,访问日志中会显示相应条目,页面日志也可能包含每个作业的条目。
4. 如果列表中包含“page_log”和“error_log”文件,选择它们并检查其内容。
5. 退出“控制台”。
1.3 重置打印系统
如果无法向打印机打印,并且尝试了其他解决方案后仍然无效,可以将打印系统恢复到 macOS 默认设置:
1. 打开“打印机与扫描仪”偏好设置。
2. 必要时,点击锁按钮,然后以本地管理员身份进行验证。
3. 按住 Control 键,然后点击打印机列表。
4. 从出现的菜单中选择“重置打印系统”。
5. 当提示确认时,点击“重置”。完成该过程后,可以再次添加打印机。
6. 退出“系统偏好设置”。
以下是打印故障排除的流程图:
graph TD;
A[开始] --> B[关闭文档并退出预览];
B --> C[在文本编辑中按Command - P];
C --> D[从PDF菜单选另存为PDF];
D --> E[保存PDF到桌面];
E --> F[退出文本编辑];
F --> G[检查CUPS日志];
G --> H{能否解决问题};
H -- 否 --> I[重置打印系统];
H -- 是 --> J[结束];
I --> J;
2. Mac 系统启动流程概述
Mac 系统从开机到显示“访达”的过程涉及多个阶段,了解这些阶段有助于识别成功启动 macOS 所需的基本文件和进程,还能帮助我们探索 macOS 睡眠模式、注销和关机等操作,以及学习启动快捷方式和诊断模式。
启动过程主要包括系统初始化和用户会话两个阶段。系统初始化是启动 macOS 所需的进程,用户会话是准备用户环境所需的进程。启动 Mac 时,会出现不同的屏幕来显示启动进度,包括可能导致 Mac 无法启动的问题。
3. 系统初始化组件
系统初始化包含多个组件,每个组件都有其特定的功能:
| 组件 | 功能 |
| ---- | ---- |
| 固件 | 测试和初始化硬件,定位并启动 macOS 引导程序 |
| 引导程序 | 将 macOS 内核和基本硬件驱动程序加载到主内存,然后让内核接管 |
| 内核 | 提供 macOS 基础,加载其他驱动程序和核心操作系统 |
| launchd | 核心操作系统加载后,启动第一个非内核进程,加载 macOS 的其余部分 |
4. 安全策略
不同类型的 Mac 有不同的安全策略:
- 如果 Mac 采用 Apple 芯片,或者基于 Intel 的 Mac 配备 T2 芯片,默认情况下有安全策略确保硬件和软件未被篡改。默认安全策略下,从开机起,Mac 会使用硬件验证启动过程的每一步。虽然不建议更改安全策略,但可以使用“启动安全实用工具”进行检查和修改。
- 对于基于 Intel 且无 T2 芯片的 Mac,统一可扩展固件接口(UEFI)固件从文件系统加载 macOS 引导程序时不会验证其是否被篡改,macOS 引导程序加载内核时也不会验证。因此,建议采取以下保护措施:
- 保持系统完整性保护(SIP)启用。
- 开启 FileVault。
- 配置固件密码。
5. 系统初始化各阶段详细解析
5.1 固件阶段
固件也称为引导 ROM,位于主板的闪存芯片中,包含足够的软件来测试和初始化硬件,并定位和启动 macOS 引导程序。
-
加电自检(POST)
:Mac 固件开机时会执行 POST,测试内置硬件组件,如处理器、系统内存、网络接口和外围接口。通过 POST 后,显示屏应开启,Mac 会播放启动音,然后固件定位引导程序文件。Mac 仅在启动时执行 POST,而非重启时。如果要排查硬件问题,应关机后再启动。如果 Mac 未通过 POST,显示屏可能保持空白或关闭,可能会出现硬件错误代码,可访问 Apple 支持网站查找错误代码,或将 Mac 送到 Apple 授权服务提供商处。
-
引导程序选择
:默认情况下,固件选择“启动磁盘”偏好设置中最后指定的系统引导程序文件。对于使用 Boot Camp 运行 Windows 的基于 Intel 的 Mac,可在 Boot Camp 控制面板中选择系统引导程序。引导程序文件位置保存在 Mac 的非易失性 RAM(NVRAM)中,以便在重启后仍然有效。如果找到引导程序文件,固件启动引导程序进程,Mac 开始启动,主显示屏中央会显示 Apple 标志;如果无法定位引导程序文件,Mac 会显示带有问号的闪烁文件夹图标。
-
FileVault 解锁
:如果系统磁盘受 FileVault 保护,只有启用 FileVault 的用户才能在登录窗口登录。对于基于 Intel 且受 FileVault 保护的 Mac,在 POST 后几秒内,特殊的 UEFI 引导程序会显示身份验证解锁屏幕,类似于标准的 macOS 登录窗口。验证并解锁加密系统磁盘后,UEFI 固件可访问包含 macOS 引导程序的系统卷,启动过程继续,且由于已验证解锁系统磁盘,macOS 登录时无需再次验证(仅在每次启动且解锁加密系统磁盘时有效)。
-
启动快捷方式(仅适用于基于 Intel 的 Mac)
:基于 Intel 的 Mac 固件支持键盘快捷方式,在开机时按住这些快捷方式可以修改启动过程,有些快捷方式会改变引导程序选择,有些会修改 macOS 启动方式。
-
固件更新
:固件由记录在计算机芯片上的数据或程序组成,Mac 制造时,固件被编程以指示 Mac 如何执行任务。如果 Mac 需要更改,其安装的固件类型可以更新。固件更新通常包含在 macOS 更新中,使用“安装 macOS Big Sur”应用程序时也会包含。
5.2 引导程序阶段
引导程序进程由 Mac 固件启动,加载 macOS 内核和足够的基本内核扩展(kexts),使内核能够接管系统并继续启动过程。对于基于 Intel 的 Mac,固件还会传递特殊的启动模式指令给引导程序处理。引导程序位于 /System/Library/CoreServices/boot.efi。为了加快启动过程,引导程序会尽可能加载缓存文件,这些缓存位于 /System/Library/Caches/com.apple.kext.caches。如果 macOS 检测到问题或在安全模式下启动,这些缓存将被丢弃,内核加载时间会更长。引导程序加载内核后,会在 Apple 图标下方显示一个小进度条。从 Internet 恢复 OS 启动基于 Intel 的 Mac 时,会出现一个旋转的地球图标,内核加载后该图标会被标准进度条取代。如果启动尝试失败,会显示带有警报符号的地球图标;如果所选启动磁盘不可用或不包含 Mac 操作系统,Apple 图标会被闪烁的问号取代;如果引导程序无法加载内核,Apple 图标会被禁止符号取代。
5.3 内核阶段
引导程序加载内核和基本 kexts 后,内核接管启动过程。内核加载足够的 kexts 以读取整个文件系统,从而加载其他 kexts 并启动核心操作系统。对于采用 Apple 芯片的 Mac 以及未开启 FileVault 的基于 Intel 的 Mac,Apple 图标下方的进度条会指示内核启动进度。如果基于 Intel 的 Mac 开启了 FileVault:
- 在看到进度条之前会显示登录窗口(除非正在安装更新)。
- 登录窗口会显示所有启用 FileVault 的用户,无论在“用户与群组”偏好设置中如何配置登录选项。
- 选择用户、输入正确密码并点击右箭头后,Mac 会在解锁启动磁盘并登录的用户名称下方显示进度条。
大多数情况下,内核由引导程序从缓存文件加载,内核也位于系统卷中,该文件通常在图形界面中对用户隐藏。最后,内核启动 launchd 守护进程。
5.4 launchd 阶段
系统启动期间,Apple 标志下方的进度条表示内核已完全加载,launchd 进程正在启动其他项目。launchd 位于 /sbin/launchd,进程识别号为 1,系统管理员(root)用户是 launchd 进程的所有者,因此它对系统上的每个文件都有读写访问权限(受 SIP 和隐私控制保护的文件除外)。launchd 是第一个生成其他子进程的父进程,这些子进程又会生成其他子进程。launchd 进程的首要任务是启动所有其他系统进程,然后用登录窗口或用户的桌面背景替换 Apple 标志。如果 Mac 有多台显示器,可能会注意到辅助显示器在启动时会短暂闪烁,这是 launchd 启动负责绘制 macOS 用户界面的 WindowServer 进程的结果,也是系统启动过程正在进行的良好指示。launchd 进程通过尽可能同时启动多个系统进程,并仅在启动时启动必要的系统进程来加速系统初始化。启动后,launchd 进程会根据需要启动和停止其他系统进程,通过动态管理系统进程,使 Mac 保持响应并尽可能高效运行。
launchd 偏好文件控制各种进程的配置,其位置如下:
- /System/Library/LaunchDaemons 文件夹用于系统进程。
- /Library/LaunchDaemons 文件夹用于第三方进程。
可以使用“活动监视器”查看 launchd 层次结构,选择“视图”>“所有进程,按层次结构”,然后选择任何进程以检查其父进程和子进程。
以下是系统初始化各阶段的流程图:
graph TD;
A[开机] --> B[固件加电自检];
B --> C{POST是否通过};
C -- 是 --> D[定位引导程序文件];
C -- 否 --> E[显示硬件错误代码];
D --> F{是否找到引导程序文件};
F -- 是 --> G[启动引导程序];
F -- 否 --> H[显示闪烁文件夹图标];
G --> I[加载内核和kexts];
I --> J[内核接管启动过程];
J --> K[启动launchd];
K --> L[启动其他系统进程];
L --> M[显示登录窗口或桌面背景];
E --> N[联系Apple支持];
H --> N;
综上所述,了解 Mac 打印故障排除方法和系统启动流程,有助于我们更好地使用和维护 Mac 设备,遇到问题时能够进行有效的排查和解决。
6. 启动过程中的常见问题及解决方法
在 Mac 启动过程中,可能会遇到各种问题,以下是一些常见问题及相应的解决方法:
| 问题表现 | 可能原因 | 解决方法 |
| ---- | ---- | ---- |
| 无法通过 POST | 硬件故障,如处理器、内存、网络接口等问题 | 关机后重新启动进行 POST 测试;访问 Apple 支持网站查找错误代码;将 Mac 送到 Apple 授权服务提供商处检修 |
| 无法找到引导程序文件 | “启动磁盘”偏好设置错误;引导程序文件损坏 | 检查“启动磁盘”偏好设置,确保选择正确的系统引导程序文件;若文件损坏,可能需要重新安装 macOS |
| 引导程序无法加载内核 | 内核文件损坏;缓存文件问题 | 尝试在安全模式下启动,让系统丢弃缓存文件重新加载;若问题依旧,可能需要重新安装 macOS |
| 登录窗口不显示或无法登录 | FileVault 问题;用户账户设置问题 | 检查 FileVault 状态,确保使用的是启用 FileVault 的用户账户登录;若账户设置有问题,可通过恢复模式重置账户密码 |
7. 启动快捷方式详细介绍(仅适用于基于 Intel 的 Mac)
基于 Intel 的 Mac 固件支持多种键盘快捷方式,在开机时按住这些快捷方式可以修改启动过程,以下是一些常见的启动快捷方式:
-
Command + R
:从 macOS 恢复功能启动,可进行磁盘工具操作、重新安装 macOS 等。操作步骤:关机后,按下电源按钮的同时按住 Command + R 组合键,直到看到 Apple 标志或旋转的地球图标。
-
Option
:显示启动管理器,可选择不同的启动磁盘或操作系统。操作步骤:关机后,按下电源按钮的同时按住 Option 键,直到看到启动管理器界面。
-
Shift
:以安全模式启动,系统会检查磁盘并加载必要的驱动程序。操作步骤:关机后,按下电源按钮的同时按住 Shift 键,直到看到登录窗口。
-
Command + Option + P + R
:重置 NVRAM 或 PRAM,可解决一些启动相关的问题。操作步骤:关机后,按下电源按钮的同时按住 Command + Option + P + R 组合键,直到听到第二次启动音。
8. 不同安全策略下的启动特点
不同的安全策略会影响 Mac 的启动过程,以下是不同安全策略下的启动特点:
| 安全策略 | 适用 Mac 类型 | 启动特点 |
| ---- | ---- | ---- |
| 全安全 | 采用 Apple 芯片的 Mac;基于 Intel 且有 T2 芯片的 Mac | 从开机起使用硬件验证启动过程的每一步,确保硬件和软件未被篡改 |
| 无安全(不建议) | 基于 Intel 且有 T2 芯片的 Mac | 不再评估硬件和软件,可启动任何系统,包括被篡改的系统,存在安全风险 |
| 中等安全(不建议) | 基于 Intel 且有 T2 芯片的 Mac | 有一定安全风险,可能导致数据丢失 |
| 无验证(基于 Intel 无 T2 芯片的 Mac 默认情况) | 基于 Intel 且无 T2 芯片的 Mac | UEFI 固件和 macOS 引导程序加载文件时不验证是否被篡改,需通过其他保护措施增强安全性 |
9. 系统初始化各阶段的相互关系及影响
系统初始化的各个阶段相互关联,前一个阶段的成功完成是后一个阶段顺利进行的基础:
- 固件阶段的 POST 测试通过,才能保证后续硬件正常工作,顺利定位和启动引导程序。
- 引导程序成功加载内核和基本 kexts,内核才能接管系统并继续启动过程。
- 内核加载完成并启动 launchd 后,launchd 才能启动其他系统进程,最终显示登录窗口或桌面背景。
任何一个阶段出现问题,都可能导致系统无法正常启动,例如固件阶段 POST 失败,后续的引导程序和内核加载都无法进行;引导程序无法加载内核,内核阶段和 launchd 阶段也将无法执行。
以下是系统初始化各阶段相互关系的流程图:
graph LR;
A[固件] --> B[引导程序];
B --> C[内核];
C --> D[launchd];
A -.-> C;
A -.-> D;
B -.-> D;
style A fill:#E5F6FF,stroke:#73A6FF,stroke-width:2px;
style B fill:#E5F6FF,stroke:#73A6FF,stroke-width:2px;
style C fill:#E5F6FF,stroke:#73A6FF,stroke-width:2px;
style D fill:#E5F6FF,stroke:#73A6FF,stroke-width:2px;
10. 总结
Mac 系统的启动过程是一个复杂而有序的过程,涉及多个组件和阶段,每个阶段都有其特定的功能和作用。同时,了解打印故障排除方法也能帮助我们在使用 Mac 进行打印操作时遇到问题时及时解决。
- 系统初始化的固件、引导程序、内核和 launchd 四个阶段相互协作,确保系统能够正常启动。
- 不同类型的 Mac 有不同的安全策略,我们应根据实际情况选择合适的安全策略,并采取必要的保护措施。
- 在启动过程中,我们可以利用启动快捷方式修改启动模式,解决一些常见的启动问题。
- 当遇到打印故障时,可以通过检查 CUPS 日志、重置打印系统等方法进行排查和解决。
通过深入了解 Mac 系统的启动流程和打印故障排除方法,我们能够更好地使用和维护 Mac 设备,提高工作效率和设备的稳定性。在日常使用中,我们还应定期对 Mac 进行维护和检查,确保系统的正常运行。
超级会员免费看

被折叠的 条评论
为什么被折叠?



