操屁眼的视频在线免费看,日本在线综合一区二区,久久在线观看免费视频,欧美日韩精品久久综

新聞資訊

    上個月在 @polaris @軒脈刃 的全棧技術群里看到一個小伙伴問 “說 defer 在棧退出時執行,會有性能損耗,盡量不要用,這個怎么解?”。

    恰好前段時間寫了一篇 golang 中 defer 的后進先出特性是怎么做到的呢? 去詳細剖析 defer 關鍵字。那么這一次簡單結合前文對這個問題進行探討一波,希望對你有所幫助,但在此之前希望你花幾分鐘,自己思考一下答案,再繼續往下看。

    01 測試

    基準測試:

    輸出結果:

    從結果上來,使用 defer 后的函數開銷確實比沒使用高了不少,這損耗用到哪里去了呢?

    02 想一下

    我們在前文提到 defer 關鍵字其實涉及了一系列的連鎖調用,內部 runtime 函數的調用就至少多了三步,分別是 runtime.deferproc 一次和 runtime.deferreturn 兩次。

    而這還只是在運行時的顯式動作,另外編譯器做的事也不少,例如:

    • 在 deferproc 階段(注冊延遲調用),還得獲取/傳入目標函數地址、函數參數等等。
    • 在 deferreturn 階段,需要在函數調用結尾處插入該方法的調用,同時若有被 defer 的函數,還需要使用 runtime·jmpdefer 進行跳轉以便于后續調用。

    這一些動作途中還要涉及最小單元 _defer 的獲取/生成, defer 和 recover 鏈表的邏輯處理和消耗等動作。

    03 Q&A

    最后討論的時候有提到 “問題指的是本來就是用來執行 close() 一些操作的,然后說盡量不能用,例子就把 defer db.close() 前面的 defer 刪去了” 這個疑問。

    這是一個比較類似 “教科書” 式的說法,在一些入門教程中會潛移默化的告訴你在資源控制后加個 defer 延遲關閉一下。例如:

    resp, err :=http.Get(...)
    if err !=nil {
     return err
    }
    defer resp.Body.Close()
    

    但是一定得這么寫嗎?其實并不,很多人給出的理由都是 “怕你忘記” 這種說辭,這沒有毛病。但需要認清場景,假設我的應用場景如下:

    嗯,一個請求當然沒問題,流量、并發一下子大了呢,那可能就是個災難了。你想想為什么?從常見的 defer + close 的使用組合來講,用之前建議先看清楚應用場景,在保證無異常的情況下確保盡早關閉才是首選。如果只是小范圍調用很快就返回的話,偷個懶直接一套組合拳出去也未嘗不可。

    04 結論

    一個 defer 關鍵字實際上包含了不少的動作和處理,和你單純調用一個函數一條指令是沒法比的。而與對照物相比,它確確實實是有性能損耗,目前延遲調用的全部開銷大約在 50ns,但 defer 所提供的作用遠遠大于此,你從全局來看,它的損耗非常小,并且官方還不斷地在優化中。

    因此,對于 “Go defer 會有性能損耗,盡量不能用?” 這個問題,我認為該用就用,應該及時關閉就不要延遲,在 hot paths 用時一定要想清楚場景。

    05 補充

    最后補充上柴大的回復:“不是性能問題,defer 最大的功能是 Panic 后依然有效。如果沒有 defer,Panic 后就會導致 unlock 丟失,從而導致死鎖了”,非常經典。

    本文作者:煎魚,原創授權發布

    如果僅限于制作一份可以進入黑蘋果安裝界面的EFI文件,大家只要稍作了解即可。喜歡折騰的朋友可以自己動手試試。主要設置部分我都會在圖中加紅圈說明。

    ==========================================================================

    想要詳細了解的朋友就要認真研究了,這將花費你大量的時間和精力。我也將我所知道的部分加以詳細說明,以方便您的學習。也希望您可以將您所知道的而我并沒有寫到的部分留言告訴我。好讓我們一起來完善這份學習資料。==========================================================================

    注:如上面所示,在2排等號間的文件適合有一定基礎并且喜歡鉆研的朋友閱讀,新手朋友可以跳過,不用閱讀。


    現在。我將開始為大家演示一下如何制作一份用于系統安裝的EFI文件。

    這需要一臺白果或者黑果,一份EFI文件,還有一款軟件。EFI文件,最好找到一個同型號電腦的EFI文件,直接使用,這樣可以使你少走些彎路。軟件名為Clover Configurator,用來在MAC系統下配置config.plist。其實它也有windows版本,只是不如MAC版本好用而已。

    好了。不說廢話了,現在開始

    1、在MAC下打開Clover Configurator

    點擊窗口左側Mount EFI菜單。

    點擊 右側下方 Mount Partition 按鈕 掛載分區。

    在彈出窗口中輸入當前賬戶密碼,容許程序加載ESP分區。

    點擊 Open Partition 按鈕 打開ESP分區。

    現在大家看到的這個名為EFI的文件夾就是我的電腦當前所使用的clover引導文件。將其復制到桌面后把窗口關閉。這樣我就獲得了一份EFI文件。

    2、刪減文件

    打開桌面EFI文件夾,如下圖所示:

    圖中 APPLE文件夾為我當前電腦的系統引導文件,對其他電腦無用,將其刪除。如果你所得的EFI文件夾中還有Microsoft文件夾、UBUNTU文件夾,請都將其刪除。

    只保留最基本的CLOVER文件現在我們繼續雙擊打開clover文件夾

    打開驅動文件夾KEXTS

    ==========================================================================

    Clover 文件夾結構:(不研究的朋友可以不看,直接看下一頁面設置)

    ACPI\ORIGIN: 保存提取到的原始DSDT文件。ACPI\PATCHED: 存放修改好的用戶DSDT.aml和SSDT.aml 。CLOVERX64.efi: 64位CLOVER的主啟動文件 。config.plist: CLOVER配置文件。DOC: CLOVER的幫助文檔 。DRIVERS64UEFI: 使用UEFI模式加載64位CLOVER所需要的驅動文件。KEXTS: 使用驅動注入時,CLOVER加載的驅動文件的存放位置。MISC: 存放CLOVER環境下的截圖文件。OEM: 分文件夾存放ACPI、config.plist等文件。用以加載,實現單個U盤引導多個黑蘋果系統。ROM: 保存提取到的顯卡ROM文件。THEMES: CLOVER主題存放位置。TOOLS: EFI Shell存放位置,放置用于進入shell環境的.efi文件,不可用于引導OSX,但可運行一些.efi程序。==========================================================================

    這里如有其他文件夾都可刪除,只保留OTHER文件夾,雙擊打開

    這里就是電腦開機加載的驅動文件,遵守最簡原則,只保留必須的,其余刪除。特別注意:如果你的EFI是相同機型電腦提取的完美clover文件,一定要注意備份,后期還要使用。

    因為我們要安裝的是筆記本電腦,所以我保留以上驅動。ACPIBatteryManager.kext 電池電量驅動。FakeSMC.kext 騙MAC系統我是合法的,嘿嘿。USBInjectAll.kext USB驅動。VoodooPS2Controller.kext PS2接口驅動,我的觸控版需要。如果安裝臺式機的話,電池和PS2驅動都可以刪除。

    我們再返回到clover目錄下

    打開 ACPI 文件夾

    這里有2個文件夾:origin 和 patchedorigin保存提取到的原始DSDT文件,patched保存修正后的DSDT文件。你得到的這些文件都不是你自己本機的,所以請清空這2個目錄。

    注:筆記本電腦若型號完全相同的,可將整個EFI文件完整備份供安裝后使用。

    3、配置config.plist文件

    現在我們打開桌面EFI\CLOVER\config.plist文件,對其修改

    點擊窗口左側SYSTEM PARAMETERS選項頁:

    系統參數 選項頁面,保持如圖所示即可。
    其實就是在紅色圈處通過下拉菜單將注入驅動參數值改為自動。
    其數值YES=開啟,NO=關閉,Detect=自動
    這里注入的驅動就是ESP分區下EFI\CLOVER\KEXTS\OTHER下的那些驅動文件。

    ==========================================================================

    其他參數說明:(不研究的朋友可以不看,直接看下一頁面設置)

    CustomUUID選項為自定義UUID,可在CLOVER啟動時顯示,或在硬件信息中顯示。Generate New 按鈕為隨機生成新的UUID。Get it from system 按鈕為從系統中獲取UUID。

    BacklightLevel 選項是筆記本亮度調節。其數值 0XFFFF 最亮,默認 0X0501,臺式機請忽略。

    Inject Kexts 為注入驅動方式。其數值YES=開啟,NO=關閉,Detect=自動。

    No Caches 選項為忽略緩存。ExposeSysVariables選項為顯示系統變量。Inject System ID選項為注入系統ID。NvidiaWeb選項為Nvidia顯卡Web驅動,使用獨立NVIDIA顯卡安裝驅動后請勾選,A卡和核顯用戶請忽略。

    ==========================================================================

    點擊窗口左側SMBIOS選項頁:

    設置仿冒蘋果機型 選項頁面,根據自己電腦CPU的型號在紅色圈所示下拉菜單中選擇最為接近的白蘋果機型。有時候無法正常安裝系統和驅動就跟您所選機型有關。
    這塊也可以不用設置,對于clover,它會自動設置它認為適合你電腦配置的機型。


    ==========================================================================

    其他參數說明:(不研究的朋友可以不看,直接看下一頁面設置)

    Product Name : 產品名稱,蘋果電腦型號。Family : 家庭, 蘋果電腦所屬系列。Manufacturer : 制造商名稱,Apple Inc 即蘋果公司。Bios Version:主板Bios 版本號。Bios Release Date :主板Bios發布日期。Bios Vendor :主板Bios提供商 。Chassis Manufacturer : 機箱制造商Location In Chassis:機箱位置。Chassis Asset Tag:機箱資產標簽。Chassis Type : 機箱類型。Board Type :主板類型。Board-ID:主板ID。Board Manufacturer :主板制造商信息。Board Version : 主板版本。Board Serial Number : 主板序列號。Serial Number :電腦序列號。Generate New :隨機獲取新的序列號。SmUUID: 格式應為“00000000-0000-1000-8000-xxxxxxxxxx”其中“xxxxxxxxxxxx”為你的網卡MAC值。Mobile:移動。若為移動平臺,請勾選。Trust :托管。和內置自定義的smbios table相關,如果你的內存偵測存在問題請取消勾選試試。Firmware Features:固件特征。Firmware Features Mask:固件特征掩碼。Platform Features :平臺功能。Version :固件版本,這里為1.0版。

    注:我們常說的白果三碼就是上面的:Board Serial Number、Serial Number和RT VARIABLES選項頁中的ROM。我們將獲取到的白蘋果三碼寫入上述位置就可以正常使用imessage等軟件。

    上圖中Memory處為內存信息注入:Slot* :插槽位置,值可為整形,也可為字符型,值0~24。Size* :內存大小,通用有:512、1024、2048、4096、8192等。Frequency(MHz): 內存頻率。常見:1333、1600、2133、2400等。
    Vendor :制造商信息,如:Kingston等。Type :內存條類型,如:DDR2、DDR3、DDR4。

    Channels :內存通道數,現在一般主板是雙通道,即數值為2。SlotCount:內存插槽數,根據主板實際個數填寫,最大可支持24個。

    上圖中Slots AAPL injections 處為內存AAPL注入:Device:設備。 ID:ID。 Name*:名稱。

    ==========================================================================

    點擊窗口左側RT VARIABLES選項頁:

    這應該是顯示當前所配置機型的一些參數。
    我們無需設置,如圖所示保持不變即可。值得注意的是圖中畫紅色圈部分是有關
    開啟或關閉SIP的參數,默認值應該為:0x67。

    ==========================================================================

    其他參數說明:(不研究的朋友可以不看,直接看下一頁面設置)

    ROM參數值為12位十六進制。這個參數一般會從 smbios 中獲取,一般不管。此項設置有關網卡的 mac 地址。此值可隨機。

    MLB和主板 serial number 相關,17位數。其設置無規則。最好的設置是 sm+五個隨機數,12位系列號加5個數隨你選擇。在以前可解決 imessage 登入后重啟退出無法再次登入的的問題。

    BooterConfig :booter配置,默認值為:0x28 。猜測與啟動相關,具體意義本人未知,請懂的朋友賜教。

    CsrActiveConfig :CSR狀態配置,值為:0x67。此選項用于開啟或關閉SIP,其值為0x13時,關閉SIP。這個參數改完要把蘋果分區根目錄下的nvram.plist刪除不然不生效。

    注:蘋果系統啟用了名為System Integrity Protection (SIP)的系統完整性保護技術。受此影響,未經簽名的第三方驅動及經過修改的原版驅動將無法正常加載,大部分系統文件即使在root用戶下也無法直接進行修改。

    ==========================================================================

    點擊窗口左側KERNEL AND KEXT PATCHES選項頁:

    給驅動文件打補丁 選項頁面
    紅色矩形框中顯示已打補丁,通過點擊紅色圈所示處的減號按鈕將其全部清除。
    矩形框上方選項只勾選 Apple RTC,其余選項均不用勾選。

    ==========================================================================

    其他參數說明:(不研究的朋友可以不看,直接看下一頁面設置)

    ATIConnectorsData:ATI顯卡原始參數。 要修改的AMD顯卡驅動的原始數據。ATIConnectorsPatch:ATI顯卡修正補丁。為修改后適合你AMD顯卡驅動的參數。

    Kernel CPU:CPU內核補丁。為內核不支持的CPU打補丁,如 Atom,Ivy,Pentium4等,通過 打補丁來繞開Kernel Panics,推薦更換相對應的內核。

    Apple RTC: 為防止 cmos 重置和啟動時出現的有關 AppleRTC 的錯誤打補丁。

    Kernel LAPIC : LAPIC內核補丁。為解決HP筆記本的Kernel LAPIC問題,或者也可以在啟動參數上加入“cpus=1”選項來解決。

    AppleintelCPUPM:蘋果英特爾CPU PM內核補丁。

    KernelPm:PM內核補丁。因Haswell平臺鎖定了MSR,開啟此參數可避免無限重啟。

    DellSMBIOSPatch:DELL電腦主板BIOS專用補丁,非DELL主板請勿勾選。

    KernelXCPM:XCPM內核補丁。

    Debug:調試模式。 CLOVER啟動調試,一般不開啟。

    ATIConnectorsController:ATI顯卡控制器。要修改的AMD顯卡驅動名稱。規則如下:5系列的AMD顯卡驅動就要在ATIConnectorsController定義50006系列的AMD顯卡驅動就要在ATIConnectorsController定義60007系列的AMD顯卡驅動就要在ATIConnectorsController定義7000

    FakeCPUID:仿冒CPU ID??筛鶕约旱腃PU平臺型號在下拉菜單中選擇。

    KextsToPatch:驅動補丁。KernelToPatch:內核補丁。BootPatches:引導補丁。ForceKextsToLoad:強制加載的驅動路徑。

    上圖中紅色矩形框中內容為所打補丁,通過點擊+/-按鈕來增加或者刪除。Name:驅動名稱。
    Find:查找數值(十六進制)。Replace*:替換數值(十六進制)。Comment:補丁描述。MatchOS:匹配MAC系統版本。MatchBuild:匹配構建。Disabled:禁用。勾選后該條補丁失效。InfoPlistPatch:InfoPlist補丁。勾選后使用此條InfoPlist補丁。

    最下方 List Of Patches 為常用修補程序列表。

    ==========================================================================

    點擊窗口左側GRAPHICS選項頁:

    圖形 選項頁面(個人理解為顯卡選項)
    我的本本是INTEL核顯,只需勾選紅圈處2項:inject intel 注入英特顯卡,ig-platform-id 注入特定ID,安裝時用0x12345678,以后要改為正確對應您核顯的ID.

    ==========================================================================

    其他參數說明:(不研究的朋友可以不看,直接看下一頁面設置)

    Custom EDID:自定義顯示器EDID(十六進制)。EDID: Extended Display Identification Data(擴展顯示標識數據)是一種VESA 標準數據格式,其中包含有關監視器及其性能的參數,包括供應商信息、最大圖像大小、顏色設置、廠商預設置、頻率范圍的限制以及顯示器名和序列號的字符串。 這些信息保存在 display 節中,用來通過一個 DDC(Display Data Channel)與系統進行通信,這是在顯示器和 PC 圖形適配器之間進行的。最新版本的 EDID 可以在 CRT、LCD 以及將來的顯示器類型中使用,這是因為 EDID 提供了幾乎所有顯示參數的通用描述。

    獲取EDID和正確CLOVER配置能讓有些安裝了顯卡的黑蘋果解決進入系統黑屏的問題,避免走更多的歪路浪費時間,配置CLOVER中的EDID值還可以讓您的電腦啟動界面更像黑蘋果,它會完全匹配您的顯示器最佳分辨率值。

    InjectEDID :注入EDID。Vender ID :即廠家標識。Product ID :即產品標識。

    Horizontal Sync Pulse Width: 水平同步脈沖寬度。好像和連接顯示器后所獲得最大分辨率有關,本人不是很確定。

    Video Input Signal:視頻輸入信號。具體數值、作用均不清楚,求告知,謝謝!

    DualLink 選項:雙鏈路。 0為關閉,1為啟用。這個值開啟可以解決某些高分屏花屏,黑邊的問題。但有些卡必須設為0,否則進入mac可能見到4個桌面重疊顯示。

    FBName 選項:AMD顯卡config值,其值要和你修改FB使用參數相對應。NVCAP 選項:不是必要參數,可以不用設置,Clover會自動加載默認的值,當NV顯卡輸出等有問題時,可能需要這個參數。VRAM 選項:設置顯卡的顯存大小。VideoPorts 選項:顯卡輸出端口數。Display-cfg 選項:NVIDIA獨立顯卡的參數,一般不用設定。ig-platform-id 選項:Interl CPU核心顯卡ID。

    Load VBios 選項:使用提取的顯卡rom,A卡特有信息。Patch VBios 選項:使得 Clover 在引導界面找到合適的分辨率。但不一定可以支持。當你在引導界面的分辨率不對時,可以在clover下加載驅動:CsmVideoDxe-64.這個驅動只支持UEFI BIOS。Clover的圖形界面顯示驅動,是基于 UEFI BIOS 的 CSM module 模組,CSM 必須設置為 Enabled ,否則無法生效。但CSM 設置為 Enabled ,clover可能會無法啟動,也可能會發生系統喚醒問題。使用時,請多加注意。Inject intel 選項:啟用英特核心顯卡自動識別功能 。Inject ATI 選項:啟用AMD顯卡自動識別功能 。Inject NVidia 選項: 啟用NVIDIA顯卡自動識別功能 。NvidiaGeneric 選項:Nvidia顯卡通用參數。NvidiaSingle 選項:Nvidia顯卡單一信號。NvidiaNoEFI 選項:Nvidia顯卡非EFI模式引導。RadeonDelinit 選項:啟用ATI顯卡防黑屏。

    PatchVBios:修正顯卡BIOS。Find:查找數值(十六進制)。
    Replace:替換數值(十六進制)。

    ==========================================================================

    點擊窗口左側GUI選項頁:

    啟動相關 選項頁面 保持如圖所示即可。
    幾乎不需要我們設置什么。稍稍值得注意的地方是圖中紅圈勾選處,這是CLOVER啟動時主界面的分辨率。我們的AIRBOOK屏幕為高分屏,分辨率:2560x1440,其他朋友需要根據你的顯示器分辨率情況而加以修改。

    ==========================================================================

    其他參數說明:(不研究的朋友可以不看,直接看下一頁面設置)

    MOUSE 選項:鼠標調節。Double Click:鼠標雙擊速度,圖中值為500。Speed:鼠標移動跟進速度,值越大移動越快,值為2~8。Enabled:激活鼠標控制。Mirror: 翻轉鼠標指針方向,類似鏡像效果。

    SCAN 選項:掃描選項。Entries 使用,勾選后使用啟動項掃描檢測,有2種掃描方式可供選擇AUTO=YES 為自動掃描。由CLOVER自動處理。CUSTOM為用戶自定義模式:TOOL: 勾選后CLOVER啟動時可選擇使用EFI程序。Legacy:勾選后CLOVER啟動時可加載硬盤上以傳統BIOS方式引導的WINDOWS系統kernel:勾選后CLOVER啟動時可加載Linux系統內核。Linux:勾選后CLOVER啟動時可加載硬盤上的Linux操作系統。

    LANGUAGE 選項:語言選項。SCREEN RESOLUTION 選項:CLOVER界面分辨率。Console Mode:控制臺模式。THEME 選項:CLOVER引導主界面所用主題。Custom Icons:自定義圖標。Text Only:僅啟用文本界面。ShowOptimus:界面優化。

    HIDE VOLUME 選項:隱藏的啟動文件和分區。通過+/-按鈕來增加/刪除 需要隱藏的啟動文件和分區。一般添加Recovery和Preboot分區。

    Custom Entries:自定義啟動項。用以控制MAC分區。

    Custom Legacy:自定義傳統啟動項。用以控制WINDOWS分區。Volume:卷標。
    Title/FullTitle:標題/完整標題。Hotkey:快捷鍵。Disable:禁用。Ignore:忽略。Type:系統類型。

    Custom Tool:自定義工具,用以控制SHELL。Volume:卷標。
    Path:路徑。Arguments:參數。Title/FullTitle*:標題/完整標題。Hotkey:快捷鍵。Hidden:隱藏。Disable:禁用。Ignore:忽略。

    ==========================================================================

    點擊窗口左側DISABLE DRIVERS選項頁:

    屏蔽相關驅動 選項頁面 。
    禁止 EFI 驅動,消除進入 Mac 后 EFI 驅動的影響。


    我們沒什么要屏蔽的,保持如圖所示即可。在這里加入的驅動,不會生效。

    點擊窗口左側DISABLE DRIVERS選項頁:

    設備 選項頁面 保持如圖所示即可。
    這主要是增加一些設備的額外功能。


    如下圖,紅色矩形框中如果有數據請將其刪除。

    點擊紅圈所示處的減號按鈕刪除右方紅色矩形框內的“特性”設置。

    ==========================================================================

    其他參數說明:(不研究的朋友可以不看,直接看下一頁面設置)

    FAKE ID 選項:仿冒ID。在注入該某些設備的屬性的同時,我們希望注入不是該設備本身固有的id,已達到我們所希望的功能

    USB 選項: USB相關INJECT 選項:使 USB 鍵盤、鼠標能喚醒 MAC系統。ADD ClockID 選項:喚醒MAC系統備份后USB設備依舊正常工作。USBFIXOWNERSHIP 選項:修復 USB 在 UEFI 模式引導時的所有權問題。HIGHCURRENT 選項:提高USB接口電壓,用于充電。

    AUDIO 選項:仿冒聲卡選項。Audio聲卡注入, 其值一般是:detect(自動偵測),也可手動輸入你要的值。如聲卡為ALC887,假設在0x0C(12)時工作,則直接填寫12或0x0c。有關仿冒聲卡的layout -id,要自己搜索相關型號的仿冒聲卡或教程。不是說啟用這個功能聲卡就可以工作。

    ==========================================================================

    點擊窗口左側CPU選項頁:

    CPU 相關 選項頁面, 保持如圖所示即可。
    CPU 可自動識別,這里幾乎不用設置。

    ==========================================================================

    其他參數說明:(不研究的朋友可以不看,直接看下一頁面設置)

    Frequency MHz:頻率,設置CPU頻率。Bus SpeedkHz :總線速度,可設置外頻。Latency:延遲,設置C3 State延遲。QPI :QPI總線,設置CPU的互聯速度。Type :類型,設置CPU類型。TDP:熱設計功耗。SavingMode:節能模式。C2 / C4 / C6 :設置開啟或關閉C2 / C4 / C6 ,均用于啟用CPU的變頻功能。QEMU:模擬處理器。TurboDisable:禁用CPU睿頻。

    HWPValue:HWP值。HWPENABLE:啟用HWP管理。USERARTFREQUENCY:使用ART頻率。

    注:HWP是Hardware Work Package的簡稱,翻譯過來叫做:硬件標準部件在macOS下,HWP是指Intel SpeedShift,開啟全功率的電源管理。

    ==========================================================================

    點擊窗口左側BOOT GRAPHICS 選項頁:

    引導圖形 選項頁面
    幾乎沒什么用,保持默認就好。

    ==========================================================================

    其他參數說明:(不研究的朋友可以不看,直接看下一頁面設置)

    DefaultBackroundColor:默認背景顏色。EFILoginHIDPL:EFI模式登錄時使用畫面縮放。flagstate:變量狀態。UIScale:UI比例,自適應系統界面。

    ==========================================================================

    點擊窗口左側BOOT選項頁:

    CLOVER引導 選項頁面
    主要設置紅圈所示部分選項
    VERBOSE(-V) 所謂的啰嗦模式,顯示所有調試日志,含錯誤信息。
    DEBUG=0X100 遇錯不自動重啟計算機,配合-V模式便于排錯。
    DEFAULT BOOT VOLUME 指定默認啟動分區名稱,可以是卷標,也可以是UUID
    時間,設置0為默進系統,不顯示任何CLOVER信息,設置-1 使用圖形界面,不自動加載系統,設置5為暫停時間,設置位1或者2,CLOVER圖形主界面,無操作時的停留時間,方便你用鍵盤選擇啟動項。

    ==========================================================================

    其他參數說明:(不研究的朋友可以不看,直接看下一頁面設置)

    Verbose(-V) 所謂的啰嗦模式,顯示所有調試日志,含錯誤信息。arch=i386 以32位內核模式啟動。arch=X86_64 以64位內核模式啟動。npci=0x2000 解決獨立顯卡PCIconfiguration begin卡住不動。npci=0x3000 解決獨立顯卡PCIconfiguration begin卡住不動。darkwake 開啟針對特定機型的深度睡眠的問題。slide=0 只適用于Mac OS 10.8.x版本,安裝與引導時識別內核。-xcpm 在IvyBridge系統里強制xcpm使用系統以實現CPU原生電源管理cpus=1 使用單核模式。dart=0 修復因開啟 VT-d 導致系統啟動時SMC五國錯誤,系統安裝不能正常進行時采用,安裝后成功必須關閉。debug=0x100 遇錯不自動重啟計算機。-gux_defer_usb2 修復使用 GenericUSBXHCI.kext 導致的睡眠問題。Intel 7系列適用。-gux_no_idle 終止 Intel 芯片上的一些空閑模式(idle-mode)功能。-gux_nosleep 強迫睡眠適用 Shudown/Reset 方法。-gux_nomsi 強迫使用中斷(interrupt),而不使用MSI。nvda_drv=1 此參數可以讓系統安裝 Nvidia 官方 WebDricer 顯卡驅動,需將SMBIOS設置為MAC PRO機型。nv_disable=1 禁止 Nvidia 獨顯驅動加載。nv_spanmodepolicy=1keepsyms=1 clover引導時,圖像停到出錯位置,配合debug=0x100使用。kext-dev-mode=1 啟用第三方驅動。rootless=0 從10.11 DB5/PB3版開始,這個啟動參數已經被廢除,請不要再使用。kextiog=0xffff-alcoff 屏蔽applealc驅動。-shikoff 屏蔽shik驅動。-disablegfxfirmware clover引導時,報IGPU錯誤的時候可以添加這個啟動參數。

    Custom Flags:自定義啟動參數??稍谙路街苯虞斎雴用睢?/p>

    DEFAULT BOOT VOLUME :默認啟動卷DEFAULT LOADER:默認啟動文件Legacy:傳統BIOS開機方式。LegacyBiosDefaultEntry:UEFI開機方式。

    time:時間選項設置0為默進系統,不顯示任何CLOVER信息。設置1或者2,CLOVER圖形主界面,無操作時的停留時間,單位為秒。勾選-1 使用圖形界面,不自動加載系統。

    Fast:快速。此參數類似于設置 Time=0,但有下區別:nvarm.plist 文件只在設置后的第一次啟動時被檢測存儲,后續開機則跳過檢測,以加快開機速度。不偵測最佳顯示模式。不加在圖形界面主題。不掃描內存 SPD。不能選擇進入 GUI 圖形界面。

    Debug:調試。

    XMPDetection=YES /NO 1 2此參數只適用于 DDR3 XMP 內存。XMPDetection=YES,當檢測到 XMP 內存時讀取最佳預設參數,可選預設最佳參數1或者參數2。XMPDetection=NO,禁止檢測 XMP 內存。注:英特爾XMP(Xtreme Memory Profile)認證的內存,SPD中有兩個或更多頻率設定檔案,只要在主板中啟用這些預設的XMP檔案,即可將內存條自動超頻到1600或更高值(根據檔案設定而定)。

    NoEarlyProgress:不顯示CLOVER主界面啟動前歡迎信息。CustomLogo:自定義Logo。DisableCloverHotkeys:禁用CLOVER快捷鍵。NeverDoRecovery:禁用恢復卷。StrictHibernate:嚴格休眠。NeverHibernate:禁用休眠。SkipHibernateTimeout:跳過休眠超時等待。HibernateFixup:睡眠修復。RtcHibernateAware:喚醒時啟用RTC內存擦除。SignatureFixup:簽名修復。

    Secure Boot:安全啟動。Whitelist:安全啟動白名單列表,通過+/-按鈕來增加/刪除。Blacklist:安全啟動黑名單列表,通過+/-按鈕來增加/刪除。

    Secure 項通過鼠標勾選完成設置。不勾選,所有Secure Boot 參數設置無效。

    ==========================================================================

    點擊窗口左側ACPI選項頁:

    DSDT修補 選項頁面 。不是很懂,本著不明白就不勾選的原則,我們將所有選項取消勾選。

    注意圖中顯示數字為1、2的地方。點擊2按鈕后頁面會有所變化,我們同樣將所有選項取消勾選。

    ==========================================================================

    其他參數說明:(不研究的朋友可以不看,直接看下一頁面設置)

    黑蘋果系統由于硬件兼容性問題,經常通過使用修改DSDT的方法來解決一些問題。那什么是DSDT呢,我們先需要了解一下它。

    先了解一些基本術語:

    ACPI:它是Hewlett-Packard, Intel, Microsoft, Phoenix, 和Toshiba共同制定的一個開放的行業規范。是The Advanced Configuration and Power Interface的縮寫,也就是“電源管理模式和配置管理的接口規范”。從名字可以看出主要是“電源管理”和“配置”。

    它主要涵蓋的功能包括:System power management(系統電源管理)Device power management(設備電源管理)Processor power management(處理器電源管理)Device and processor performance management(設備及處理器性能管理)Configuration / Plug and Play(配置/即插即用)System Events(系統事件)Battery management(電池管理)Thermal management(溫度管理)Embedded Controller([嵌入式控制器]SMBus Controller(SMBus控制器)

    在計算機應用,ACPI越來越重要。ACPI由很多表組成,包括:RSDP,SDTH,RSDT,FADT,FACS,DSDT,SSDT,MADT,SBST,XSDT,ECDT,SLIT,SRAT等。其中DSDT就是它的一個重要的描述表。

    DSDT:它是The Differentiated System Description Table的簡寫。字面上就可以知道它是一個描述系統不同信息的表。它包含了所有除基本系統以外所有不同設備的信息,也就是每臺計算機設備的基本系統是相同的,而不相同的設備用DSDT來描述。DSDT表代碼為ACPI Machine Language (AML)。

    Mac OS X系統不完整支持ACPI規范,僅支持它的子集DSDT。

    用戶通過修改DSDT可以得到更好的硬件支持。最簡單的理解就是DSDT是描述硬件的。MAC的驅動是被動驅動,需要讓系統知道存在這個硬件且知道硬件位置。

    修改DSDT的主要目的就是讓MAC系統識別到這個硬件并告訴MAC系統你的硬件位置,以便讓MAC系統內置的驅動來驅動硬件工作。

    FIX參數說明:

    在上圖中數字1按鈕(OLD WAY)中的參數:AddDTGP 在DSDT中加入Method(DTGP)參數,修復DSDT必備參數。FixIPIC 從DSDT的IPIC項中刪除移除中斷語句(IRQ(2)),以解決電源鍵問題。FixUSB 注入USB裝置并設置它們的屬性,如USB1、USB2、USB3,幫助內建USB。FixDarwin 提供一組修正的DSDT,使你系統內更多的APCI設備能在“windows 2001”這種APCI系統模式下工作。FixSBUS 增加 SMBusControlle 到設備樹種,可修復因缺失 SBUS 控制而在系統 log 中出現的警告。FixLAN 注入有線網卡設備和設置它們的屬性,幫助網卡內建。如果有未知的子設備也可以設置FAKEID來識別。Fixshutdown 關機修復,主要是添加 _PTS 函數,判斷寄存器 arg0 值是否為 5。這個補丁適用一些解決華碩主板的關機問題。FixDISPLAY 對顯卡非常有用的補丁,增加 了GFX0和 HDMI 音頻設置 HADU。如果設置了 FAKEID 也會自動增加到這里。FixAirport 為支持 Airport 的無線網卡注入屬性,以開啟 Airport 功能。如果有未知的子設備也可以設置FAKEID來識別。AddMCHC 這個功能是在 dsdt 中添加一裝置。具體是 DveiceID=0X0044,匹配 Intel Clarkdale 平臺。有些芯片需要這個裝置來解決 PCI 的電源管理問題。FixIDE 修復IDE接口硬盤補丁,適用于非SATA硬盤,修復在五國出現的 AppleIntelPIIXATA 錯誤。FixHDA 重命名“AZAL”為“ HDEF”或者“ HDAU”,增加缺少的 layout -id 和 MaximumBootBeepVolume 設備屬性,修復導致聲卡不正常工作的問題。FixHPET 修復HPET ,添加 IRQ(0、8、11),強制加載原生電源管理。FixSATA 內建磁盤,用 ICH6 的 ID 匹配,解決橙色磁盤問題。這個現在已經過時了,目前比較好的方法是對驅動打二進制補丁。FakeLPC 仿冒 LPC,為非標LPC設備注入ID,一般 Clover 會自動注入合適的芯片參數到 dsdt 中,來達到加載 AppleLPC.kext 的目的。對于Intel and NForce 芯片,建議勾選。特別是芯片組比較老的如:ICH7,ICH9等白蘋果都沒有的主板芯片組。FixFIREWIRE 在DSDT設備中加入火線控制裝置的設備屬性,修復沒有FIREWIRE設備產生的安全警告。

    在上圖中數字2按鈕(NEW WAY)中的參數:FixDarwin7 這項補丁只有Darwin OS(Darwin 是MacOSX 操作環境的操作系統成份。蘋果電腦于2000年把Darwin 釋出給開放原始碼社群。現在的Darwin皆可以在蘋果電腦的PowerPC 架構和X86 架構下執行,而后者的架構只有有限的[驅動程序]支援。)系統識別。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 添加一個非常實用的調節亮度設置代碼。這個補丁也會對系統良好的睡眠/喚醒作用。FixS3D 修正了 _S3Dmethods函數,也解決了一些睡眠/喚醒的問題。FixACST ACST項含義對于蘋果和華碩意義不同,對于華碩是AC適配器狀態,而蘋果是一個替代_cst,c-states table(CPU 閑置休眠狀態的功能)。如果要沒有沖突就要將其重名為其他名稱的東西。AddHDMI 修復HDMI音頻輸出問題(無需修改AppleHDA)FixRegions 因為BIOS當中的一些內容改變了。這個浮動的區域導致無法使用自定義DSDT(custom DSDT),因為這個區域可移動且不符合當前的狀態。這個補丁的目的是找到BIOS中所有這樣的區域并在自定義DSDT中加以修正。所以現在你可以生成有錯誤區域的自定義DSDT然后使用這個補丁FixHeaders MACH reboot修復。

    Drop OEM_DSM選項中:ATI AMD顯卡修復。USB USB控制器修復。IntelGFX 英特核心顯卡修復。Firewire 火線控制器修復。Nvidia Nvidia 顯卡修復。IDE 傳統硬盤修復。HDA 音頻修復。SATA 串口硬盤修復。HDMI HDMI修復。LPC Low Pin Count 總線修復。LAN 有線網卡修復。SmBUS System Management Bus(系統管理總線)修復。WIFI 無線網卡修復。

    Debug 選項:調試模式,一般不啟用。ReuseFFFF 選項:一些OEM DSDT中包含一些名為_adr和0XFFFF的設備。SuspendOverride 選項:休眠覆寫。影響Fixshutdown_0004的DSDT補丁,并擴展到從狀態5到3,4和5狀態(睡眠和休眠)。Rtc8Allowed 選項:一些用戶聲稱RTC長度可以是8字節,CMOS不會重置。但是另一些用戶聲稱會重置。對于那些想要字節長度為8的用戶應該勾選此選項。默認為不勾選。SipSmiAtWake 選項:在每次喚醒時加入SLP_SMI_EN=0的參數。它可以幫助解決UEFI引導模式下的睡眠和關機的問題。

    DSDT Name: dsdt.aml的名稱

    Drop Tables相關選項:DMAR: 未知MCFG: 未知

    SSDT相關選項:DoubleFirstState:Ivy Bridge專用。ivy一般可勾選,作用是與cpu功耗有關。其他cpu可不選。DropOem :獲取內建SSDT表單。clover可以自動獲取,當然也可以將SSDT放到EFI/OEM//ACPI/patched目錄下。GenerateCStates:勾選后,可開啟c-state功能,修復啟動時(ACPI_SMC_PlatformPlugin)GeneratePStates::勾選后,開啟p-state功能。

    PluginType 值為0,則使用ACPI_SMC_PlatformPlugin;值為1時用X86PlatformPlugin(for ivy)。PLimitDict: 限制cpu頻率。值0,1,2。0不開啟。UnderVoltStep: 限制CPU功率,只針對core2,對i系列CPU無效??稍O為0,1,2。

    MinMultiplier 設置最小變頻數。MaxMultiplier 設置最大變頻數

    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 addressResetValue: (should be: 0xFE) Restart address(以上兩個值可保留,可刪。如果你重啟的時候有問題(重啟不斷電),可按照FACP.aml中值更改。

    ==========================================================================

    config.plist文件設置完成后,點擊頂部菜單欄的FILE(文件)選項,在彈出的下拉菜單中選擇SAVE(保存)選項以保存文件。

    至此,一份用于安裝MAC系統的CLOVER引導文件創建完畢。
    經測試,可以很順利的引導絕大多數電腦成功進入安裝界面。
網站首頁   |    關于我們   |    公司新聞   |    產品方案   |    用戶案例   |    售后服務   |    合作伙伴   |    人才招聘   |   

友情鏈接: 餐飲加盟

地址:北京市海淀區    電話:010-     郵箱:@126.com

備案號:冀ICP備2024067069號-3 北京科技有限公司版權所有