2

I followed the guide at http://macperformanceguide.com/SnowLeopard-64bit.html to boot into 64-bit mode. I had no problems with the instructions and on the boot screen it says "PAE enabled, 64bit mode enabled" but when the system boots, both uname -a and System Profiler tell me that it has booted into 32-bit mode.

I really need to boot into the 64-bit kernel, what should I do?

System is MacBook Unibody (Early 2009, 6 GB RAM, 2.4 Intel CPU, 10.6.6)

9
  • Why do you "need" to boot into the 64-bit kernel? It's not necessary for anything... Mar 16, 2011 at 1:32
  • There are several methods listed on that page. Did you try all of them? Same results for all? Please refine question with more details. Don't just link to that page, tell us what you did.
    – user588
    Mar 16, 2011 at 2:53
  • @mankoff: I tried all and all combinations, no results. I did them all.
    – AbiusX
    Mar 16, 2011 at 3:27
  • @itaiferber: I explicitly told that I need to do so, hence your comment was flagged as bugous. I have libs that link against 64bit kernel modules.
    – AbiusX
    Mar 16, 2011 at 3:27
  • 1
    Note that the message "PAE enabled, 64bit mode enabled" does not mean the 64-bit kernel was used. But I guess that's obvious to you now :)
    – ghoppe
    Mar 16, 2011 at 16:01

5 Answers 5

7

64-bit Mac CPUs cannot boot 64-bit kernel due to one of the following reasons:

  1. The machine has 32-bit EFI.
  2. The machine’s model is prohibited from booting K64 through a hardcoded list within the boot loader. (The list excludes "non-Pro" machines.)

Both limitations are artificial and imposed by Apple, although the first one is important because if a 32-bit EFI were allowed to boot the kernel wouldn't be able to use firmware services.

IF you really, really, really want to boot these machines with a 64-bit kernel, you'll need to perform hackery on /System/Library/CoreServices/boot.efi. This is quite risky. More info:

Link

3
  • But my EFI is 64 bit, And 64 bit is enabled on boot (as it says) But only when I boot it sais 64bit not loaded.
    – AbiusX
    Mar 16, 2011 at 20:00
  • Because your machine is not PRO, you cannot do it unless you try to modify the efi (as described by ghoppe in his link). There's a list that excludes your machine, no matter how 64 bits EFI you have. Mar 17, 2011 at 0:31
  • Unfortunately the boot.efi defined in that article is too old and its hash is not the same as mine, So the byte refered to not found. Any more recent instructions?
    – AbiusX
    Mar 17, 2011 at 12:53
3

64-bit kernel mode is not supported on any of the MacBooks (see Apple's KB article #HT3770), even if they have a 64-bit CPU and 64-bit EFI firmware. I don't know why it's not possible to boot them 64-bit, but I haven't found a way to do it (I'm in the same boat, as I have a 2007 MacBook Pro, also 64-bit EFI, but Apple only supports 64-bit kernel on the MacBook Pros introduced in 2008 or later).

7
  • But mine is 2009?
    – AbiusX
    Mar 16, 2011 at 19:59
  • 3
    @AbiusX: According the Apple KB article, MacBook Pros since 2008 can boot K64; none of the non-Pro MacBooks can. Sorry. Mar 16, 2011 at 22:26
  • Well a month after i bought this, this was changed to pro. Nothing changed but only the name.
    – AbiusX
    Mar 16, 2011 at 22:42
  • @AbiusX You really don't know if "only the name" changed, maybe some other internal, in either case, the answer is simple, you cannot boot into 64 bits with a "non pro" Macbook, unless you try the boot.efi modification (which is risky) but might work. Mar 17, 2011 at 0:32
  • @Martin: I think modification of boot.efi wont be so risky, i can simply time machine back to my old system if anything goes wrong, right? Would u please provide me with modification instructions?
    – AbiusX
    Mar 17, 2011 at 0:40
0

There is a plist at /Library/Preferences/SystemConfiguration/com.apple.Boot.plist which controls which kernel gets used at boot time.

You can hold 6 & 4 to boot into 64-bit kernel mode while booting. Also, you can boot 32-bit by holding 3 & 2 while booting. Or you can try

sudo systemsetup -setkernelbootarchitecture x86_64

and then reboot.

0
0

I have the same computer as you.

There is no way to boot in 64 bit mode.

I tried modifying so many system files. It cannot be done, and it does not need to be.

2
  • If you haven't found a way, Do you think it means that there are non?
    – AbiusX
    Mar 16, 2011 at 20:23
  • 1
    Given the amount of searching I did, yes.
    – user4464
    Mar 16, 2011 at 20:39
0

MacBooks like yours are artificially prohibited by Apple from booting the 64 bit kernel. This restriction is in the boot.efi. To bypass this restriction in the current 10.10.3 boot.efi you must do the following.

1) Create a copy of the boot.efi file and name it boot64.efi (boot.efi is usually located in /System/Library/CoreServices/ or on your esp partition

2) Using a hex editor search for the string 20 00 40 02 and replace it with 40 00 80 04

3) Save the boot64.efi file

4) bless the boot64.efi

5) sudo nvram boot-args="arch=x86_64"

6) reboot

You must log in to answer this question.

Not the answer you're looking for? Browse other questions tagged .