Les extensions des partitions peuvent être lues à partir de /sys/block/sda/sda1/start
, /sys/block/sda/sda1/size
etc. Les valeurs sont en secteurs. Notez ces valeurs avant de faire quoi que ce soit d'autre, en particulier le redémarrage.
Une fois que vous avez les valeurs, vous pouvez recréer les partitions avec fdisk
. Utilisez le u
commande pour basculer l'unité vers les secteurs, puis créez les partitions en entrant
n
p
primaire/l
logique/e
étendu- numéro de partition (sauf pour les partitions logiques :faites-les dans l'ordre)
- secteur initial
+
taille en secteurs
Près de deux ans se sont écoulés depuis que la question a été posée. Nous étions exactement dans la même situation hier :Nous avons un Linux Software RAID Level 1 avec 2 disques. Un des disques est tombé en panne et a dû être remplacé. Nous avons fait échanger le disque et avons ensuite voulu copier la table de partition du disque restant (de travail) sur le nouveau disque. Malheureusement, nous avons copié la table de partition vide du nouveau disque vers l'ancien disque. Heureusement, nous l'avons immédiatement découvert avant de redémarrer la machine, donc la bonne table de partition était toujours active dans le noyau. Voici ce que nous avons fait pour résoudre le problème :
- Nous avons extrait les données de partition du
/sys/block/
système de fichiers comme décrit dans la réponse de Gilles. - Notre système utilise une table de partition GUID, nous ne pouvions donc pas utiliser
fdisk
mais devait utilisergdisk
à la place. gdisk
fonctionne à peu près de la même manière quefdisk
sauf qu'il n'est pas nécessaire de spécifieru
pour les secteurs.- Nous avons créé des partitions avec le exact données extraites de
/sys/block/
. Il existe d'autres réponses à des questions similaires qui indiquent de réduire la taille de la partition de un, mais cela n'était pas nécessaire pour nous. - Avec une table de partition GUID, il n'y a plus de distinction entre les partitions principales et étendues.
- Le
sys/block
le système de fichiers ne contient aucune information sur les types de système de fichiers, nous les avons donc extraits avecmount
. - Avec une table de partition guid, il n'y a plus d'indicateur de démarrage. Si la table de partition à restaurer provient d'un disque amorçable, il doit y avoir une partition de type
BIOS boot partition
(généralement la première partition).
Après avoir écrit la table de partition avec gdisk
, nous avons pu redémarrer le système et tout fonctionnait parfaitement.