juillet
2008
Toute personne (du moins celles et ceux qui fréquentent developpez.com) sait que la majorité des ordinateurs personnels vendus aujourd’hui possèdent encore et toujours un BIOS. Et que c’est ce même BIOS qui est responsable d’aller lire le MBR qui va lui charger l’OS en mémoire (je simplifie grandement. Ne m’en veuillez pas. Si vous désirez en savoir plus sur le BIOS et MBR, allez voir le tutoriel de Baptiste Wicht).
Mais saviez-vous que les MacIntel n’ont pas de BIOS ? Et qu’ils ne « bootent » pas grâce au MBR ?
Lors de l’abandon des processeurs PowerPC pour les processeurs Intel, Apple n’a pas choisi d’utiliser le BIOS, mais d’utiliser l’EFI.
EFI est l’abréviation de Extensible Firmware Interface.
L’EFI est quelque chose qu’Intel voudrait faire adopter par les constructeurs. Mais pour que les constructeurs adoptent l’EFI, il faudrait que les OS supportent l’EFI. Et, jusqu’à preuve du contraire, l’OS qui a la plus grande part de marché actuellement, c’est Windows.
Et, d’après le site de Microsoft, seules les versions de Windows Server 2003 et 2008 supporte l’EFI pour la plateforme Intel Itanium. Ce qui exclut donc les processeurs Intel Core 2 Duo, qui sont ceux que l’ont retrouve sur la plupart des PC vendus aujourd’hui. Windows Server 2008 devrait également supporter les processeurs Core 2 Duo d’Intel. Mais on ne peut pas dire que ce sont là les versions de Windows que l’on rencontre sur la majorité des PC vendus aujourd’hui. A ce jour, ni Windows XP, ni Windows Vista, sorti l’année passée, ne supporte l’EFI. (Notez qu’on retrouve un support de EFI 2.0 dans le Service Pack 1 de Windows Vista sorti récemment) Ce qui explique grandement pourquoi les cartes mères vendues aujourd’hui, autres que celles équipées du processeur Itanium, sont toujours équipées d’un Bios et n’ont généralement pas d’EFI.
Sauf en ce qui concerne les Mac. Apple, du fait qu’il vend une solution intégrée, a pu, sans aucun problème, ni aucun remord, adopter l’EFI.
Un autre avantage d’utiliser l’EFI au lieu du Bios, tient dans sa première lettre, E, qui signifie Extensible.
Apple pouvait donc étendre les fonctionnalités de l’EFI pour pouvoir proposer sous MacIntel les même fonctionnalités qu’elle proposait déjà sur les Mac PowerPC, comme, par exemple, le Target Mode (la possibilité de transformer son Mac en disque dur FireWire lorsque connecté à un autre Mac).
En plus d’utiliser l’EFI en lieu et place du Bios, Intel encourage également grandement à ce que l’EFI supporte le GPT. GPT est l’abréviation de GUID Partition Table. GUID étant également l’abréviation de Global Unique IDentifier.
Apple, qui utilisait précédemment l’OpenFirmware et l’APT (son propre système de Table de Partition, Apple Partition Table) n’a eu aucun problème à adopter le GPT au lieu du MBR, vu que l’APT est plus proche, conceptuellement, du GPT que du MBR. Le choix du GPT au lieu du MBR fut donc tout à fait logique.
Mais attention. La spécification du GPT possède quelques coins d’ombre concernant sa possible implémentation. Par exemple, la GPT ne donne pas de règle stricte à propos du partitionnement d’un disque.
Apple a donc établi sa propre politique quant au partitionnement d’un disque. Par exemple, une partition doit être aligné sur un bloc de 4K. Sur des disques compris entre 1 et 2Go (des cléfs usb, par exemple), une zone de 128Mo sépare les 2 partitions. Sur des disques de plus de 2Go (cad tous les disques durs vendus aujourd’hui) il y a toujours une partition réservée à l’EFI qui est créée. La taille de cette partition est fixée à 200Mo.
A notez que le firmware inclut dans les MacIntel contient également une émulation du Bios. C’est grâce à cela, que les MacIntel peuvent proposer Windows XP ou Windows Vista en Dual Boot.
Salut
Quelque précision sur EFI
EFi est en fait proche d’un micro noyau d’OS. la machine démarre donc sur ce noyau. EFI va embarquer les éléments nécessaire à la gestion matérielle de la machine. c’est en autre grâce à ça que lorsqu’on démarre une machine EFI on dispose dès le départ des capacités de la carte graphique et pas seulement d’un mode dit « standard ».
lorsque EFI à démarré il cherche donc l’OS à lancer. et il lui met à dispositions tous ces drivers. Avec EFI un os peut exploiter la sans posséder un seul des drivers pour le matériel. Si on fait ça avec le BIOS on peut lire et écrire sur le disque et utiliser le mode VGA ou SVGA utiliser Ethernet en mode basique. Avec EFI on peut utiliser les pleines capacité du matériel. mais EFI permet tout de même à l’OS de prendre son propre driver si besoin.
dans un monde idéel ou tout les x86 et dérivé serait EFI les OS n’aurait plus besoin de drivers et les constructeur de matériel n’aurait qu’à placer un drivers dans la flash de leur carte.
il n’en va pas ainsi.
mais EFI va encore plus loin. j’ai dit plus haut qu’il n’y avait que très peut de différence entre un Noyau d’OS et EFI c’est à tel point que certain on porté sur EFI (SANS OS) un bureau avec un navigateur WEB On à alors une machine pour surfer sans OS.
tout comme on peut étendre EFI en lui à joutant une application utilisateur on peut aussi l’étendre pour redéfinir une API. c’est ce qui à été fait avec BIOS on EFI cette implémentation du BIO est un vrai BIOS comme un autre la seule différence c’est qu’il utilise EFI pour accéder au matériel au lieu de le faire en direct et qu’il est lui-même démarré par EFI et non par la mise sous tension. à part ça c’est un BIOS pas un émulation.
pour finir EFI offre la possibilité de lancer plusieurs OS en simultané. je n’ai pas connaissance d’utilisation de cette possibilité sur Mac. cela permet de lancer un virtualisateur au démarrage de la machine et de lancer des OS dans des machine virtuelles. Aujourd’hui les virtualisateurs de ce type sont comme un OS qui démarre sur EFI mais EFI peux lui même assumer cette tâche. plus exactement EFI à été prévu pour permettre une telle implémentation mais ne l’embarque pas en natif.
le OS à base de micro noyaux (Mac OS n’est pas dans ce cas Micro noyau fusionné au noyau) pourraient par exemple reporter les fonctions du micro noyau dans EFI et améliorer ainsi leur gestion matérielle.
bref EFI est très largement ouvert et on n’a pas encore vu tous les apports qui qui nous livrera.
A+JYT
sur un PC Intel X86 ??? !!!!
C’est déjà possible d’installer Mac OS X sur un PC standard, mais c’est à priori illégal.
Thierry
Donc d’apres ce que j’ai compris, on aura la possiblité d’installer Windows et Mac OS en dual boot dans le meme « PC »? si oui alors le type de processeur est IntelItanium?
merci. la faute pour « marché » est corrigée
« la plus grande part de marcher actuellement, »
Le plus grande part de marché !
Pas que je sache. C’est le SP1 de Vista qui doit supporter l’EFI, comme indiqué dans le billet.
Il paraît que le SP1 de XP devait supporter l’EFI, non ?