Recently Browsing 0 members
No registered users viewing this page.
CLOVER DUAL BOOT MOJAVE & WINDOWS 10 GUIDE
INCLUDES MBR / LEGACY BIOS TO GPT / EFI CONVERSION
USING MBR2GPT TOOL
PREREQUISITE: Two physical discs ( SSD’s or HDD’s )
STEP 1 - Clover dual boot configuration
Open config.plist with Clover Configurator
Legacy = PBR Timeout = True ( will remove the Timeout countdown, from Clover boot menu)
Scan / Custom
Entries = True Tool = True Legacy = False ( removes extra Windows 10 entries )
- Preboot ( macOS Preboot )
- Recovery ( macOS Recovery )
So at boot you will have two options: boot macOS Mojave or Windows 10
STEP 2 - Using a drive without Windows 10 installed
Disconnect system drive that contains your macOS Mojave install from computer ( This is so that Windows does not overwrite existing macOS Mojave boot loader )
Proceed with a Windows 10 UEFI install.
After installation reconnect macOS Mojave Drive, the Windows installation should now be detected and usable in Clover.
If Windows 10 is not detected or able to boot, then verify you installed Windows 10 as UEFI and not MBR ----> ( Read step 2 - For a drive with Windows 10 installed )
STEP 2 - Using a drive with Windows 10 already installed
Verify your Windows install is GPT / UEFI or MBR / Legacy BIOS.
If Windows install is GPT UEFI then Windows 10 install is ready to use at Clover boot menu, you should be able to boot into Windows directly from Clover boot screen.
But if Windows drive is detected at Clover boot screen, but when booting Windows you get a black screen with a cursor on the top left,
then this is most likely because Windows drive is MBR ( Legacy BIOS ). You can easily convert MBR to GPT using Windows MBR2GPT tool ( this saves hours work having to reinstall Windows 10 and setting up all your applications again )
If Windows 10 install is MBR / Legacy BIOS then simply convert to GPT / UEFI following instructions below ( read video summary and view video )
** To use Windows 10 MBR2GPT tool you must have Windows 10 version 1703 ( creators update ) or later and less than 3 partitions on
the Windows 10 drive **
Confirm Windows 10 drive is MBR Legacy BIOS ( in Windows Disk Management ) Reboot into Windows PE ( Advanced Startup ) Convert from MBR Legacy BIOS to GPT UEFI ( using commands below ) mbr2gpt /validate mbr2gpt /convert Restart Verify Windows 10 drive has changed to GPT UEFI ( in Windows Disk Management )
After conversion Windows 10 is ready to use at the Clover boot menu
STEP 3 - Stop Windows Boot manager from overriding Clover boot manager
How to stop Windows boot manager from overriding your Hackintosh Clover boot manager when using dual booting between macOS and Windows
Framebuffer patching in Mojave
Binary patching framebuffers using KextsToPatch in Clover is no longer a viable method in Mojave for Skylake and above. Now you need to use Lilu + WhateverGreen.
Not just for Mojave
This method of framebuffer patching is not only required for Mojave we recommend it for all previous and future releases of macOS.
Coffee Lake Users
Please note that the new WhateverGreen will not work with fake Kaby Lake platform-id's. You will need to have either macOS 10.14 Beta 4 (18A336e) or macOS High Sierra 10.13.6 (17G2112). The latter is a special build only available to MacBookPro15,1 or MacBookPro15,2 board id's. You can create a macOS High Sierra 10.13.6 (17G2112) installer by running installinstallmacos.py. (Update: vit9696 added back ability to fake Kaby Lake platform-id's)
Lilu + WhateverGreen
WhateverGreen is going to replace all the other video patching plugins for Lilu (it currently has merged WhateverGreen, IntelGraphicsFixup, NvidiaGraphicsFixup, Shiki and CoreDisplayFixup). Others will likely follow (such as AppleALC, HibernationFixup and IntelGraphicsDVMTFixup). This is aiming to be the all-in-one solution for video.
2. Turn off all graphics injections in Clover:
3. Disable DSDT Clover fixes:
4. Disable UseIntelHDMI
5. Remove boot argument: -disablegfxfirmware
6. Remove any IGPU and HDMI entries from:
7. Remove any IGPU and HDMI related SSDT and DSDT from:
8. Renaming GFX0 -> IGPU
- WhateverGreen will do this automatically (see caveat below)
- Be aware that WhateverGreen does not rename all instances of GFX0 -> IGPU but should be okay in most cases
- You may need to include Clover GFX0 -> IGPU rename for other kexts or ACPI patching that require it
Compile Lilu + WhateverGreen
Download WhateverGreen. Make sure you place the debug version of Lilu into the root of WhateverGreen before you compile. Install Lilu and WhateverGreen kext's into the usual place. Compile WhateverGreen as debug if you want to view debug output.
Having trouble compiling?
If you're having trouble compiling you can download the official release binaries or download my (unsupported) build_lilu.sh shell script and run it in a folder to download and build Lilu + WhateverGreen using Xcode automatically. I recommend you try the debug versions first (place them into Clover's EFI/Clover/kexts/Other folder).
Get the device path of your IGPU:
Download and use the gfxutil tool like so:
$ ./gfxutil -f IGPU DevicePath = PciRoot(0x0)/Pci(0x2,0x0) ig-platform-id
For the AAPL,ig-platform-id (AAPL,snb-platform-id for Sandy Bridge) entry Clover requires this value to be in Data format so you need to reverse the bytes. So if you want your platform-id to be 0x3EA50009 first reverse the bytes (0900A53E) then use Xcode's plist editor to add the values to Clover's config.plist.
What ig-platform-id should I use for my system?
You should choose one that is the closest match to your system. I recommend you do some research on this before choosing one. See post #2 for available options. More info can be found here.
You can determine the generation of your CPU by the first digit after the hyphen.
- Intel(R) Core(TM) i5-2760QM (Gen 2)
- Intel(R) Core(TM) i7-5257U CPU @ 2.70GHz (Gen 5)
- Intel(R) Core(TM) m3-6Y30 (Gen 6)
- Intel(R) Core(TM) i5-8350U (Gen 8)
Spoofing Intel CPU Gen
If you need to spoof a different Intel CPU generation you can use the lilucpu=N boot flag. The N refers to the following Intel generations:
4 SandyBridge 5 IvyBridge 6 Haswell 7 Broadwell 8 Skylake 9 KabyLake 10 CoffeeLake To spoof a CPU you will need to set a valid device-id in your GPU entry in Devices/Properties for the appropriate Intel generation.
Eg. Spoofing Skylake (lilucpu=8 boot flag with device-id=0x16190000), Kaby Lake (lilucpu=9 boot flag with device-id=0x12590000).
Here are some recommended frames:
Gen 2: Sandy Bridge (Intel HD Graphics 2000/3000)
- Support started with OS X 10.7.x and ended with macOS 10.13.6
- Metal support is not available
- device-id: 0x0102 0x0106 0x010A 0x0112 0x0116 0x0122 0x0126
- AAPL,snb-platform-id (desktop): 0x00030010 (default)
- AAPL,snb-platform-id (laptop): 0x00010000 (default)
Gen 3: Ivy Bridge (Intel HD Graphics 2500/4000)
- Support started with OS X 10.8.x
- device-id: 0x0152 0x0156 0x0162 0x0166
- AAPL,ig-platform-id (desktop): 0x0166000A (default), 0x01620005
- AAPL,ig-platform-id (laptop): 0x01660003 (default), 0x01660009, 0x01660004
Gen 4: Haswell (Intel HD Graphics 4200-5200)
- Support started with OS X 10.9.x
- device-id: 0x0D26 0x0A26 0x0A2E 0x0D22 0x0412
- AAPL,ig-platform-id (desktop): 0x0D220003 (default)
- AAPL,ig-platform-id (laptop): 0x0A160000 (default), 0x0A260005 (recommended)
Gen 5: Broadwell (Intel HD Graphics 5300-6300)
- Support started with OS X 10.10.2
- device-id: 0x0BD1 0x0BD2 0x0BD3 0x1606 0x160E 0x1616 0x161E 0x1626 0x1622 0x1612 0x162B
- AAPL,ig-platform-id (desktop): 0x16220007 (default)
- AAPL,ig-platform-id (laptop): 0x16260006 (default)
Gen 6: Skylake (Intel HD Graphics 510-580)
- Support started with OS X 10.11.4
- device-id: 0x1916 0x191E 0x1926 0x1927 0x1912 0x1932 0x1902 0x1917 0x193B 0x191B
- AAPL,ig-platform-id (desktop): 0x19120000 (default)
- AAPL,ig-platform-id (laptop): 0x19160000 (default)
Gen 7: Kaby Lake (Intel HD Graphics 610-650)
- Support started with macOS 10.12.6
- device-id: 0x5912 0x5916 0x591B 0x591C 0x591E 0x5926 0x5927 0x5923 0x87C0
- AAPL,ig-platform-id (desktop): 0x59160000 (default)
- AAPL,ig-platform-id (laptop): 0x591B0000 (default)
Gen 8: Coffee Lake (Intel UHD Graphics 630)
- Support started with macOS 10.13.6 (17G2112) / 10.14 beta 4 (18A336e)
- device-id: 0x3E9B 0x3EA5 0x3EA6 0x3E92 0x3E91 0x3E98
- AAPL,ig-platform-id (desktop): 0x3EA50000 (default), 0x3E9B0007 (recommended)
- AAPL,ig-platform-id (laptop): 0x3EA50009 (default)
WhateverGreen does most of the work automatically for you and in most cases you do not need any extra Framebuffer Patching. At the minimum though you should choose an ig-platform-id suitable for your system and place it in config.plist/Devices/Properties like this:
Here are some reasons why you might need extra Framebuffer Patching:
- Setting DVMT for those who can't set it above 32 MB in BIOS (framebuffer-stolenmem / framebuffer-fbmem)
- Setting higher VRAM for 4K users who experience graphical glitches (framebuffer-unifiedmem)
- Disabling eGPU (disable-external-gpu)
- Enable pixel clock patch for 4K support (enable-hdmi20)
- Disabling connectors to enable sleep (framebuffer-pipecount / framebuffer-portcount / framebuffer-conX-type=-1)
- Removing CNConnectorAlwaysConnected flag for eDP laptop screens on < 10.13.6 (framebuffer-con0-flags=0x00000090)
- Changing connector types to match your systems ports (framebuffer-conX-type)
Framebuffer Patching Types
We have three different types of patches:
1. Arbitrary (Recommended)
framebuffer-patch-enable (required to enable below) framebuffer-framebufferid (optional; defaults to current platform-id) (all below are optional) framebuffer-mobile framebuffer-pipecount framebuffer-portcount framebuffer-memorycount framebuffer-stolenmem framebuffer-fbmem framebuffer-unifiedmem framebuffer-cursormem (Haswell only) framebuffer-camellia framebuffer-flags framebuffer-conX-enable (required to enable below) framebuffer-conX-index framebuffer-conX-busid framebuffer-conX-pipe framebuffer-conX-type framebuffer-conX-flags 2. All Data
framebuffer-conX-enable (required to enable below) framebuffer-conX-alldata 3. Find / Replace
framebuffer-patchX-enable (required to enable below) framebuffer-patchX-framebufferid (optional; defaults to current platform-id) framebuffer-patchX-find framebuffer-patchX-replace framebuffer-patchX-count (optional; defaults to 1) You should place your patches in config.plist/Devices/Properties in Clover config.plist.
Here are some example patches:
- 32MB BIOS, 19MB stolen (framebuffer) 9MB fbmem (cursor) 2048MB unifiedmem (vram)
- Pipe / Port Count 3 to 2
- Connector 1 DP to HDMI
- Connector 2 Disable
Here is an example of the All Data method:
Here is an example of the Find / Replace method:
There are two ways to dump your framebuffer data (both require WhateverGreen + Lilu debug versions):
1. Using -igfxdump boot flag to dump IGPU framebuffer kext to /AppleIntelFramebuffer_X_Y (root of your boot drive)
There are several ways of reading this dump:
- Using 010 Editor along with the IntelFramebuffer.bt template
- Using Hackintool File->Open menu
2. Using -igfxfbdump boot flag to dump native and patched framebuffer table to ioreg at IOService:/IOResources/WhateverGreen
There are several ways of reading this dump:
- Using dump_platformlist.sh shell script
- Using Hackintool File->Import->IOReg Dump menu
3. Using Hackintool Framebuffer->macOS 10.14 menu
To get debug output from Lilu use the -liludbgall liludump=60 boot flags. You will need to compile Lilu and WhateverGreen as debug for both of these flags to work. Log files should be located at /var/log/Lilu_*.
To view debug paste the following into Terminal (weglog.txt will output to your home directory):
log show --predicate 'process == "kernel" AND (eventMessage CONTAINS "WhateverGreen" OR eventMessage CONTAINS "Lilu")' --style syslog --source --last boot >weglog.txt Getting Help
To help the users of this forum diagnose issues with your configuration please generate a Lilu debug log and then run gen_debug.sh to generate a folder of debug files you can attach to a forum post requesting help.
- vit9696 and lvs1974 for WhateverGreen (Full Credits) and Lilu (Full Credits)
- Andrey1970 for his guide on applelife.ru
- RehabMan for all data patching method, ioreg framebuffer dump and other contributions
Use this thread to link / talk about of the future Nvidia Web Driver updates for macOS Sierra.
Nvidia Web Driver - 378.05.05.25f16 --> build 16G2016 (thanks to Cyberdevs) New!
Nvidia Web Driver - 378.05.05.25f15 --> build 16G1918 (thanks to BreBo)
Nvidia Web Driver - 378.05.05.25f14 --> build 16G1917 (thanks to BreBo)
Nvidia Web Driver - 378.05.05.25f13 --> build 16G1815 (thanks to flowrider)
Nvidia Web Driver - 378.05.05.25f12 --> build 16G1710 (thanks to BreBo)
Nvidia Web Driver - 378.05.05.25f11 --> build 16G1618 (thanks to Frank Nitty)
Nvidia Web Driver - 378.05.05.25f10 --> build 16G1510 (thanks to BreBo)
Nvidia Web Driver - 378.05.05.25f09 --> build 16G1408 (thanks to BreBo)
Nvidia Web Driver - 378.05.05.25f08 --> build 16G1314 (thanks to BreBo)
Nvidia Web Driver - 378.05.05.25f07 --> build 16G1314 (thanks to haring)
Nvidia Web Driver - 378.05.05.25f06 --> build 16G1212 (thanks to WeBeRiO)
Nvidia Web Driver - 378.05.05.25f04 --> build 16G1114 (thanks to lukazm)
Nvidia Web Driver - 378.05.05.25f03 --> build 16G1036 (thanks to Gradou)
Nvidia Web Driver - 378.05.05.25f01 --> build 16G29 (thanks to Badruzeus)
Nvidia Web Driver - 378.05.05.15f01 --> build 16F73 (see this post)
Nvidia Web Driver - 378.05.05.05f02 --> build 16E195(thanks to crachmaster4999)
Nvidia Web Driver - 378.05.05.05f01 --> build 16E195 (thanks to Moviemakergr) Pascal support!!!
Nvidia Web Driver - 318.104.22.168f01 --> build 16E195 (thanks to Lanc)
Nvidia Web Driver - 322.214.171.124f01 --> build 16D32 (thanks to shatterhenner)
Nvidia Web Driver - 3126.96.36.199f02 --> build 16C68 (see this post)
Nvidia Web Driver - 3188.8.131.52f01 --> build 16C67 (see this post)
Nvidia Web Driver - 3184.108.40.206b06 --> build 16C60b/16C63a (see this post)
Nvidia Web Driver - 3220.127.116.11f03 --> build 16B2657/16B2659 (thanks to Moviemakergr).
Nvidia Web Driver - 318.104.22.168f01 --> build 16B2555 (thanks to Moviemakergr)
Nvidia Web Driver - 367.15.10.05f01 --> build 16A323 (thanks to phi777)
Nvidia Web Driver - 367.10.10.05b01 --> build 16A323 (same driver since DP4/PB3)
Nvidia Web Driver - 367.10.10.05b01 --> build 16A322 (see this post)
Nvidia Web Driver - 367.10.10.05b01 --> build 16A320 (see this post)
Nvidia Web Driver - 367.10.10.05b01 --> build 16A313a (DP8 & PB7) (see this post)
Nvidia Web Driver - 367.10.10.05b01 --> build 16A304a (DP7 & PB6) (see this post)
Nvidia Web Driver - 367.10.10.05b01 --> build 16A294a (DP6 & PB5) (see this post)
Nvidia Web Driver - 367.10.10.05b01 --> build 16A286a (DP5 & PB4) (see this post)
Nvidia Web Driver - 367.10.10.05b01 --> build 16A270f (DP4 & PB3) (thanks to TheRacerMaster)
Nvidia Web Driver - 367.05.10.05b07 --> build 16A254g (DP3 & PB2) (see this post)
Nvidia Web Driver - 367.05.10.05b07 --> build 16A238m (PB1) (thanks to Faun)
Nvidia Web Driver - 367.05.10.05b07 --> build 16A239j (DP2) (thanks to Faun)
Nvidia Web Driver - 367.05.10.05b03 --> build 16A201w (DP1) (thanks to Xmedik)
Making a bootable High Sierra USB Installer Entirely From Scratch in Windows or Linux Mint (without access to Mac or App Store Installer.app)By fusion71au
Making a High Sierra USB Installer Entirely From Scratch in Windows
This is a proof of concept tutorial, to show it's possible to create a vanilla High Sierra installer, entirely from scratch, in Windows (even without App Store downloaded "Install macOS High Sierra.app" from a real Mac ). @PikeRAlpha's link to Apple's Software Catalog provides us with all the URLs necessary to download the needed files directly from Apple instead of some dubious source from the internet...
8GB or larger USB drive Boot Disk Utility v2.1.2017rev021b from @CVAD TransMac (free 15 day trial) Paragon Hard Disk Manager Free Download Installer Files Directly from Apple
1) Browse Apple's Regular Software Catalog and find the URLs to download the following 6 installer files...
BaseSystem.dmg BaseSystem.chunklist InstallInfo.plist InstallESDDmg.pkg AppleDiagnostics.dmg AppleDiagnostics.chunklist (Hint - search page for "InstallESD" to find its URL and others nearby)
to a folder named "SharedSupport" on your Windows NTFS drive. A browser download manager (eg Chrono for Chrome, dTA for FireFox) is handy since InstallESD is >4GB ---> allows you to pause/resume interrupted download...
2) Rename InstallESDDmg.pkg to InstallESD.dmg
3) Edit InstallInfo.plist with WordPad/text editor to remove the chunklistURL and chunklistid keys for InstallESD, and renaming it from InstallESDDmg.pkg to InstallESD.dmg (example of edited file attached to this post)...
Note: You can verify the SHA1 checksum of your InstallESD.dmg and BaseSystem.dmg with the correct ones at this website.
Boot Disk Utility to format the Installer USB and Restore OS X Base System HFS partition
1. Format USB with BDU & latest Clover ---> creates boot files in CLOVER partition + second FAT partition
2. Extract 4.hfs from \SharedSupport\BaseSystem.dmg with BDU --> save to it's local folder
3. Restore 4.hfs to USB second partition with BDU ---> 2nd partition becomes bootable "OS X Base System"
Paragon Hard Disk Manager to extend HFS Partition to its Full Extent
Open Paragon Partition Manager Free and resize the second partition of the USB drive to the full size allowed. Don't forget to apply the changes at the end...
Transmac to Copy "SharedSupport" folder to OS X Base System
1. Open the TransMac program and navigate to the HFS+ Volume/Install macOS High Sierra.app/Contents folder. Right click anywhere in the empty space on the RHS pane and select "Copy Here"...
2. In the next stage, select the "SharedSupport" folder we created above as the "Files and Folders to be copied to the Mac Volume"...
Clover configuration is required now. The default config.plist (in the Clover FAT32 partition of the USB) maybe sufficient to boot your machine if you’re lucky. If not, look at the Clover Wiki, Clover Instructions and Clover Configuration Thread for pointers and edit /EFI/Clover/config.plist accordingly with Wordpad or Notepad.
The location of the important configuration files for Clover are summarized below
config.plist--->EFI/CLOVER folder DSDT.aml with or without SSDT.aml--->EFI/CLOVER/ACPI/patched (don't need one if your DSDT is auto patched by Clover in config.plist) Kexts eg FakeSMC, NullCPUPowerManagement --->EFI/CLOVER/kexts/<osx version> or /Other. NB BootDiskUtility by default already has FakeSMC.kext installed here. You may need to add VoodooPS2Controller for your laptop keyboard/trackpad to work. If UEFI booting, you will most likely need one of the OsxAptioFixDrv-64 drivers copied from /EFI/CLOVER/drivers-off/drivers64UEFI to /EFI/CLOVER/drivers64UEFI. If you want to use the installer to run High Sierra in Windows on VMware, you can follow my guide to set up the Virtual Machine and replace Clover's default config with EFI_Clover for VMware (which is compatible to run in VMware). In the screenshots below, I have attached the USB Installer (in this case PhysicalDrive7) to my macOS Virtual Machine. Reboot the system to the USB installer to install High Sierra ...
What happens if we don't have access to TransMac or Paragon Hard Disk Manager?
Not a problem, as long as we get "OS X Base System" bootable, we can launch terminal from the Utilities Menu to copy the SharedSupport folder over to the Installer app. In essence, we will build the full installer app = 5GB+ on the target HD eg "Macintosh HD", by copying both the "small" installer app = 15MB (on "OS X Base System") and the SharedSupport folder from the NTFS volume (mounted in this example on /Volumes/DATA)...
-bash-3.2# cd / -bash-3.2# cp -R Install\ macOS\ High\ Sierra.app /Volumes/Macintosh\ HD/ -bash-3.2# cp -R /Volumes/DATA/SharedSupport /Volumes/Macintosh\ HD/Install\ macOS\ High\ Sierra.app/Contents/
...then start installation with the startosinstall utility...
-bash-3.2# /Volumes/Macintosh\ HD/Install\ macOS\ High\ Sierra.app/Contents/Resources/startosinstall --volume /Volumes/Macintosh\ HD --converttoapfs NO --applicationpath /Volumes/Macintosh\ HD/Install\ macOS\ High\ Sierra.app
The above steps can be automated with the attached "startosinstall.command" script, which will assemble "Install macOS High Sierra.app" on "Macintosh HD" and launch the startosinstall utility targeting the "Macintosh HD" volume. Copy/download to "Macintosh HD", then run in terminal (after attaching DATA USB with /Shared Support folder)...
cd "/Volumes/Macintosh HD" chmod +x startosinstall.command ./startosinstall.command Updated Download Links for macOS Mojave 10.14.5_18F132
Browse Apple's Regular Software Catalog and find the URLs to download the following 6 installer files...
BaseSystem.dmg BaseSystem.chunklist InstallInfo.plist InstallESDDmg.pkg AppleDiagnostics.dmg AppleDiagnostics.chunklist
Note: In Mojave, Apple has removed the --converttoapfs NO and --applicationpath arguments from the startosinstall utility....
eg to use startosinstall for the above section "What happens if we don't have access to TransMac or Paragon Hard Disk Manager?", the syntax is now
-bash-3.2# /Volumes/Macintosh\ HD/Install\ macOS\ Mojave.app/Contents/Resources/startosinstall --volume /Volumes/Macintosh\ HD
This basically means that for Mojave, the default installation will always convert the target volume to the apfs file system.