Auteur Sujet: Différences entre UEFI / GPT et BIOS / MBR  (Lu 66252 fois)

0 Membres et 1 Invité sur ce sujet

vivien

  • Administrateur
  • *
  • Messages: 32 848
    • Twitter LaFibre.info
Différences entre UEFI / GPT et BIOS / MBR
« le: 12 août 2015 à 13:37:52 »
Je fais ce post afin d'expliquer les différences entre UEFI / GPT et BIOS / MBR

GUID Partition Table (GPT)

GPT est un standard pour décrire la table de partitionnement d'un disque dur. Il faut une carte mère d'ordinateur avec une mémoire flash UEFI pour pouvoir démarrer un ordinateur sur un disque dur avec une table de partition GPT. C'est le cas de tous les PC à partir de 2012.
GPT gère les disques durs jusqu'à 9,4 Zo, soit 9 400 000 000 To.

Avant GPT, la table des partition étaient enregistré sur un Master Boot Record (MBR)


Master Boot Record (MBR)

A l'époque de la création du MBR, la taille des disques dur était de 5 Mo et ils ne pensaient pas utile d'avoir plus de 4 partition et ce fut la limite, afin de ne pas perdre de place. La taille du MBR est donc petite : seulement 512 octets.
L'astuce, pour dépasser 4 partitions consiste a créer une partition étendue qui va renvoyer vers une seconde table plus grande. Problème : En supprimant une partition principale il est impossible de créer deux partitions plus petites. On note également que certains systèmes d'exploitation nécessitent d'être dans une partition principale pour démarrer.

Ce qui a provoqué son remplacement, ce n'est pas la limite de 4 partitions, mais le fait que la taille soit sur 41 octets. Il est donc impossible d'adresser au-delà de 2,2 To (241 octets).


Unified Extensible Firmware Interface (UEFI)

UEFI est le logiciel qui est stocké dans la mémoire flash des ordinateurs modernes qui permet de démarrer l'ordinateur. C'est lui qui initialise l'ordinateur, va vérifier que les composants fonctionnent correctement et va chercher le disque dur ou le CD-Rom pour démarrer un système d'exploitation.

UEFI 2.0 date de 2006 et on le trouve depuis cette date sur les serveurs. Pour les PC grand public, les grands constructeurs ont attendu à ce que Microsoft le rende obligatoire en 2012, pour le programme de certification de Windows 8. Pour ceux qui se montent eux même leur PC, la majorité des cartes mères proposaient l'UEFI en 2010 (mais par défaut, elles étaient configurées en mode BIOS)

GPT fait partie d'UEFI, donc tous les PC UEFI savent le gérer.


Basic Input Output System (BIOS)

Le BIOS est le logiciel qui est stocké dans la mémoire rom / flash des ordinateurs depuis les premiers PC de 1981 et qui permet de démarrer l'ordinateur. Aujourd'hui tous les PC ont un UEFI, mais il est courant de désigner UEFI comme étant un BIOS UEFI.

Le BIOS ne sait pas gérer GPT et il est donc impossible d'avoir un disque dur de démarrage du PC > 2,2 To.
Ce problème s'est posé en premier pour les servuer avec des disques RAID (composé de plusieurs de disques physiques) qui pouvait dépasser 2,2 To avec seulement 6 disques dur de 512Go, en mode RAID5. C'est pour cela que les serveurs ont été les premiers à proposer UEFI et GPT.

vivien

  • Administrateur
  • *
  • Messages: 32 848
    • Twitter LaFibre.info
Différences entre UEFI / GPT et BIOS / MBR
« Réponse #1 le: 12 août 2015 à 13:38:38 »
Voici sous Windows 10 un PC BIOS / MBR avec 5 OS installé :
- Partition 1 : Pré-installé par Dell => Outils de diagnostique du PC avant d'appeler
- Partition 2 : Pré-installé par Dell => Outil de ré-installation à neuf du PC
- Partition 3 : Windows 7
- Partition 4 : Partition étendue qui contient 6 partition : Windows 8.1, Windows 10, Windows server 2008, Ubuntu ext4 /, Ubuntu swap, Ubuntu ext4 /home

Windows à un bug et affiche les partitions Linux que j'ai mis en vert comme des partitions principales, c'est bien sur impossible.



Voici sous Windows 10 un PC UEFI / GPT en dual boot Ubuntu :
- Partition 1 : Boot UEFI (cette partition est nécessaire en UEFI, c'est la que UEFI va voir les systèmes d'exploitations installés)
- Partition 2 : Pré-installé par Dell => Outils de diagnostique du PC avant d'appeler
- Partition 3 : Partition de diagnostique Microsoft (type de partition crée avec Windows 8.1)
- Partition 4 : Windws 10 (mise à jour depuis Windows 8.1)
- Partition 5 : Partition de remise à zéro Microsoft (type de partition crée avec Windows 8.1)
- Partition 6 : Ubuntu ext4 /
- Partition 7 : Ubuntu swap
- Partition 8 : Ubuntu ext4 /home
- Partition 9 : Pré-installé par Dell => Outil de ré-installation à neuf du PC


vivien

  • Administrateur
  • *
  • Messages: 32 848
    • Twitter LaFibre.info
Différences entre UEFI / GPT et BIOS / MBR
« Réponse #2 le: 12 août 2015 à 13:41:29 »
Voici sous Ubuntu le même PC BIOS / MBR avec 5 OS installé :
- Partition 1 : Pré-installé par Dell => Outils de diagnostique du PC avant d'appeler
- Partition 2 : Pré-installé par Dell => Outil de ré-installation à neuf du PC
- Partition 3 : Windows 7
- Partition 4 : Partition étendue qui contient 6 partition : Windows 8.1, Windows 10, Windows server 2008, Ubuntu ext4 /, Ubuntu swap, Ubuntu ext4 /home

On note que Ubuntu affiches directement que le disque à un MBR et non un GPT



Voici sous Ubuntu le même PC UEFI / GPT en dual boot Windows 10 :
- Partition 1 : Boot UEFI (cette partition est nécessaire en UEFI, c'est la que UEFI va voir les systèmes d'exploitations installés)
- Partition 2 : Pré-installé par Dell => Outils de diagnostique du PC avant d'appeler
- Partition 3 : Partition de diagnostique Microsoft (type de partition crée avec Windows 8.1)
- Partition 4 : Windws 10 (mise à jour depuis Windows 8.1)
- Partition 5 : Partition de remise à zéro Microsoft (type de partition crée avec Windows 8.1)
- Partition 6 : Ubuntu ext4 /
- Partition 7 : Ubuntu swap
- Partition 8 : Ubuntu ext4 /home
- Partition 9 : Pré-installé par Dell => Outil de ré-installation à neuf du PC

On note que Ubuntu affiches directement que le disque à un GPT (GUID Partition Table) :




Installation d'un serveur Ikoula avec Ubuntu en UEFI / GPT via un KVM :
- Partition 1 : Boot UEFI
- Partition 2 : Ubuntu ext4 /
- Partition 3 : Ubuntu swap
- Partition 4 : Ubuntu ext4 /home


L'UEFI affiche juste un logo au démarrage :


Le boot sur le CD-Rom virtuel du KVM : ce menu est spécifique à un boot UEFI


Le KVM IP utilisé :


jack

  • Professionnel des télécoms
  • *
  • Messages: 1 591
  • La Madeleine (59)
Différences entre UEFI / GPT et BIOS / MBR
« Réponse #3 le: 12 août 2015 à 14:55:35 »
Citation de: vivien
Boot UEFI (cette partition est nécessaire en UEFI, c'est la que UEFI va voir les systèmes d'exploitations installés)
Étrangement, les serveurs ont UEFI depuis longtemps, et cette partition n'est sur aucun (des miens a minima). Je me demande pourquoi elle est obligatoire sur les postes "de bureau".

La taille de partition limité à 2.2TB est clairement la vraie limite du MBR.
Pour ce qui est du nombre de partition, la plupart des systèmes n'utilisent plus les partitions primaires (pas uniquement à minima) : je pense à device mapper, ZFS, butterfs etc.

vivien

  • Administrateur
  • *
  • Messages: 32 848
    • Twitter LaFibre.info
Différences entre UEFI / GPT et BIOS / MBR
« Réponse #4 le: 12 août 2015 à 15:13:22 »
jack, si tu n'a pas cette partition UEFI sur tes serveurs, c'est qu'ils boot en mode compatibilité BIOS.

Les serveurs Dell ne savent pas faire mode "compatibilité BIOS" et mode "UEFI". C'est l'un ou l'autre. J'ai tenté, il y a quelques années d'installer un ubuntu server en UEFI, mais cela ne voulait pas démarrer.

Depuis, j'ai compris que la partition UEFI est nécessaire et l'astuce la plus simple que j'ai trouvé lors d'une installation sur un disque vierge, c'est de laisser Ubuntu créer les partition automatisées (il va créer la partition UEFI) et modifier ensuite le partitionnement réalisé automatiquement pour faire un partitionnement personnalisé (chez moi, le /home est toujours dans une partition à part, c'est bien pratique de ré-installer un système sans rien perdre et je configure le swap à la moitié de la mémoire physique, en mode automatique, c'est bien plus)

jack

  • Professionnel des télécoms
  • *
  • Messages: 1 591
  • La Madeleine (59)
Différences entre UEFI / GPT et BIOS / MBR
« Réponse #5 le: 12 août 2015 à 15:15:35 »
Hum

Est-ce que sait quelles sont les points problématiques du "mode de compatibilité bios" ?
J'imagine que la différence n'est pas uniquement "ne requiert pas de partition dédiée"  ;D

vivien

  • Administrateur
  • *
  • Messages: 32 848
    • Twitter LaFibre.info
Différences entre UEFI / GPT et BIOS / MBR
« Réponse #6 le: 12 août 2015 à 15:30:13 »
Je sais que certains systèmes d'exploitations, comme MacOS X Intel ou SteamOS ne gèrent pas le mode de compatibilité BIOS : l'UEFI  et nécessaire (et sa partition)

Un intérêt de l'UEFI, c'est le secure boot :
Depuis la version 2.3.1, l'UEFI intègre une fonctionnalité n'autorisant le démarrage qu'aux systèmes d'exploitation reconnus. Cette fonctionnalité vise à interdire le démarrage d'un système d'exploitation corrompu notamment par un virus ou un rootkit.

En mode « lancement sécurisé » (secure boot), l'UEFI utilise un mécanisme de vérification par signatures numériques. Le micrologiciel interdit tout chargement de driver ou de noyau dont la signature ne correspondrait pas à celle gravée en ROM.

source : Wikipedia

Pour Ubuntu, l'UEFI Secure Boot est supporté depuis Ubuntu 12.10 64bits et Ubuntu 12.04.1 64bits pour les versions LTS. Les versions 32bits ne supportent pas UEFI.

Il est vrai qu'il était impossible d'installer certaines distributions Linux avec un UEFI, même non signé : Mageia ne supporte le boot UEFI que depuis la version 5 du 19 juin 2015. Mageia supporte l'UEFI "insecure mode" mais pas l'UEFI Secure Boot (il faut le désactiver)

Mint, Fedora, Suse, Red-Hat, CentOS,... supportent l'UEFI Secure Boot dans les dernières versions 64bits.

vivien

  • Administrateur
  • *
  • Messages: 32 848
    • Twitter LaFibre.info
Différences entre UEFI / GPT et BIOS / MBR
« Réponse #7 le: 12 août 2015 à 19:03:34 »
Je ne suis pas sur que Debian supporte le secure boot pour des raisons idéologique (contraire au projet Debian d'avoir une clef Microsoft pour signer le boot). C'est il me semble la seule grande distribution linux a ne pas avoir le secure boot (il y a en a d'autres des distributions linux plus modeste tel que Mageia ou des BSD qui ne supportent pas le secure boot)


Windows 10 : le Secure Boot piège Linux ?

Le démarrage sécurisé refait parler de lui. Pour les fabricants OEM et avec Windows 10, il doit être activé et ce sont eux qui décideront si un utilisateur pourra le désactiver ou non. Cela pourrait compliquer l'installation de systèmes d'exploitation alternatifs comme une distribution Linux.

La polémique Secure Boot ressurgit avec Windows 10. Au sein de la communauté Open Source, elle avait été vive au moment de la sortie de Windows 8 qui a introduit la prise en charge de ce démarrage sécurisé. Le Secure Boot n'est toutefois pas une fonctionnalité de Windows mais un protocole de l'UEFI (le remplaçant du BIOS).

À l'occasion de sa conférence WinHEC 2015 qui s'est déroulée la semaine dernière en Chine, Microsoft a détaillé pour les fabricants la configuration matérielle pour Windows 10. Avec les nouveaux appareils équipés, il est évidemment question du Secure Boot.

Ars Technica a repéré dans une présentation (Building More Secure Windows 10 Devices with the TPM) que le Secure Boot doit être activé avec une nouvelle machine et c'est au fabricant OEM de décider s'il permet à l'utilisateur final de pouvoir le désactiver. C'est un changement par rapport à Windows 8 où Microsoft rendait obligatoire la possibilité pour un utilisateur de pouvoir désactiver le démarrage sécurisé.



Ce changement fait peser une incertitude quant à la possibilité d'installation sur une nouvelle machine équipée de Windows 10 d'un système d'exploitation alternatif comme une distribution Linux.

Comme Microsoft ne fait pour le moment aucun commentaire, la situation est assez confuse. En 2011, la bombe avait été désamorcée avec donc l'obligation d'une possibilité de désactivation du Secure Boot (architecture x86) mais aussi un partenariat avec VeriSign pour une méthode visant à permettre la signature numérique d'autant de composants tiers que souhaité contre le paiement d'une clé à 99 $.

Rappelons que le but du Secure Boot est tout à fait louable. C'est une sécurisation de l'environnement pré-OS avec l'UEFI qui nécessite une clé numérique pour le boot d'un système. Elle vise à limiter les possibilités d'une attaque de type rootkit provoquant la compromission du processus de boot.

    " Le démarrage sécurisé est une norme de sécurité mise au point par les acteurs de l'industrie du PC pour vérifier que votre PC démarre uniquement à l'aide d'un logiciel approuvé par le fabricant du PC. Quand le PC démarre, le microprogramme vérifie la signature de chaque logiciel de démarrage, notamment les pilotes du microprogramme (ROM en option) et le système d'exploitation. Si les signatures sont correctes, le PC démarre et le microprogramme cède le contrôle au système d'exploitation "

, explique Microsoft.


Source : Génération-NT le lundi 23 Mars 2015 par Jérôme G.

Contrairement a ce que dit cet article, le secure boot ne pose aucun problème pour les grandes distributions a l'exception de Debian : c'est complètement transparent.

tontonrobert

  • Client Bbox adsl
  • *
  • Messages: 189
  • VDSL2 - Bbox
Différences entre UEFI / GPT et BIOS / MBR
« Réponse #8 le: 12 août 2015 à 19:18:10 »
Rappelons que le but du Secure Boot est tout à fait louable. C'est une sécurisation de l'environnement pré-OS avec l'UEFI qui nécessite une clé numérique pour le boot d'un système. Elle vise à limiter les possibilités d'une attaque de type rootkit provoquant la compromission du processus de boot.

    " Le démarrage sécurisé est une norme de sécurité mise au point par les acteurs de l'industrie du PC pour vérifier que votre PC démarre uniquement à l'aide d'un logiciel approuvé par le fabricant du PC. Quand le PC démarre, le microprogramme vérifie la signature de chaque logiciel de démarrage, notamment les pilotes du microprogramme (ROM en option) et le système d'exploitation. Si les signatures sont correctes, le PC démarre et le microprogramme cède le contrôle au système d'exploitation "

, explique Microsoft.

Ce que ne dit pas cet article (dommage), c'est que concrêtement, cela ne change rien de manière positive.
Prenons une machine sur laquelle moi, méchant, j'ai le contrôle.

Sans secure boot, pour modifier le MBR ou le processus de démarrage au sens large, il me faut obligatoirement les droits root/administrateur.
Autrement dit, sans secure boot, je dois avoir tout les droits sur la machine pour modifier le processus de démarrage.

Avec secure boot, et comme j'ai tout les droits, je peux aussi charger un logiciel "de confiance", pour le modifier à chaud directement.
Pour rester dans Linux (je gage que c'est pareil sous les autres OS), si je suis root, je peux :
- charger des modules noyaux (= changer un grand nombre de fonctionnalité)
- lancer un nouveau noyau via kexec

Même sans entrer dans l'espace noyau, je peux modifier les bilbiothèques essentielles du système pour modifier les fonctions à ma convenance (je pense à la libc par exemple).

Bref, à mon avis, le secure boot est 100% nefaste, parcqu'il est chargé de protéger l'utilisateur d'un ennemi qui possède déjà 100% de la machine. Autrement dit, le secure boot est utile pour une guerre déjà perdue.

Ai-je oublié un détail ?

Snickerss

  • Expert Free + Client Bbox fibre FTTH
  • Modérateur
  • *
  • Messages: 4 109
  • Mes paroles n'engagent que moi :)
Différences entre UEFI / GPT et BIOS / MBR
« Réponse #9 le: 12 août 2015 à 19:34:57 »
Tu prends l'exemple ou tu es root sur ta machine. Si tu ne l'es pas ?

tontonrobert

  • Client Bbox adsl
  • *
  • Messages: 189
  • VDSL2 - Bbox
Différences entre UEFI / GPT et BIOS / MBR
« Réponse #10 le: 12 août 2015 à 19:41:45 »
Ben, si je ne suis pas root, je n'ai pas accès au périphérique bloc, je ne peux pas modifier MBR, ni l'amorceur, ni ..

Snickerss

  • Expert Free + Client Bbox fibre FTTH
  • Modérateur
  • *
  • Messages: 4 109
  • Mes paroles n'engagent que moi :)
Différences entre UEFI / GPT et BIOS / MBR
« Réponse #11 le: 12 août 2015 à 19:46:31 »
Tu peux avoir un accès physique a la machine no ?

Tu veux installer un rootkit, sans secure boot tu redémarres la machine et tu peux la faire booter sur ton code.

J'imagine que c'est plus dans ce scénario la

 

Mobile View