天天看點

Mac note -two

制作好安裝盤後,接下來的關鍵是引導安裝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>
           

繼續閱讀