15 votes

Code Hex GDisk

Pendant l'utilisation de gdisk, il existe une option pour spécifier le code hexadécimal. Je veux savoir ce que c'est et pourquoi c'est nécessaire, voir ci-dessous. Donc par exemple, si je crée un RAID logiciel sur mon disque, je suppose que j'ai besoin du code fd00. Mais pourquoi ? Qu'est-ce que c'est, et dois-je l'utiliser ? Pourquoi ne puis-je pas créer mon ensemble RAID en utilisant 8300 (peu importe ce que cela signifie) ?

Commande (? for help): n
Numéro de partition (1-128, par défaut 1): 
Premier secteur (34-5860533134, par défaut = 2048) ou {+-}taille{KMGTP}: 
Dernier secteur (2048-5860533134, par défaut = 5860533134) ou {+-}taille{KMGTP}: 
Le type actuel est 'Système de fichiers Linux'
Code hexadécimal ou GUID (L pour afficher les codes, Entrée = 8300): L
0700 Données de base Microsoft  0c01 Réservé Microsoft       2700 Windows RE     
4100 Amorçage PowerPC PReP      4200 Données Windows LDM    4201 Métadonnées Windows LDM
7501 IBM GPFS                   7f00 Noyau ChromeOS        7f01 Racine ChromeOS      
7f02 Réservé ChromeOS           8200 Espace d'échange Linux        8300 Système de fichiers Linux    
8301 Réservé Linux              8302 /home Linux             8400 Démarrage Intel Rapid   
8e00 LVM Linux                  a500 Table de disque FreeBSD   a501 Amorce FreeBSD       
a502 Espace d'échange FreeBSD   a503 UFS FreeBSD            a504 ZFS FreeBSD         
a505 Vinum/RAID FreeBSD         a580 Données Midnight BSD    a581 Amorce Midnight BSD   
a582 Espace d'échange Midnight BSD  a583 UFS Midnight BSD     a584 ZFS Midnight BSD    
a585 Vinum Midnight BSD         a800 UFS Apple              a901 Espace d'échange NetBSD       
a902 FFS NetBSD                 a903 LFS NetBSD             a904 Concaténée NetBSD 
a905 Cryptée NetBSD             a906 RAID NetBSD            ab00 Amorce Apple          
af00 HFS/HFS+ Apple            af01 RAID Apple             af02 Hors ligne RAID Apple  
af03 Étiquette Apple            af04 Récupération AppleTV   af05 Stockage central Apple  
be00 Amorçage Solaris          bf00 Racine Solaris         bf01 /usr Solaris & Mac Z
bf02 Espace d'échange Solaris   bf03 Sauvegarde Solaris        bf04 /var Solaris        
bf05 /home Solaris             bf06 Secteur alternatif Solaris  bf07 Réservé Solaris 1  
bf08 Réservé Solaris 2         bf09 Réservé Solaris 3        bf0a Réservé Solaris 4  
bf0b Réservé Solaris 5         c001 Données HP-UX           c002 Service HP-UX       
ea00 $BOOT Freedesktop         eb00 BFS Haiku              ed00 Partition système Sony
ef00 Système EFI               ef01 Schéma de partition MBR   ef02 Partition d'amorçage BIOS 
Appuyez sur la touche  pour afficher plus de codes: 
fb00 VMFS VMWare              fb01 Réservé VMWare           fc00 Crash kernel de base VMWare
fd00 RAID Linux

25voto

Rod Smith Points 41849

La réponse de kyodake est correcte, mais elle est aussi plutôt centrée sur MBR. Sous GPT, les mêmes principes s'appliquent - c'est-à-dire qu'un code de type de partition identifie l'usage prévu d'une partition. La différence est que les codes de type GPT sont des GUID sur 128 bits, par rapport aux codes sur 8 bits utilisés sous MBR. La nature des GUID signifie qu'il n'est pas nécessaire d'enregistrer les codes auprès d'une autorité centrale pour éviter les collisions ; il est statistiquement très peu probable que deux GUID soient identiques par accident.

À ma connaissance, il n'existe pas de référentiel officiel des codes de type GPT, mais ils sont documentés sur la page Wikipédia sur GPT. Un inconvénient des codes de type GPT est que, en tant que GUID, ils sont longs et maladroits - par exemple, 0FC63DAF-8483-4772-8E79-3D69D8477DE4 pour les données du système de fichiers Linux, par rapport à 0x83 pour l'équivalent MBR. Ainsi, la plupart des outils de partitionnement des disques GPT utilisent une forme de "raccourci" ou de "traduction en langage naturel" dans leurs interfaces utilisateur. Je suis l'auteur de GPT fdisk et mon objectif en l'écrivant était de créer quelque chose qui soit aussi similaire que possible à (MBR) fdisk, j'ai donc pris l'approche d'utiliser les codes MBR comme base ; cependant, étant donné que la correspondance entre les codes de type GPT et MBR n'est pas de 1:1, j'ai multiplié les codes de type MBR par 0x100 pour obtenir les équivalents GPT. Ainsi, 0x83 du MBR est devenu 8300. Cela permet également d'avoir des codes de suivi liés qui n'existent pas en MBR, comme 8301, 8302, etc. Ces codes sont faciles à utiliser pour les personnes qui sont déjà familières avec les équivalents MBR, mais ils sont certainement arbitraires pour ceux qui ne connaissent pas les codes MBR. En interne, GPT fdisk traduit ces codes en GUID. Vous pouvez voir les GUID réels en consultant les informations détaillées sur la partition (via l'option i dans gdisk, par exemple). Vous pouvez également saisir un GUID arbitraire au lieu d'utiliser les codes à quatre caractères de GPT fdisk, si vous le souhaitez ou si vous devez utiliser un code que GPT fdisk ne prend pas en charge.

D'autres outils utilisent d'autres approches. La bibliothèque libparted (et donc parted, GParted, et d'autres outils basés sur libparted) traduit certain codes de type en "drapeaux" et masque complètement d'autres codes. Cela aide à simplifier les choses pour certains utilisateurs, mais rend certaines tâches impossibles - par exemple, vous ne pouvez pas définir un code de type arbitraire avec quelque chose basé sur libparted. L'utilitaire de disque d'OS X traduit les GUID connus en descriptions en texte brut. (De ce que je me souvienne, lors de la création d'une partition, il définissait un code de type approprié en fonction du système de fichiers créé dans une partition, de manière similaire à ce que fait GParted.)

Pour la plupart, Linux n'utilise pas de codes de type, que ce soit pour MBR ou GPT. Autrement dit, vous pouvez placer votre système de fichiers Linux standard sur une partition 8300 (GPT fdisk), ou utiliser 0700 (comme c'était courant par le passé), ou assigner votre propre GUID aléatoire. Des commentaires similaires s'appliquent au RAID, LVM, swap et autres types de partitions. Il y a quelques exceptions à cette règle, cependant. Pour commencer, les programmes d'installation de distributions examinent souvent et définissent des codes de type, il se peut donc que vous ayez besoin du bon code de type sur une partition avant qu'elle ne soit utilisée correctement. Une autre exception est que systemd commence à utiliser des codes de type comme solution de secours si /etc/fstab n'est pas correctement configuré. (C'est là que la plupart des codes 830x de GPT fdisk trouvent leur origine - ils font partie de la Spécification des Partitions Découvrables, qui est une initiative Freedesktop/systemd.) Actuellement, Ubuntu n'utilise que le code de type de système de fichiers Linux principal (8300 dans GPT fdisk) pour les systèmes de fichiers, ainsi que les codes appropriés pour LVM, RAID, swap, etc. Une grande exception aux règles "Linux n'utilise pas de codes de type" est le code de partition de démarrage BIOS (21686148-6449-6E6F-744E-656564454649 ; ef02 dans GPT fdisk ou le drapeau bios_grub dans libparted). Ce code de type identifie une partition utilisée par GRUB et lorsque vous exécutez grub-install, GRUB installera une partie de lui-même sur cette partition. Lorsque vous installez GRUB sur un système démarrant en mode BIOS avec un disque GPT, une partition BIOS Boot doit normalement être présente. (Il existe cependant des moyens de contourner cette règle.) Plus important encore, si vous définissez accidentellement ce code de type sur la mauvaise partition, cette partition sera endommagée lorsque vous installerez GRUB ! J'ai vu un bon nombre de personnes commettre cette erreur dans divers forums en ligne.

Les codes de type deviennent plus importants lorsqu'il s'agit d'autres systèmes d'exploitation. Windows et OS X, par exemple, ont tendance à ne pas toucher aux partitions avec des codes de type qu'ils ne reconnaissent pas. Leur liste de codes de type exclut les codes de type spécifiques à Linux, donc l'utilisation d'un code de type spécifique à Linux aide à réduire le risque que Windows ou OS X endommagent votre installation Ubuntu. Ces systèmes d'exploitation se moquent que vous utilisiez le code 8300 ou fd00 de GPT fdisk, cependant. Des problèmes peuvent survenir si vous utilisez des codes reconnus par ces autres systèmes d'exploitation. Par exemple, à un moment donné, l'GUID du type de système de fichiers Linux (0FC63DAF-8483-4772-8E79-3D69D8477DE4) n'existait pas. Je l'ai créé et l'ai intégré à la fois dans mon propre GPT fdisk et dans libparted car la pratique courante d'utiliser le code de type "Microsoft Basic Data" (EBD0A0A2-B9E5-4433-87C0-68B6B72699C7) causait des problèmes dans les configurations de dual-boot. Plus précisément, certains outils Windows pensaient que la partition Linux était une partition Windows endommagée ou non initialisée et proposaient de la préparer. Une erreur de l'utilisateur à ce moment serait désastreuse. Consultez cette page de ma part pour en savoir plus sur ce sujet.

1voto

kyodake Points 13991

Les listes des types de partitions attribués à utiliser dans la table des partitions étaient initialement maintenues par IBM et Microsoft en interne.

Lorsque le marché des systèmes d'exploitation PC et des outils de disque a grandi et s'est libéré, d'autres fournisseurs ont également eu besoin d'attribuer des types de partitions spéciales à leurs produits.

Dans les années 1990, plusieurs experts de l'industrie ont commencé à rechercher les types de partitions et ont publié des listes de types de partitions afin d'aider à documenter la norme de facto de l'industrie et ainsi réduire le risque de conflits ultérieurs.

C'est au chargeur d'amorçage et/ou au noyau d'un système d'exploitation d'interpréter la valeur. Ainsi, le tableau spécifie quels systèmes d'exploitation ou quels produits liés au disque ont initialement introduit un identifiant et à quel système de fichiers ou type de partition spécial ils l'ont associé.

ID de Partition : 83h. Type : système de fichiers. Origine : GNU/Linux. Description : tout système de fichiers natif Linux.

ID de Partition : FDh. Origine : GNU/Linux. Pris en charge : Linux. Description : super-bloc RAID Linux avec auto-détection.

SistemesEz.com

SystemesEZ est une communauté de sysadmins où vous pouvez résoudre vos problèmes et vos doutes. Vous pouvez consulter les questions des autres sysadmins, poser vos propres questions ou résoudre celles des autres.

Powered by:

X