The downside of having a Hackintosh is that when things go horribly wrong, you must fix it yourself. In this guide I will attempt to go through the basic process to go through when your hackintosh isn’t functioning as it should.
Your bootloader, be it Clover, Chameleon or Chimera, will have certain flags or special instructions that tell it how to properly boot the machine. In this section, I’ll go over some common boot flags and their uses.
-v Verbose Mode
This flag will cause your machine to boot in verbose mode. It will print information to the screen as it boots up, rather than displaying the apple logo. This is the go to method for determining why your machine hangs at the apple logo, and many advanced users prefer to boot this way normally.
If your machine hangs on a specific line of the verbose output, you can Google that line for more information about it. If you are asking for help because your machine will not boot, it is good practice to take a picture of your verbose output and post it along with your question.
-x Safe Mode
If you have experience with Windows, then you’ll already know more or less what safe mode is. It boots your machine with only the essential drivers (kexts) required for the machine to work. This is useful for 2 main reasons. First, if your machine does not boot up in verbose mode and you cannot figure out why, safe mode can deduce whether or not it is an issue with your machine’s core functions. Secondly, safe mode can be useful for recovery purposes. If you install a kext that breaks your system, you can boot into safe mode and remove it.
If you are having issues booting your machine, you should generally try safe mode just to see if it works, and because debugging a running machine is a lot easier.
UseKernelCache=No / Yes (10.8+)
The kernel cache is disabled by default, but can be used to speed up boot times by loading your kexts from a cache. If this doesn’t work properly, OS X can boot extremely slowly.
Note: for before 10.8 (lion) use -f
This flag disables an advanced power management feature of OS X, which allows some parts of the machine to wake from sleep, but this can mess up sleep on hackintoshes. Try this flag if your machine cannot sleep, or cannot wake from sleep. Alternatively darkwake=1 can enable the feature.
Note: your machine must be able to sleep through a DSDT or native means before this will make any difference.
This flag can help fix hangs at boot. PCIRootUID=0 generally is needed if you’re using an AMD graphics card.
Note: this flag solves issues related to graphics cards so you may have to use it upon initial installation or after changing GPU’s.
npci=0x3000 / npci=0x2000
If your machine hangs around the line [PCI Configuration Begin], try both of these flags. 0x3000 is the standard fix, but 0x2000 can be tried if the first option fails to solve the issue.
This disables some older visualization technology, VT-d. This can fix some motherboard issues, and will not inhibit applications like Virtualbox or Parallels as these applications use VT-x instead.
This flag can be used to boot with only a single core of your processor. It can be useful for getting some unsupported cpus to boot the installer. you may need this in a HP laptop with insyde Bios.
arch=i386 / x86_64
These flags boot your machine into 32-bit mode (i386) and 64-bit (x86-64), the default for 10.6+ This mode may help with compatibility on some older machines.
Clover Specific Boot Flags
The following boot flags should only be used in the Clover bootloader. They are fairly advanced.
If your system cannot find your EFI partition, this flag can be used to denote which disk it is on. X refers to the disk number which I believe starts at 0 in the order that the bootloader sees the disks.
This specifies the number of lines of log that clover will save before deleting them. 0 means it will save the log forever and is useful if your debugging your machine.
LogEveryBoot=Yes / No
This command will save Clover’s logs every time the machine boots. I recommend you just leave this on so you’ll have some point of reference if something breaks.
Set the location of the Clover logs. The default location should be in the root of your EFI directory.
Chameleon/Chimera Specific Boot Flags
These flags are meant only for Chameleon/Chimera. Some of them might work in Clover, as it’s documentation isn’t exactly complete; however, most will not.
GraphicsEnabler=Yes / No
This kext enables many partially supported graphics cards through injection. It is not needed for 7xx and 6xx Nvidia graphics cards, but most others will need it. [Clover handles this issue through the config file]
IGPEnabler=Yes / No
This is an alternative to Graphics enabler. It can be used if you wish to use integrated graphics in conjunction with an Nvidia 6xx or 7xx card.
How to Fix If you are stuck in Language Chooser Menu
Sometimes in very rare case you may end up stuck in Language Chooser menu of macOS Installer, or even after Installation to fix it…
Boot with -s (Single User Mode)
After few seconds you will be stopped in a terminal like verbose log
just type the following command to bypass language chooser
nvram prev-lang:kbd=en:0 exit
The above is the easiest step but if you want an alternative method edit your Clover Config.plist to resemble the following lines
<key>GUI</key> <dict> <key>Language</key> <string>en:0</string> </dict>
Kernel panics are terrifying errors where the kernel doesn’t hang at boot, it panics. This results in a rather frighting screen shown below.
If this happens, then you have a very serious problem. However, it may be fixable. The main reasons for this happening are incompatible CPU’s and Bios settings, incompatible graphics or DSDT/config.plist errors. In this case, you’d want to double check all your components and settings. Googling ‘[part name] hackintosh’ is generally a good start.
If you narrow it down to graphics card issues, you may want to do the initial installation on integrated graphics. You can then add and debug the graphics card later.
Should your machine kernel panic after booting for a while, you may have an issue with a higher function. If this is the case, you should see some grey text output behind the kernel panic dialogue. This is like a verbose output. You can use it to figure out what went wrong. If you cannot make heads or tails of the output or do not have the experience to understand it, Googling each line could provide you with an answer if it is a common problem.
Asking The Right Questions
A lot of times, especially if you are new to hackintoshing you may need to ask for help. Regardless of the site, there are a few things you can do to make it easier and more likely for people to help you.
Post your specs. Nearly every problem in hackintoshing relates to the hardware, so specs are necessary for anyone to help you.
Try basic boot flags. The generic ones listed above -v, -x and npci should all be tried in general situations, and if you see one that relates to your problem, give it a shot.
Post verbose or kernel panic output. If your machine panicked or hung, no one can really help without this.
Another simple thing to do when faced with these issues is to educate yourself. You can google most hackintosh related things, read all posts from this blog, all of my hackintoshing knowledge has come from internet research.