GNU/Linux >> Tutoriels Linux >  >> Linux

Récupérer la table de partition toujours présente dans le système en cours d'exécution

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 utiliser gdisk à la place.
  • gdisk fonctionne à peu près de la même manière que fdisk sauf qu'il n'est pas nécessaire de spécifier u 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 avec mount .
  • 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.


Linux
  1. Récupérer des partitions et des fichiers avec TestDisk

  2. Pourquoi le numéro de lecteur/partition est-il toujours utilisé ?

  3. Comment créer une partition système EFI ?

  4. Mesurer les IOPS Linux pour un système en cours d'exécution

  5. Comment changer un système de partition physique en LVM ?

Récupérer un mot de passe root oublié sur le système Redhat 7 Linux Selinux

Comment créer un nouveau système de fichiers Ext4 (partition) sous Linux

Comment vérifier tous les services en cours d'exécution sous Linux

Installez AndroidX86 sur VirtualBox et PC de bureau

Récupérer des fichiers supprimés sur Linux (tutoriel pour débutants)

NTP est en cours d'exécution, l'horloge système n'est toujours pas à l'heure - qu'est-ce qui donne ?