[Astuce Snow Leopard] Démarrer sur le noyau 64 bits

Frodon

Membre expert
Club iGen
29 Juin 2002
2 838
358
43
France (Nantes)
AVERTISSEMENT

Cette astuce est surtout destinée aux personnes curieuses qui voudraient essayer et qui se sentent suffisamment à l'aise avec le Terminal pour effectuer les manipulations décrites.

Voici les avantages et inconvénients de démarrer sur le noyau 64 bits:

Avantages

  • Une légère amélioration des performances (peu visible pour un utilisateur lambda)
  • Support de plus de 32 Go de RAM (là encore peu d'intérêt pour un utilisateur lambda)

Inconvénients

  • Incompatibilités avec certains logiciels (VMWare Fusion, logiciels de VPN...) et pilotes matériels

Cela vous intéresse tout de même? Alors allons y ;)

Pré-requis

  • Avoir un EFI 64 bits.
  • Avoir une carte graphique autre que les chipsets Intel GMA (GMA 950 ou GMA X3100) qui n'ont pas de pilotes 64 bits.

Pour le vérifier:

  1. Ouvrir le Terminal (/Applications/Utilitaires/Terminal)

  2. Taper:

Bloc de code:
ioreg -l -p IODeviceTree | grep firmware-abi

Si le résultat afficher est:

Bloc de code:
    | |   "firmware-abi" = <"EFI64">

Pour la carte graphique, voir la section "Matériel ->Cartes vidéo / moniteurs" dans l'application "Informations Système" (/Applications/Utilitaires). S'il y a "GMA" quelque part, ça n'est pas bon.

Si ces deux pré-requis sont vérifiés, c'est bon, vous pouvez continuer.

A faire dans tous les cas:

La méthode traditionnelle consiste à rajouter "arch=x86_64" dans /Library/Preferences/SystemConfiguration/com.apple.Boot.plist

Pour se faire, il faut ouvrir ce fichier avec les droits root:

  1. Ouvrir le Terminal

  2. Taper:

    Bloc de code:
    sudo /Applications/TextEdit.app/Contents/MacOS/TextEdit /Library/Preferences/SystemConfiguration/com.apple.Boot.plist

  3. Remplacer:

    Bloc de code:
    <key>Kernel Flags</key>
    <string></string>

    Par:

    Bloc de code:
    <key>Kernel Flags</key>
    <string>[B]arch=x86_64[/B]</string>

  4. Sauvegarder et quitter TextEdit

Mais cela ne suffit pas sur toutes les machines, notamment pas sur les MacBook et Mac Mini.

Cas des machines non supportés bien qu'ayant un EFI 64 bits

Si vous avez une machine qui n'est pas dans la liste ci-dessous (Cf section "Matériel" de l'outil "Informations système" (également dans /Applications/Utilitaires):

02365756.jpg


Alors continuez avec ce qui suit:

  • Télécharger ce fichier: boot64.efi

  • Ouvrez le Terminal et aller dans le répertoire de téléchargement en tapant:

    Bloc de code:
    cd ~/Downloads

  • Taper les commande suivante:

    Bloc de code:
    sudo cp ./boot64.efi /System/Library/CoreServices/

    Bloc de code:
    cd /System/Library/CoreServices/

    Bloc de code:
    sudo chown root:wheel boot64.efi

    Bloc de code:
    sudo chflags uchg boot64.efi

    Bloc de code:
    sudo bless &#8722;&#8722;folder /System/Library/CoreServices/ &#8722;&#8722;file /System/Library/CoreServices/boot64.efi

Et voilà. Redémarrez votre machine et vous devriez alors être sous le noyau 64 bits.

Pour vérifier que vous êtes bien sur le noyau 64 bits

Deux possiblités:

Soit en ouvrant l'application "Informations Système" qui est dans /Applications/Utilitaires et regarder dans la section "Logiciel", qui doit avoir un affichage similaire à celui qui suit:

kernel64.png


Soit en tapant dans le Terminal (/Applications/Utilitaires) la commande suivante:

Bloc de code:
uname -a

Si le résultat est le suivant ou équivalent:

Bloc de code:
Darwin MacBook.local 10.0.0 Darwin Kernel Version 10.0.0: Fri Jul 31 22:46:25 PDT 2009; root:xnu-1456.1.25~1/[B]RELEASE_X86_64 x86_64[/B]

C'est bon ;)

En cas de problèmes

Pour revenir au fonctionnement 32 bits, il faut:

  1. Démarrer sur le DVD d'installation de Mac OS X

    NOTE: Si vous arrivez quand même à démarrer mais que vous avez juste des problèmes en mode 64 bits, alors vous pouvez taper les commande qui suivent en démarrant normalement. Dans ce cas, supprimez "/Volumes/<Nom_De_Votre_Disque_Dur>" au debut des commandes, par contre, gardez le "/" initial du chemin.

  2. Une fois la langue selectionnée, aller dans le menu "Utiltiaires", et sélectionner Terminal

  3. Editer le com.apple.Boot.plist poru supprimer l'argument arch=x86_64, pour ce faire, comme au tout début du tutorial, il faut taper dans le Terminal:

    Bloc de code:
    sudo /Volumes/[B]<Nom_De_Votre_Disque_Dur>[/B]/Applications/TextEdit.app/Contents/MacOS/TextEdit /Volumes/[B]<Nom_De_Votre_Disque_Dur>[/B]/Library/Preferences/SystemConfiguration/com.apple.Boot.plist

    Remplacer <Nom_De_Votre_Disque_Dur> par le nom du volume contenant votre installation de Mac OS X. Par exemple si votre volume s'appelle : Macintosh HD, il faut remplacer <Nom_De_Votre_Disque_Dur> par Macintosh\ HD.

    NOTEZ le "\". En effet, dans le Terminal, lorsque l'on tape un chemin de fichier qui contient des espaces, il faut précéder les espaces d'un antislash (donc " " devient "\ ").

  4. Et remplacer:

    Bloc de code:
    <key>Kernel Flags</key>
    <string>[B]arch=x86_64[/B]</string>

    Par:

    Bloc de code:
    <key>Kernel Flags</key>
    <string></string>

  5. Sauvegarder et quitter TextEdit

    Dans le cas où vous avez utilisez aussi le fichier boot64.efi, tapez en plus la commande suivante:

    Bloc de code:
    sudo bless &#8722;&#8722;folder /System/Library/CoreServices/ &#8722;&#8722;file /System/Library/CoreServices/boot.efi

    qui aura pour effet de remettre le fichier de démarrage EFI par défaut.

  6. Redémarrer votre Mac normalement.

Credits: Amit Singh et netkas.org
 
  • J’aime
Réactions: BS0D
Bonjour,

Merci pour cette démonstration très documentée.

J'ai juste une petite réserve sur "je ne me souviens pas bien" qui entache un peu la rigueur de la démonstration :nailbiting:.

Mais j'aimerais savoir ce que peut apporter le passage au noyau 64 bits pour un utilisateur lambda.

Qu'est je peux envisager de gagner avec mes applications habituelles: Safari, Mail, ProTools, Final Cut ?

Modifié pour le "Je ne me souviens pas bien", après vérifications (c'est le menu Utilitaires donc).

Cette astuce est surtout destinée aux personnes curieuses qui voudraient essayer et qui se sentent suffisamment à l'aise avec le Terminal pour effectuer les manipulations décrites.

Voici les avantages et inconvénients:

Avantages

  • Une légère amélioration des performances (peu visible pour un utilisateur lambda)
  • Support de plus de 32 Go de RAM (là encore peu d'intérêt pour un utilisateur lambda)

Inconvénients

  • Incompatibilités avec certains logiciels (VMWare Fusion, logiciels de VPN...) et pilotes matériels
 
  • J’aime
Réactions: pickwick
Pour la boot list j'ai ça que Text Edit m'affiche&#8230;
Normal??!

" bplist00&#8220;VKernel\Kernel Flags[mach_kernel[arch=x86_64!-9 "


PS: comment faire pour télécharger le fichier? J'arrive sur Rapid Share&#8230;?
 
Pour la boot list j'ai ça que Text Edit m'affiche…
Normal??!

" bplist00“VKernel\Kernel Flags[mach_kernel[arch=x86_64!-9 "


PS: comment faire pour télécharger le fichier? J'arrive sur Rapid Share…?[/QUOTE]

Pour la plist, si ca te fait cela, c'est que la plist est en binaire. Dans ce cas, tu peux l'éditer en installant les outils de développement (XCode & co), et en double cliquant sur le fichier. Il peut cependant te refuser la sauvegarde, dans ce cas, enregistre sous un autre nom, et ensuite renomme l'ancien fichier en com.apple.Boot.plist-old ou equivalent, et renomme le nouveau en com.apple.Boot.plist.

J'ai changé le lien du fichier, c'est maintenant un lien direct sur mon FTP. En plus j'ai activé le support du Mac Mini, qui devrait donc démarrer sur le noyau 64 bits (non testé, mais selon un autre utilisateur, ca doit marcher).
 
C'est normal que ça soit en binaire?
XCode est installé, je fais quoi? "Modifier" ou "ouvrir avec"?! :)

Merci en tous cas!

J'ai ça: je fais quoi?! :(

capturedcran20090909134.png
 
C'est normal que ça soit en binaire?
XCode est installé, je fais quoi? "Modifier" ou "ouvrir avec"?! :)

Merci en tous cas!

J'ai ça: je fais quoi?! :(

capturedcran20090909134.png

Visiblement, tu avais déjà essayé de booter en 64 bits, car tu as déjà le flag arch=x86_64, donc rien à faire.

Pour le modifier, du moment que c'est bien Property List Editor qui se lance, c'est bon. On peut modifier les valeurs avec ce logiciel.

Pour poursuivre, tout dépend si ta machine est ou non dans le tableau que j'ai fourni. Si elle n'y est pas, alors, il faut que tu poursuives les étapes du premier message pour les machines non présentes dans le tableau.
 
  • J’aime
Réactions: eseldorm
J'ai enregistré le fichier boot64.efi sur le bureau, puis déposé dans: finder ---> Système --> Bibliothèque ---> CoreServices.

Mais le terminal m'indique "no such fiel or directory"?!
Normal?

Merci pour avant. :)
 
J'ai enregistré le fichier boot64.efi sur le bureau, puis déposé dans: finder ---> Système --> Bibliothèque ---> CoreServices.

Mais le terminal m'indique "no such fiel or directory"?!
Normal?

Merci pour avant. :)

Attention, si tu n'es pas à l'aise avec le Terminal, je te recommande de ne pas faire cette manipulation. Et surtout, imprimes les instructions de "en cas de problèmes". Au cas où.

Dans le Terminal, tout est en anglais, donc

Système --> Bibliothèque ---> CoreServices

devient:

/System/Library/CoreServices


Tu devrais tout faire depuis le Terminal, au maximum. Copies / colles les commandes, ça t'évitera les fautes de frappe.
 
Mais je copie colle de toutes manières c'est plus prudent&#8230;

Mais pourtant je suis sûr d'avoir déposé le fichier dans CoreServices mais le terminal me dit "no such file or directory". ??

En fait la question serait plus "où dois je enregistré Boot64.efi" ??!
 
Mais je copie colle de toutes manières c'est plus prudent&#8230;

Mais pourtant je suis sûr d'avoir déposé le fichier dans CoreServices mais le terminal me dit "no such file or directory". ??

En fait la question serait plus "où dois je enregistré Boot64.efi" ??!


Il y a des commandes Terminal pour ça, que j'ai donné:

Bloc de code:
cd ~/Downloads

puis

Bloc de code:
sudo cp ./boot64.efi /System/Library/CoreServices/

Ca sert justement à cela, cela copie le fichier depuis le répertoire "Téléchargements" de ton répertoire perso dans CoreServices. Donc lorsque tu le télécharges, il faut que tu le mettes dans le répertoire "Téléchargements", puis que tu tapes les deux commandes ci-dessus.
Il sera alors copié dans /System/Library/CoreServices

Ne sautes aucune commandes, toutes sont importantes, et évite le Finder au maximum.
 
Lorsque je copie/colle le long code: "sudo bless &#8722;&#8722;folder /System/Library/CoreServices/ &#8722;&#8722;file /System/Library/CoreServices/boot64.efi" Il m'affiche: no volume specified&#8230;

??
 
Lorsque je copie/colle le long code: "sudo bless &#8722;&#8722;folder /System/Library/CoreServices/ &#8722;&#8722;file /System/Library/CoreServices/boot64.efi" Il m'affiche: no volume specified&#8230;

??

Hmm les - ont l'air bizarre. Essais de remplacer les - collés par des vrai - tapés au clavier. Cela doit être le bloc "Code" du forum qui formate bizarrement les -. Je te recopie la commande sans le mettre dans un bloc "Code":

sudo bless --folder /System/Library/CoreServices/ --file /System/Library/CoreServices/boot64.efi
 
Bon, bah maintenant c'est: "sudo cp ./boot64.efi /System/Library/CoreServices/" qui foire&#8230;

Il me met "Operation not permitted" ??!! Comment ça?
 
Bon, bah maintenant c'est: "sudo cp ./boot64.efi /System/Library/CoreServices/" qui foire…

Il me met "Operation not permitted" ??!! Comment ça?

Tout d'abord, assures toi que ton compte utilisateur est bien un compte administrateur.

Si tu l'as déjà copié, et que tu as déjà effectué les commandes chown et chflags, tu ne peux effectivement plus le modifier.

Si tu veux le copier à nouveau, pour recommencer, il faut:

1) Effacer un potentiel fichier précédent, en tapant:

sudo rm -f /System/Library/CoreServices/boot64.efi

Fais bien attention que tu as bien tapé "boot64.efi"

2) Copier le fichier télécharger à nouveau en tapant:

sudo cp ./boot64.efi /System/Library/CoreServices/

Evidement en t'étant assuré de bien être dans le répertoire ou tu as téléchargé boot64.efi (si c'est Téléchargement, il faut taper : cd ~/Downloads pour s'y rendre)
 
Salut frodon,
j' ai fais ta manip et ca reste toujours en 32 bits:
Version du système : Mac OS X 10.6 (10A432)
Version du noyau : Darwin 10.0.0
Volume de démarrage : Macintosh HD
Mode de démarrage : Normal
Nom de l’ordinateur : xxxxxxxxxxxxxxxx
Nom de l’utilisateur : xxxxxxxxxxxxxx
Mémoire virtuelle sécurisée : non activée
Noyau et extensions 64*bits : Non
Temps depuis le démarrage : 3 minutes

---------- Nouveau message ajouté à 17h54 ---------- Le message précédent a été envoyé à 17h48 ----------

voila le modele d'imac:


Nom du modèle : iMac
Identifiant du modèle : iMac5,1
Nom du processeur : Intel Core 2 Duo
Vitesse du processeur : 2,16 GHz
Nombre de processeurs : 1
Nombre total de cœurs : 2
Cache de niveau 2 : 4 Mo
Mémoire : 3 Go
Vitesse du bus : 667 MHz
Version de la ROM de démarrage : IM51.0090.B09
Version SMC (système) : 1.9f4
Numéro de série (système) : xxxxxxxx
UUID du matériel : xxxxxxxxxxxxxxxx-wwwwwww
 
Salut frodon,
j' ai fais ta manip et ca reste toujours en 32 bits:
Version du système : Mac OS X 10.6 (10A432)
Version du noyau : Darwin 10.0.0
Volume de démarrage : Macintosh HD
Mode de démarrage : Normal
Nom de l&#8217;ordinateur : xxxxxxxxxxxxxxxx
Nom de l&#8217;utilisateur : xxxxxxxxxxxxxx
Mémoire virtuelle sécurisée : non activée
Noyau et extensions 64*bits : Non
Temps depuis le démarrage : 3 minutes

Deux questions:

1) Quel type de machine (iMac, je suppose)?

2) As tu vérifié que tu avais bien un EFI 64 bits? (cf commande dans le premier post)

Si oui, je vais te mettre une nouvelle version de boot64.efi, qui devrait prendre en charge les iMacs correctement dans quelques minutes...

Voilà, j'ai mis une nouvelle version sur le FTP, même lien. Re-télécharges le donc. Celui là devrait fonctionner sur MacBook, Mac Mini, MacBook Air et iMac.
 
merci
 
comment savoir si j' ai bien un EFI 64 bits?

---------- Nouveau message ajouté à 18h07 ---------- Le message précédent a été envoyé à 18h03 ----------

voila j' ai ça:
| | "firmware-abi" = <"EFI32">

---------- Nouveau message ajouté à 18h08 ---------- Le message précédent a été envoyé à 18h07 ----------

je pense que je pourrais pas activer le 64 bits
 
comment savoir si j' ai bien un EFI 64 bits?

---------- Nouveau message ajouté à 18h07 ---------- Le message précédent a été envoyé à 18h03 ----------

voila j' ai ça:
| | "firmware-abi" = <"EFI32">

---------- Nouveau message ajouté à 18h08 ---------- Le message précédent a été envoyé à 18h07 ----------

je pense que je pourrais pas activer le 64 bits

Ok, donc effectivement tu es en EFI 32 bits. Dans ce cas, ça n'est pas possible de démarrer sur le noyau 64 bits.

Il faut au minimum un EFI 64 bits. Y compris avec le fichier boot64.efi.

Et pour le vérifier, il faut effectivement que le résultat de la commande:

Bloc de code:
ioreg -l -p IODeviceTree | grep firmware-abi

Soit:
Bloc de code:
    | |   "firmware-abi" = <"EFI[B]64[/B]">

Si c'est EFI32 ou rien, ça n'est pas bon.


Tu peux donc remettre le fichier de boot par défaut, le boot64.efi ne sert strictement à rien dans ton cas. Pour cela, tu ouvre le Terminal et tu tapes:

sudo bless --folder /System/Library/CoreServices/ --file /System/Library/CoreServices/boot.efi