Mac note -two

来源:互联网 发布:小明发布永久域名台湾 编辑:程序博客网 时间:2024/06/18 15:49

制作好安装盘后,接下来的关键是引导安装Mac。
我用的方法是把clover放在U盘里直接引导安装的/我的clover是一位白果朋友帮我在Mac下专卖做的,引导安装出现的问题不多/
这里专门针对Clover&Clover Configurator的参数做下简介:
可以直接转这个网站学习
黑苹果引导工具 Clover 配置详解
部分转自链接
Clover 文件结构

BOOT:
ACPI: 存放DSDT.aml/SSDT.aml
CLOVERIA32.efi: 使用传统模式加载32位clover的主启动文件
CLOVERX64.efi: 使用传统模式加载64位clover的主启动文件
config.plist: clover配置文件,相当于变色龙的org.chameleon.boot.plist
doc: clover的帮助文档
drivers32: 使用传统模式加载32位clover.efi所需的驱动 (需验证)
drivers32UEFI: 使用传统模式加载32位clover.efi在模拟uefi环境下所需的驱动
drivers64: 使用传统模式加载64位clover.efi所需的驱动 (需验证)
drivers64UFI: 使用传统模式加载64位clover.efi在模拟uefi环境下所需的驱动
kexts: 使用kexts注入时,kext的存放位置
misc: 使用clover环境下的截图,提取dsdt.aml/ssdt.aml的存放位置
OEM: 分文件夹存放ACPI,config.plist等信息,及加载,实现单个U盘引导多个黑果平台
ROM: 显卡rom存放位置
themes: clover主题存放位置
tools: EFI Shell存放位置,放置用于进入shell环境的.efi,不可用于引导OSX,但可运行一些.efi程序

电脑启动过程:

bios引导: BIOS->boot0->boot1->BOOT->CLOVERIA32.efi->Apple’s
boot.efi->mach_kernel BIOS->boot0->boot1->BOOT->CLOVERX64.efi->Apple’s
boot.efi->mach_kernel UEFI BOOT: UEFI BIOS->CLOVERX64.efi->Apple’s
boot.efi->mach_kernel

ACPI

DSDT
DsdtName: dsdt.aml的名称
Debug
ReuseFFFF
SuspendOverride
SlpSsmiAtWake

Fix Display 修复显卡代码 (Yes/No, default: Yes)
Fix HPET 原生电源管理代码 (Yes/No, default: Yes)
Add DTGP 添加DTGP代码 (Yes/No, default: Yes)
Fix HDA 修复声卡代码 (Yes/No, default: Yes)
Add MCHC 添加MCHC代码 尚不清楚其具体作用 (Yes/No, default: No)
Fix LAN 修复网卡代码 经测试可修改网卡为内建 (Yes/No, default: Yes)
Fix Airport 修复Airport代码 无线网卡代码 (Yes/No, default: Yes)
Fix shutdown 修复关机断电代码 (Yes/No, default: Yes)
Fix USB 修复USB代码 包含EHCI代码(睡眠的关键)(Yes/No, default: Yes)
Fix Firewire 修复1394火线代码 (Yes/No, default: Yes)
Fix IDE 修复IDE代码 (Yes/No, default: No)
Fix SATA 修复SATA代码 经测试可修复“硬盘图标显示为橙黄色”问题 (Yes/No, default: No)
Fake LPC (Yes/No, default: No)
Fix SBUS (Yes/No, default: Yes)
Fix Darwin (Yes/No, default: Yes)
Fix IPIC 修复IPIC 尚不清楚其具体作用 (Yes/No, default: Yes)

DropTables
SSDT: 未知
HPET: 未知
ECDT: 未知
BGRT: 未知
MCFG: 未知
DMAR: 未知
APIC : 未知

SSDT
DoubleFirstState: (Yes/No, default: No) Ivy Bridge专用。ivy一般设为yes。依旧是cpu功耗有关。其他cpu可删。
DropOem 获取内建SSDT表单。clover可以自动获取,当然ssdt可放到EFI/OEM//ACPI/patched.
GenerateCStates: (Yes/No, default: No) 设为yes,开启c-state功能,修复启动时(ACPI_SMC_PlatformPlugin)
GeneratePStates: (Yes/No, default: No) 设为yes,开启p-state功能

PluginType 值为0,则使用ACPI_SMC_PlatformPlugin;值为1时用X86PlatformPlugin(for ivy)
PLimitDict: (Number, default: 0) 限制cpu频率。值0,1,2。0不开启。
UnderVoltStep: (Number, default: 0) 限制CPU功率,只针对core2,对i系列CPU无效。可设为0,1,2。

MinMultiplier 设置最小变频数(?)
MaxMultiplier 设置最大变频数(?)

XXXX
PatchAPIC (Yes/No, default: No) Fix NMI in APIC table. 在ACPI表单中NMI丢失时,mac启动可能五国,启动是要用CPUS=1。所以这个可以起到这个作用。没有这个问题的可以忽略。
smartUPS 若启用,则在系统概述的”电源“项中”UPS已安装“显示为”是“。只起修饰作用

Halt Enabler (Yes/No, default: No)

ResetAddress: (should be: 0x64) Restart address
ResetValue: (should be: 0xFE) Restart address
(以上两个值可保留,可删。如果你重启的时候有问题(重启不断电?),可按照FACP.aml中值更改。
获取该表单的最佳方法就是clover自带功能(按F2,呀,说啦好几遍啦~)。或用DarwinDumper勾选ACPI TABLE。这货DarwinDumper算是一个利器。)

BOOT

    <key>Boot</key>        <dict>                <key>Timeout</key>                <integer>5</integer>                <key>Arguments</key>                <string>npci=0x2000</string>                <key>DefaultVolume</key>                <string>MacHDD</string>                <key>Log</key>                <false/>                <key>Fast</key>                <false/>                <key>XMPDetection</key>                <string>-1</string>                <key>Legacy</key>                <string>PBR</string>        </dict>

Arguments
verbose mode (-v) -V启动
arch=i386 此参数不适用于10.8原生内核
arch=x86_64
slide=0 (Needed for 10.8)
darkwake=0 (for setting the “Deep sleep” mode in Lion/ML):一些mac的机型有这个参数才能深度睡眠。
npci=0x2000 (PCI Configuration Fix)
npci=0x3000 (PCI Configuration Fix)
dart=0 :bios中开启VT-x/VT-d无法启动os 的可使用这个参数
kemel
Mkext

DefaultBootVolume 默认启动分区.其值可以是分区卷标名,分区的uuid.
FAT, hfs 可以直接用mac下显示的卷标名, ntfs 是clover引导界面显示的名称如Legacy HD*
磁盘工具中信息项可以查看到uuid值(通用唯一标识), 分区详细信息 (preboot.log中可以查看到)
Legacy 一般默认PBR
XMPDetection -1
Log (Yes/No, default: No) 调试日志,默认不开启,开启影响clover加载速度、
Fast (Yes/No, default: No)

CPU

FrequencyMHz 设置CPU频率 eg.3.3GHz -> 3300
BusSpeedkHz 设置主频。eg.133MHz -> 133330 100MHz -> 99790kHz
Latency
Type 设置CPU类型,数值可百度。eg.core i3 ->0x0901
QPI 设置CPU的QPI,数值可百度。eg.i3 2120->5000
C2 启用CPU的Turbo功能
C4 启用CPU的Turbo功能
C6 启用CPU的Turbo功能

DEVICES (旧PCI板块)

        <key>Devices</key>        <dict>                <key>Inject</key>                <false/>                <key>Audio</key>                <dict>                        <key>Inject</key>                        <string>No</string>                </dict>                <key>FakeID</key>                <dict>                        <key>ATI</key>                        <string>0x0</string>                        <key>IntelGFX</key>                        <string>0x0</string>                        <key>NVidia</key>                        <string>0x0</string>                        <key>SATA</key>                        <string>0x0</string>                        <key>WIFI</key>                        <string>0x0</string>                        <key>LAN</key>                        <string>0x0</string>                        <key>XHCI</key>                        <string>0x0</string>                </dict>                <key>USB</key>                <dict>                        <key>Inject</key>                        <true/>                        <key>FixOwnership</key>                        <true/>                        <key>AddClockID</key>                        <true/>                </dict>        </dict>        <key>SystemParameters</key>        <dict>                <key>InjectSystemID</key>                <true/>        </dict>

FakeID 设备ID
Audio (Yes/No, default: No)
USB USB修正 (Yes/No, default: Yes)
Inject 使得usb键盘鼠标能唤醒os
FixOwnership 修复USB所有权问题在UEFI模式引导时
AddClockID 使得唤醒mac后,usb依旧正常工作
LpcTune 似乎未达到预期目标,作用不知,应该是有关LPC注入

DisableDrivers

DisableDrivers

CsmVideoDxe
VBoxExt4

这个主要是禁止EFI驱动作用。应该是试图进入mac后消除EFI驱动的影响。有待测试。

GUI

        <key>GUI</key>        <dict>                <key>Hide</key>                <array>                        <string>Windows</string>                        <string>\EFI\BOOT\BOOTX64.EFI</string>                </array>                <key>Language</key>                <string>zh_CN:0</string>                <key>Mouse</key>                <dict>                        <key>Enabled</key>                        <false/>                        <key>Speed</key>                        <integer>0</integer>                </dict>                <key>Scan</key>                <dict>                        <key>Entries</key>                        <true/>                        <key>Legacy</key>                        <true/>                        <key>Tool</key>                        <true/>                </dict>                <key>TextOnly</key>                <false/>                <key>Theme</key>                <string>bluemac</string>        </dict>

Language 设置clover的界面语言
Hide 隐藏的分区
Theme clover的主题

Craphics

DualLink 0为关闭,1为启用。这个值开启可以解决某些高分屏花屏,黑边的问题。但某些卡必须设为0,否则进入mac可能见到4个桌面。(见到四个桌面当然也不一定是这个原因)
FBName FBname就是变色龙中ati config值,其值要和你修改FB使用参数对应
NVCAP display-cfg,N卡特有信息的.
VRAM 设置显卡的显存 eg.512MB->512
VideoPorts 定义了显卡的输出端口
Display-cfg 设置显卡的display-cfg数值
ig-platform-id 是特为hd4000或hd2500准备的

LoadVBios 使用提取的显卡rom,应该同chameleon。不过对于A卡移动版这个值可能要开启。A卡特有信息
PatchVBios 启用对开机扁平苹果logo的修复 默认NO
InjectEDID 注入自定的EDID
Injectintel 启用显卡自动识别功能 (Yes/No, default: Yes)
InjectATI 启用显卡自动识别功能 (Yes/No, default: No)
InjectNVidia 启用显卡自动识别功能 (Yes/No, default: No)

KernelAndKextPatches

AppleRTC 启用修复AppleRTC.kext重置bios功能 (Yes/No, default: Yes)
AsusAICPUPM 启用修复AICPM无法加载的问题 (Yes/No, default: Yes)
Debug 启用debug (Yes/No, default: No)
KernelCpu 启用修复内核不支持的CPU的功能 如Atom, Pentium 4 (Yes/No, default: No)
KernelLapic:在v1731版本后加入 LAPIC kernel panic for HP notebook修复功能。使得hp笔记本启动无需输入cpu=1的启动参数。

ATIConnectorsController 定义要修改的驱动名字,规则如下:
6系列的Connectors就要在ATIConnectorsController定义6000
7系列的Connectors就要在ATIConnectorsController定义7000
5系列的Connectors就要在ATIConnectorsController定义5000

ATIConnectorsData 定义要修改的原始数据
ATIConnectorsPatch 为修改后适合你的显卡的参数

KextsToPatch

<key>KextsToPatch</key><array><key>0</key><dict>        <key>Name</key>        <string>VoodooHDA</string>        <key>Find</key>        <data>SGVhZHBob25lcwA=</data>        <key>Replace</key>        <data>VGVsZXBob25lcwA=</data></dict></array>

RtVariables

    <key>RtVariables</key>    <dict>            <key>MountEFI</key>            <true/>            <key>LogLineCount</key>            <integer>3000</integer>            <key>LogEveryBoot</key>            <string>10</string>    </dict>

LogEveryBoot 启用每次启动的纪录
LogLineCount 日志文件的总行数
MountEFI 开机加载efi分区
ROM 参数值为十二位十六进制。这个参数一般会从smbios中获取。一般不管。此项设置有关网卡的mac地址。既反映此值可随机。
MLB:和主板 serial number相关,17位数。其设置无别规则。最好的设置是sm+五个随机数,12位系列号加5个数随你选择。在以前可解决imessage登入后重启退出无法再次登入的的问题。现在加这个不知道有什么特别的意思。

SMBIOS

默认不设置,clover,它会自动设置认为合适你电脑配置的机型信息.如果你要设置特定的机型信息.

BiosReleaseDate bios发布日期 02/29/08
BiosVendor bios提供商 Apple Computer, Inc.
BiosVersion MP31.88Z.006C.B05.0802291410
Board-ID Mac-F42C88C8
BoardManufacturer 主板提供商 Apple Computer, Inc.
BoardSerialNumber 设置处理器托架的序列号
BoardType 11
BoardVersion 1.0
ChassisManufacturer 机箱提供商 Apple Computer, Inc.
ChassisAssetTag Pro-Enclosure
ChassisType 6
Family Mac Pro
Manufacturer 整机制造商 Apple Computer, Inc.
ProductName MacPro3,1
SerialNumber 4H629LYAU9C
SmUUID 格式应为00000000-0000-1000-8000-xxxxxxxxxxxx “xxxxxxxxxxxx”为你的网卡MAC值
Version 应为1.0

Mobile 若为移动平台,请设为yes
Trust 和内置定义的smbios table挂钩,如果你的内存侦测存在问题请设置为NO试试

Memory
Channels 为通道数。一般旧主板是双通道,即数值为2
SlotCount 插槽数,最大可支持24个插槽。
Size: 内存大小。通用有:512,1024,2048,4096.可整型,可字符型
Frequency: 内存频率。常用800,1300,1600
Type: 插槽位置,值可为整型,也可字符型.值0~24.Type:内存条类型,有DDR2,DDR3,DDR
Vendor: 制造商,如Corsair

SystemParameters

SystemParameters

BacklightLevel //笔记本背景亮度调节,0xFFFF是最亮的,默认值0x0501,台式机可忽略
0xffff
CustomUUID //定制系统信息中的硬件UUID

InjectKexts //启用自动注入UUID功能 注:可能导致每次开机的UUID千变万化

InjectSystemID


Clover的关键是配置config
这里给出一个模板,然后根据自己的电脑配置自己修改

<?xml version="1.0" encoding="UTF-8"?><!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd"><plist version="1.0"><dict>    <key>ACPI</key>    <dict>        <key>DSDT</key>        <dict>            <key>Debug</key>            <false/>            <key>Fixes</key>            <dict>                <key>AddDTGP_0001</key>                <false/>                <key>AddHDMI_8000000</key>                <false/>                <key>AddIMEI_80000</key>                <false/>                <key>AddMCHC_0008</key>                <false/>                <key>AddPNLF_1000000</key>                <false/>                <key>DeleteUnused_400000</key>                <false/>                <key>FIX_ACST_4000000</key>                <false/>                <key>FIX_ADP1_800000</key>                <false/>                <key>FIX_INTELGFX_100000</key>                <false/>                <key>FIX_RTC_20000</key>                <false/>                <key>FIX_S3D_2000000</key>                <false/>                <key>FIX_TMR_40000</key>                <false/>                <key>FIX_WAK_200000</key>                <false/>                <key>FakeLPC_0020</key>                <false/>                <key>FixAirport_4000</key>                <false/>                <key>FixDarwin_0002</key>                <false/>                <key>FixDisplay_0100</key>                <false/>                <key>FixFirewire_0800</key>                <false/>                <key>FixHDA_8000</key>                <false/>                <key>FixHPET_0010</key>                <false/>                <key>FixIDE_0200</key>                <false/>                <key>FixIPIC_0040</key>                <false/>                <key>FixLAN_2000</key>                <false/>                <key>FixRegions_10000000</key>                <false/>                <key>FixSATA_0400</key>                <false/>                <key>FixSBUS_0080</key>                <false/>                <key>FixShutdown_0004</key>                <false/>                <key>FixUSB_1000</key>                <false/>                <key>NewWay_80000000</key>                <false/>            </dict>            <key>Name</key>            <string>DSDT.aml</string>            <key>ReuseFFFF</key>            <false/>        </dict>    </dict>    <key>Boot</key>    <dict>        <key>Arguments</key>        <string></string>    </dict>    <key>Devices</key>    <dict>        <key>FakeID</key>        <dict>            <key>ATI</key>            <string>0x0000</string>            <key>IMEI</key>            <string>0x0000</string>            <key>IntelGFX</key>            <string>0x0000</string>            <key>LAN</key>            <string>0x0000</string>            <key>NVidia</key>            <string>0x0000</string>            <key>SATA</key>            <string>0x0000</string>            <key>WIFI</key>            <string>0x0000</string>            <key>XHCI</key>            <string>0x0000</string>        </dict>        <key>USB</key>        <dict>            <key>AddClockID</key>            <false/>            <key>FixOwnership</key>            <false/>            <key>HighCurrent</key>            <false/>            <key>Inject</key>            <false/>        </dict>    </dict>    <key>GUI</key>    <dict>        <key>Scan</key>        <true/>        <key>Theme</key>        <string>black_green</string>    </dict>    <key>Graphics</key>    <dict>        <key>CustomEDID</key>        <string>_NOT_SHOWN_</string>        <key>DualLink</key>        <integer>1</integer>        <key>Inject</key>        <dict>            <key>ATI</key>            <false/>            <key>Intel</key>            <false/>            <key>NVidia</key>            <false/>        </dict>        <key>InjectEDID</key>        <false/>        <key>LoadVBios</key>        <false/>        <key>PatchVBios</key>        <false/>        <key>ig-platform-id</key>        <string>0x0000</string>    </dict>    <key>KernelAndKextPatches</key>    <dict>        <key>AppleRTC</key>        <false/>        <key>AsusAICPUPM</key>        <false/>        <key>Debug</key>        <false/>        <key>KernelCpu</key>        <false/>        <key>KernelLapic</key>        <false/>        <key>KernelPm</key>        <false/>        <key>KextPatchesAllowed</key>        <true/>        <key>KextsToPatch</key>        <array/>    </dict></dict></plist>
0 0
原创粉丝点击