zoukankan      html  css  js  c++  java
  • Clover 引导简明教程

    如何打开啰嗦模式进行排错

    开机进入 clover 引导界面, 


    勾选以下选项: 
    选择 Boot macOS with selected options 启动 出现错误画面拍照发群里寻求帮助。

    Clover 是什么

    什么是 Clover(三叶草)呢?显然它不是指的草地里用来喂牛的草啦。Clover 是一个软件,是一个新型的启动器,它能够让普通的 PC 上用上 Mac OS X 系统。

    苹果公司(Apple)限制 Mac OS X 系统只能在 Apple 设备上使用,并且苹果不保证 Mac OS X 在其它设备上能够正常工作。所以,用户需要承担一定的风险。当然,为了避免其它的法律纠纷,你不应该用作商业用途。装上了 Mac OS X 的非苹果电脑,就叫做黑苹果 (Hackintosh)。

    名字的来源

    启动器的名字 Clover 由一位创建者 kabyl 命名。他发现了四叶草和 Mac 键盘上 Commmand 键的相似之处,由此起了 Clover 这个名字。

    维基百科:四叶草是三叶草的稀有变种。根据西方传统,发现者四叶草意味的是好运,尤其是偶然发现的,更是祥瑞之兆。另外,第一片叶子代表信仰,第二片叶子代表希望,第三片叶子代表爱情,第四片叶子代表运气。

    Clover 能干什么

    Clover 是一个操作系统启动加载器 (boot loader),能够同时运行于支持 EFI 方式启动的新式电脑和不支持它的老式电脑上。一些操作系统可以支持以 EFI 方式启动,比如 OS X, Windows 7/8/10 64-bit, Linux;也有不支持的,比如 Windows XP,它只能通过传统的 BIOS 方式来启动,也就是通过启动扇区来启动。

    EFI 不仅存在于操作系统的启动过程中,它还会创建操作系统可访问的表和服务 (tables and services),操作系统的运行依赖于 EFI 正确的提供功能。从内建的 UEFI 来启动 OS X 是不可能的,用原始的 DUET 来启动 OS X 也不可能。CloverEFI 和 CloverGUI 做了大量的工作来修正内部表,让运行 OS X 成为可能。

    译注:DUET(Developer’s UEFI Emulation),开发者的 UEFI 模拟

    Clover 的两种启动方式

    启动方式 A: 基于 BIOS 的电脑(老式主板) BIOS->MBR->PBR->boot->CLOVERX64.efi->OSLoader

    启动方式 B: 基于 UEFI 的电脑(新式主板) UEFI->CLOVERX64.efi->OSLoader

    Clover 兼 EFI 的目录结构

    Clover 驱动程序详解

    BIOS 启动过程中(启动方式 A)要用到 drivers32 或 drivers64 目录,UEFI 启动过程中(启动方式 B)则使用 drivers64UEFI目录。它们的内容会根据配置和 BIOS 版本而有所不同。 必须要提的一点是这些驱动程序只在 bootloader 运行时有效,不会影响最终启动的操作系统。 至于到底要使用哪些驱动程序由用户来决定。

    Drivers64UEFI 目录几必备的驱动程序:

    驱动程序

    详解

    apfs.efi

    苹果新推出的文件系统,macOS 10.13 必备

    FSInject.efi

    控制文件系统注入 kext 到系统的可能性。详细解释请参照 WithKexts

    HFSPlus.efi

    HFS + 文件系统驱动程序。这个驱动对于通过启动方式 B 来启动 Mac OS X 是必须的。启动方式 A 中用到的启动程序 (CloverEFI) 已经包含了这个驱动

    OsxAptioFixDrv-64.efi

    修复 AMI Aptio EFI 内存映射。如果没有就不能启动 OS X

    OsxFatBinaryDrv-64.efi

    允许加载 FAT 模块比如 boot.efi

    CsmVideoDxe.efi

    比 UEFI 里提供更多分辨率的显卡驱动 (可选)

    OsxAptioFix2Drv-64.efi

    部分机型可能会需要 (可选)

    Clover Bootloader 详解

    本节会详细介绍 Clover 各项功能的用法

    Clover 主界面

    使用 Clover 开机引导后,默认的系统界面如下:

    本例中:

    • 蓝色图标为 Windows 10 的引导
    • 绿色图标为 Ubuntu Linux 的引导
    • 橙色图标为 macOS High Sierra 的引导
    • 红色图标为 macOS Sierra的引导

    当你想引导到不同的操作系统,只需要移动键盘上的左右键到各自的图标后回车即可。

    帮助菜单 F1

    按 F1 键会呼出 Clover 的帮助信息

    • ESC 退出子菜单,恢复到主菜单

    • F1 帮助

    • F2 保存 preboot.log 到 EFI/CLOVER/misc/ 目录下,以便于您排错

    • F3 显示 被隐藏 的入口

      • 比如你在 config.plist 中隐藏了 Recovery HD
      • 当你想进入恢复模式的时候,可以不需要修改 config.plist 而直接按 F3 显示出那些被你隐藏的引导项。如下图:
    • F4 提取 DSDT 保存到 EFI/CLOVER/ACPI/origin/

      • 此选项会经常用到。比如你的机器出现问题,需要别人帮助你解决问题,人家会跟你要 DSDT ,这个时候你只需要在 Clover 引导界面按下快捷键 F4 即可提取
    • F5 提取修正过的 DSDT 保存到 EFI/CLOVER/ACPI/origin/

    • F6 提取显卡 ROM VideoBios 保存到 EFI/CLOVER/misc/

    • F10 截屏,截取当前界面,保存到 EFI/CLOVER/misc/

    • F11 重置 NVRAM,r4299 版本新增

    • 空格 选定菜单项的详细信息

    • 数字 1-9 菜单项的快捷键

    • A 关于 Clover

    • Clover 选项

      • 此选项是 Clover 的核心,所有的选项都在这个菜单里,当你无法引导进入 macOS 系统使用 Clover Configurator进行选项调整时,可以通过该选项进行修改进入系统。后面会详细介绍
    • R 软复位

    • U 退出

    如何打开啰嗦模式进行排错【重复内容,目的是加深印象】

    开机进入 clover 引导界面,

    在要引导的分区卷标上按 空格 即可进入
    勾选以下选项:
    选择 Boot macOS with selected options 启动 出现错误画面拍照发群里寻求帮助。

    Clover Options:Clover 选项

    文章上面已经提到了 Clover 的选项是它的核心,那么现在就让我们走进 Clover 选项设置

    照例先上一张图:

    • Boot Args

      • 引导参数传递,比如前面教大家的使用 -v 打开啰嗦模式,就是通过它传递的;再比如你使用了不兼容版本的 Lilu 和 AppleALC 而导致无法进入系统时,可以在这上面手动添加上: -liluoff 或者 -alcoff 跳过相关的驱动而进入系统
    • Configs

      • 配置文件选择。当你有不止一个 config.plist 配置文件时,可以通过该选项选择不同的配置文件进入系统
      • 操作过程

        • 光标移动到 Configs

        • 回车后进入子菜单

        • 通过光标上下移动选择其它的配置文件,回车后按 ESC 键退到主菜单

    • GUI tuning

      • Clover 主题切换,当你有不止一套主题的时候,可以通过该选项切换主题
      • 操作过程 
        • 光标移动到 GUI tuning
        • 回车后进入子菜单
        • 光标移动到 Themes ,回车后进入子菜单
        • 通过光标上下移动选择其它的主题,回车后按 ESC 键退到主菜单,Clover 主界面已经刷新为选择的新主题
    • ACPI patching

      • 电源补丁:进不去电脑的,需要 drop tables 的,禁用 / 调用 DSDT.aml ,禁用 hotpatch ,无关关机的,无法重启的;总之跟电源相关的都在这里边。

      • 操作过程 光标移动到 ACPI patching

        回车后进入子菜单

        • Debug DSDT

          • 打开 DSDT 调试模式
        • DSDT name

          • 默认文件名为:DSDT.aml
        • Tables dropping

          • 光标移动到 Tables dropping 回车进入
          • 通过移动光标按空格勾选各选项,按 ESC 退出该子菜单
          • 该表格等同于使用 Clover Configurator 打开 config.plist 后,在 ACPI 选项的左下角 Drop Tables
        • Drop OEM _DSM

          • 丢弃_DSM
          • 光标移动到 Drop OEM _DSM 回车进入
          • 通过移动光标按空格勾选各选项
          • 按 ESC 退出该子菜单
        • DSDT fix mask

          • DSDT 修复遮盖
          • 详细说明如下:
    参数描述
    AddDTGP 修改 DSDT 添加方法所必须依赖的函数。必不可缺
    Fixshutdown 关机修复,主要是添加 _PTS 函数,判断寄存器 arg0 值是否为 5 ,华硕主板建议勾选.
    AddMCHC 这个功能是在 dsdt 中添加一装置具体是 DveiceID=0X0044, 匹配 Intel Clarkdale 平台。有些芯片需要这个装置来解决 PCI 的电源管理问题,一般不启用
    FixHPET 修复 HPET ,添加 IRQ(0,8,11) 加载原生电源管理,10.9 不需要
    FakeLPC 仿冒 LPC ,一般 Clover 会自动注入合适的芯片参数到 dsdt 中,来达到加载 AppleLPC.kext 的目的。对以 Intel and NForce 芯片,建议勾选。特别是芯片组比较老的如:ICH7,ICH9
    FixIPIC 从 decice IPIC 移除中断语句 (IRQ(2)), 有助于电源按钮的工作,对于笔记本而言,更希望增加这个中断功能
    FixSBUS 增加 SMBusControlle 到设备树种,可修复因缺失 SBUS 控制而在系统 log 中出现的警告,建议勾选
    Fixdisplay 增加 GFX0, 和 HDMI 音频设置 HADU. 如果设置了 FAKEID 也会增加到这边,建议勾选
    FixIDE 修复在 10.6 事五国出现的 AppleIntelPIIXATA 错误。 一般不启用
    FixSATA 内建磁盘,用 ICH6 的 ID 匹配,解决橙色磁盘问题,一般启用
    FixFIREWIRE 在火线控制装置中增加 fwhub 属性。一般不启用
    FixUSB 注入 USB 属性,帮助内建 USB
    FixLAN 注入网卡属性,帮助网卡内建。建议启用
    FixAirport 为支持 Airport 的无线网卡注入属性,以开启 Airport 功能,无此设备的不启用
    FixHDA 修正 AZAL to HDEF or HDAU, 增加 layout -id 和 pinconfig,MaximumBootBeepVolume 属性
    FixDarwin7 这项补丁只有 Darwin OS 系统[苹果系统]识别
    FixRTC 从 RTC 装置中删除 IRQ(0),作用是否与 patch 里的防 RTC 重置类似?
    FixTMR 从 TMR 装置中删除 IRQ(8),适用于较早的 dos 设备,现代新的计算机不需要补丁,这个问题只是以前没发现[作者]
    AddIMEI 这个设置用于 intelHDxxx 集成显卡,解决完美注入。这项也需要开启 fakeid -> IMEI
    FixIntelGfx 开启对 IntelGFX 显卡的新补丁设置,不开启则补丁不会生效[配合 imei]
    FixWAK 这个补丁主要是消除警告,如在 method_WAK 下缺少返回语句则加入 Return(Package(0)),我不知道会有什么
    DeleteUnuse 从 DSDT 中删除没有使用的设备如软盘驱动器,打印机端口和其他没用的设备
    FixADP1 将 “AC0” 设备 重命名为 “ ADP1” 设备.
    AddPNLF 添加一个非常实用的 PNLF 设置代码:当然只有你可以调节亮度控制时才有用。这个补丁也会对系统良好的睡眠 / 唤醒
    FixS3D 修正了 _S3Dmethods 函数,也解决了一些睡眠 / 唤醒的问题
    FixACST ACST 项含义对于苹果和华硕意义不同,对于华硕是 AC 适配器状态,而苹果是一个替代_cst,c-states table[CPU 闲置休眠状态的功能]。如果要没有冲突就要将其重名为其他名称的东西
    AddHDMI 修复 HDMI 音频输出问题(无需修改 AppleHDA)
    FixRegions 因为 BIOS 当中的一些内容改变了。这个浮动的区域导致无法使用自定义 DSDT(custom DSDT),因为这个区域可移动且不符合当前的状态。这个补丁的目的是找到 BIOS 中所有这样的区域并在自定义 DSDT 中加以修正。所以现在你可以生成有错误区域的自定义 DSDT 然后使用这个补丁
    FixHeaders MACH reboot 修复

    * 光标移动到 DSDT fix mask 回车进入


    * 通过移动光标按空格勾选各选项

    * 按 ESC 退出该子菜单 
    * Custom DSDT patches 
    * 自定义的 DSDT 补丁 
    * 光标移动到 Custom DSDT patches 回车进入

    * 通过移动光标按空格勾选各选项

    * 按 ESC 退出该子菜单

    Block injected kexts 管理你的驱动程序

    通过 Clover 加载的驱动程序位于 EFI/CLOVER/kexts/Other ,也有可能位于 EFI/CLOVER/kexts/10.13 或者 EFI/CLOVER/kexts/10.12 目录中。它至少包括以下驱动程序:

    驱动程序详细信息备注
    FakeSMC.kext 安装 hackintosh 的核心程序,没有它就没法在你的电脑上面运行 macOS 必备
    Lilu.kext 内核扩展程序,离开它,下面的几个程序都无法正常运行 必备
    WhateverGreen.kext 显卡综合修复,整合了核显、AMD、NVIDIA 的综合修复,包括 (单卡启动黑屏,唤醒黑屏 等等)(依赖于 Lilu) 必备
    AppleALC.kext 动态对系统注入必要的文件 / 打补丁以驱动声卡 (依赖于 Lilu) 可选
    IntelGraphicsFixup.kext 修补 Intel 核显综合问题 (开机花屏,Haswell/Skylake 因 PAVP 导致的死机等等)(依赖于 Lilu) 可选

    IntelGraphicsDVMTFixup.kext | 修正 Broadwell/Skylake 平台核显因 DVMT 不足而导致的死机 (依赖于 Lilu)| 可选 
    |NvidiaGraphicsFixup.kext | 修正 N 卡 (可能也适用于 I 卡) 使用某些 SMBios 如 MacPro6,1 等引发黑屏的问题 (依赖于 Lilu)| 可选 
    |AirportBrcmFixup | 修补 Broadcom Wi-Fi 综合问题 | 可选 
    |FakePCIID.kext | 仿冒 PCI 设备核心驱动,部分驱动依赖于它 | 可选 
    |ACPIBatteryManager.kext | 笔记本电池管理驱动 | 可选 
    |RealtekRTL8xxx.kext|Realtek 8xxx 网卡驱动程序 | 可选 
    |VoodooPS2Controller.kext|Voodoo 键盘 / 鼠标驱动程序 | 可选

    当你面对这么一堆驱动的时候,如何让它们有条不紊地正常工作呢?万一出现问题的时候又如何让这些驱动在 Clover 引导的时候禁用它们呢?这个时候 Block injected kexts 就派上用场了。新版的 Clover Bootloader 已经将 Block injected kexts 放到了 macOS 系统分区的图标下面了。

    • 操作方法:

      • 开机进入 clover 引导界面,要引导的分区卷标上按 空格 即可进入 

      • 光标移动到 Block injected kexts 回车进入 

      • 选择当前系统加载的驱动程序目录 

      • 勾选禁用的驱动程 

      • 按 ESC 退出该子菜单

     

    全文完本文由 简悦 SimpRead 优化,用以提升阅读体验。如何打开啰嗦模式进行排错Clover 是什么名字的来源Clover 能干什么Clover 的两种启动方式Clover 兼 EFI 的目录结构Clover 驱动程序详解Drivers64UEFI 目录几必备的驱动程序:Clover Bootloader 详解Clover 主界面帮助菜单 F1如何打开啰嗦模式进行排错【重复内容,目的是加深印象】Clover Options:Clover 选项Block injected kexts 管理你的驱动程序

  • 相关阅读:
    Winform—C#读写config配置文件
    C# 中Web.config文件的读取与写入
    Redis配置文件详解
    三层架构之泛型抽象
    Linq To Sql语法及实例大全
    junit单元测试(keeps the bar green to keeps the code clean)
    观 GT Java语言管理系统的感悟
    java考核完的心得
    15个C++项目列表
    C++文件操作(fstream)
  • 原文地址:https://www.cnblogs.com/al88/p/12728710.html
Copyright © 2011-2022 走看看