3 votes

Convertir la partition MBR en GPT sans perte de données

J'ai une partition MBR que je veux convertir en GPT sans perdre toutes mes données. Le BIOS est UEFI. Je ne suis pas un expert des disques durs, alors veuillez être patient. J'ai vu cela et cela mais je ne peux pas comprendre si je peux appliquer ces procédures sans effacer tous mes fichiers, car la partition n'a que 2048 secteurs libres avant le début des données. Voici ma partition:

entrez la description de l'image ici

sortie de sudo fdisk -l /dev/sda

Disque /dev/sda : 111,81 Gio, 120034123776 octets, 234441648 secteurs
Modèle de disque : Samsung SSD 840 
Unités : secteurs de 1 * 512 = 512 octets
Taille de secteur (logique/physique) : 512 octets / 512 octets
Taille d'E/S (minimale/optimale) : 512 octets / 512 octets
Type d'étiquette de disque : dos
Identifiant de disque : 0x00034386

Device     Boot     Start       End   Sectors  Size Id Type
/dev/sda1  *         2048 201011199 201009152 95,9G 83 Linux
/dev/sda2       201013246 234440703  33427458   16G  5 Extended
/dev/sda5       201013248 234440703  33427456   16G 82 Linux swap / Solaris

Est-il possible d'effectuer la conversion et de conserver mes données?

4voto

La conversion de MBR en GPT concerne un disque, pas une partition : "Les disques Master Boot Record (MBR) utilisent la table de partition BIOS standard. Les disques GUID Partition Table (GPT) utilisent l'interface firmware extensible unifiée (UEFI). Un avantage des disques GPT est que vous pouvez avoir plus de quatre partitions sur chaque disque. GPT est également requis pour les disques de plus de deux téraoctets (TB)." (Microsoft - Convertir un disque MBR en un disque GPT)

Est-il possible d'effectuer la conversion et de conserver mes données ?

Oui.

Suivez ce guide (pas besoin de le reproduire ici, puisqu'il s'agit d'un site SE).

Un résumé est présenté ici.

  1. sudo gdisk /dev/sda.
  2. Commande (? pour l'aide) : n pour créer une nouvelle partition "BIOS boot" (code ef02).
  3. Commande (? pour l'aide) : w pour écrire la table des partitions.
  4. partprobe /dev/sda pour recharger la table des partitions.

Pour ajouter le démarrage UEFI :

  1. grub-install /dev/sda pour réinstaller le chargeur d'amorçage GRUB en utilisant le nouveau schéma de partition.
  2. sudo gdisk /dev/sda puis n pour créer une partition "EFI System" (ESP).
  3. c pour définir l'étiquette de la nouvelle partition avec quelque chose sans espaces.
  4. Commande (? pour l'aide) : w pour écrire la table des partitions.
  5. partprobe /dev/sda pour recharger la table des partitions.
  6. mkfs -t vfat -v /dev/disk/by-partlabel/EFI-system (par exemple) pour construire le système de fichiers pour l'ESP.
  7. mkdir /boot/efi pour créer un point de montage pour l'ESP.
  8. Ajoutez /dev/disk/by-partlabel/EFI-system /boot/efi vfat defaults 0 2 (ou tout ce qui correspond aux éléments 11 et 12 ci-dessus) à /etc/fstab, afin qu'il soit automatiquement monté.
  9. mount /boot/efi pour monter l'ESP.
  10. grub-install --target=x86_64-efi /dev/sda pour installer le chargeur d'amorçage GRUB EFI.
  11. Redémarrez.
  12. Changez BIOS boot -> UEFI boot dans le BIOS.
  13. Utilisez le menu de démarrage à usage unique pour forcer le démarrage du disque. Vous devrez peut-être naviguer vers le disque : EFI -> ubuntu -> grubx64.efi.
  14. grub-install pour réinstaller le chargeur d'amorçage EFI de GRUB afin de mettre à jour le sélecteur de démarrage UEFI.

Notes :

  1. Je ne peux pas manquer ce point (même s'il est mentionné partout) : faites une sauvegarde de vos données.
  2. Votre /dev/sda1 commence au secteur 2048 donc vous êtes prêt à commencer.
  3. Vous pourriez avoir besoin de libérer de l'espace pour la partition EFI System.
  4. Ceci (noté dans un commentaire) répertorie des instructions plus dispersées à travers des réponses. Et moins de détails.

3voto

chutz Points 183

La version courte est, oui, c'est possible. Mais quelques points de ma part :

  • Lors de la conversion, démarrez à partir d'un support de secours (ou simplement à partir d'un support d'installation), sinon vous ne pourrez pas voir si les changements que vous apportez ont un impact sur le système en direct (si une partition est en cours d'utilisation, le noyau ne peut pas recharger la table des partitions)

  • Sauvegardez votre table de partitions d'origine. Ce n'est pas un gros fichier, juste faire un dd if=/dev/sda bs=512 count=2048 de=fichierdebackup devrait suffire à annuler tout dommage que vous pourriez causer à vos disques car dans le processus de conversion, vous ne toucherez pas à vos données.

  • Si à un moment donné vous pensez avoir fait une erreur, faites simplement dd if=fichierdebackup de=/dev/sda et vous pouvez recommencer.

  • Procédez maintenant à la conversion. Pour commencer, effacez votre MBR avec wipefs /dev/sda. Vous devriez voir quelque chose comme ci-dessous, donc allez-y et effacez-le avec wipefs -f /dev/sda:

    DÉVICE OFFSET TYPE UUID LABEL sda 0x1fe dos

  • Ensuite, créez votre table GPT avec gdisk. La clé ici est lors de la création des partitions, assurez-vous de faire correspondre le début et la fin pour qu'ils soient les mêmes qu'avant.

  • Notez que vous n'avez pas à créer de partition étendue dans GPT, alors sautez simplement celle-ci.

Voici un résumé des commandes que vous devez exécuter. J'ai utilisé un fichier, mais vous pouvez utiliser sudo /dev/sda à la place.

$ sudo gdisk /dev/sda
GPT fdisk (gdisk) version 1.0.5

Analyse de la table des partitions :
  MBR : non présent
  BSD : non présent
  APM : non présent
  GPT : non présent

Création de nouvelles entrées GPT en mémoire.

Commande (? pour l'aide) : n
Numéro de partition (1-128, par défaut 1) : 
Premier secteur (34-234441614, par défaut = 2048) ou {+-}taille{KMGTP} : 2048
Dernier secteur (2048-234441614, par défaut = 234441614) ou {+-}taille{KMGTP} : 201011199
Le type actuel est 8300 (système de fichiers Linux)
Code hexadécimal ou GUID (L pour afficher les codes, Entrée = 8300) : 
Type de partition modifié en 'Système de fichiers Linux'

Commande (? pour l'aide) : n
Numéro de partition (2-128, par défaut 2) : 5
Premier secteur (34-234441614, par défaut = 201011200) ou {+-}taille{KMGTP} : 201013248
Dernier secteur (201013248-234441614, par défaut = 234441614) ou {+-}taille{KMGTP} : 234440703
Le type actuel est 8300 (système de fichiers Linux)
Code hexadécimal ou GUID (L pour afficher les codes, Entrée = 8300) : 8200
Type de partition modifié en 'Swap Linux'

Commande (? pour l'aide) : p
Disque /dev/sda : 234441648 secteurs, 111,8 Gio
Taille physique des secteurs : 512 octets
Identifiant du disque (GUID) : 75C2AE94-C3C0-4927-A4D2-48BBDECE3AD7
La table de partitions peut contenir jusqu'à 128 entrées
La table des partitions principale débute au secteur 2 et se termine au secteur 33
Le premier secteur utilisable est 34, le dernier secteur utilisable est 234441614
Les partitions seront alignées sur des limites de secteurs de 2048
L'espace libre total est de 4973 secteurs (2,4 Mio)

Numéro  Début (secteur)    Fin (secteur)  Taille     Code  Nom
   1            2048       201011199   95,8 Gio    8300  Système de fichiers Linux
   5       201013248       234440703   15,9 Gio    8200  Swap Linux

Commande (? pour l'aide) : w

Vérifications finales complétées. À propos d'écrire les données GPT. CELA ÉCRASERA LES PARTITIONS EXISTANTES !!

Voulez-vous continuer ? (O/N) : o
OK ; écriture d'une nouvelle table de partition GUID (GPT) sur /dev/sda.
Avertissement : Le noyau utilise toujours l'ancienne table de partitions.
La nouvelle table sera utilisée au prochain redémarrage ou après avoir exécuté partprobe (8) ou kpartx (8)
L'opération a été exécutée avec succès.

Si votre chargeur d'amorçage est sur le même disque, il y a de fortes chances qu'il échoue au démarrage. C'est un processus beaucoup plus compliqué, donc si c'est le cas... restaurez votre MBR (n'oubliez pas de sauvegarder le fichierdebackup), et vous devrez créer une partition de BOOT EFI (si j'étais vous, je réduirais la swap et la recréerais, pour faire de la place - environ 500 Mo pour la partition de BOOT EFI), et assurez-vous d'installer le programme d'installation dessus. Assurez-vous de démarrer à partir d'un support de démarrage UEFI, sinon il serait difficile d'installer grub en mode UEFI.

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