GNU/Linux >> LINUX-Kenntnisse >  >> Linux

Stellen Sie die im laufenden System noch vorhandene Partitionstabelle wieder her

Die Extents der Partitionen können aus /sys/block/sda/sda1/start gelesen werden , /sys/block/sda/sda1/size usw. Die Werte sind in Sektoren. Notieren Sie sich diese Werte, bevor Sie irgendetwas anderes tun, insbesondere einen Neustart.

Sobald Sie die Werte haben, können Sie die Partitionen mit fdisk neu erstellen . Verwenden Sie die u Befehl, um die Einheit auf Sektoren umzuschalten, und erstellen Sie dann die Partitionen, indem Sie

eingeben
  • n
  • p rimary/l logisch/e erweitert
  • Partitionsnummer (außer bei logischen Partitionen:Führen Sie sie der Reihe nach aus)
  • Anfangssektor
  • + Größe in Sektoren

Fast zwei Jahre sind vergangen, seit die Frage gestellt wurde. Wir waren gestern in genau der gleichen Situation:Wir haben ein Linux Software RAID Level 1 mit 2 Platten. Eine der Festplatten ging kaputt und musste ersetzt werden. Wir haben die Platte tauschen lassen und wollten dann die Partitionstabelle von der verbliebenen (funktionierenden) Platte auf die neue Platte kopieren. Leider haben wir die leere Partitionstabelle von der neuen Platte auf die alte Platte kopiert. Glücklicherweise haben wir dies sofort vor dem Neustart der Maschine entdeckt, sodass die richtige Partitionstabelle im Kernel noch aktiv war. Folgendes haben wir getan, um das Problem zu lösen:

  • Wir haben Partitionsdaten aus /sys/block/ extrahiert Dateisystem wie in Gilles Antwort beschrieben.
  • Unser System verwendet eine GUID-Partitionstabelle, daher konnten wir fdisk nicht verwenden musste aber gdisk verwenden stattdessen.
  • gdisk funktioniert ziemlich genauso wie fdisk außer dass u nicht angegeben werden muss für Sektoren.
  • Wir haben Partitionen mit dem exakten erstellt Daten wie aus /sys/block/ extrahiert . Es gibt andere Antworten auf ähnliche Fragen, die besagen, die Partitionsgröße um eins zu verringern, aber das war für uns nicht erforderlich.
  • Mit einer GUID-Partitionstabelle wird nicht mehr zwischen primären und erweiterten Partitionen unterschieden.
  • Der sys/block file system enthält keine Informationen über Dateisystemtypen, daher haben wir sie mit mount extrahiert .
  • Bei einer GUID-Partitionstabelle gibt es kein bootfähiges Flag mehr. Wenn die wiederherzustellende Partitionstabelle von einer bootfähigen Festplatte stammt, muss eine Partition vom Typ BIOS boot partition vorhanden sein (normalerweise die erste Partition).

Nach dem Schreiben der Partitionstabelle mit gdisk , konnten wir das System neu starten und alles lief einwandfrei.


Linux
  1. So stellen Sie eine beschädigte Root-Partition aus dem Rettungsmodus in CentOS/RHEL 5,6 wieder her

  2. So ändern (erweitern) Sie die Größe eines partitionsbasierten Dateisystems in Linux

  3. Kann Python erkennen, unter welchem ​​Betriebssystem es läuft?

  4. Linux:Keine Swap-Partition erstellen?

  5. NTP läuft, Systemuhr noch nicht im Takt - was bringt das?

Stellen Sie ein vergessenes Root-Passwort auf einem Redhat 7 Linux Selinux-System wieder her

So erstellen Sie ein neues Ext4-Dateisystem (Partition) unter Linux

So überprüfen Sie alle laufenden Dienste in Linux

GRUB auf EUFI-fähigem System

Installieren Sie AndroidX86 auf VirtualBox und Desktop-PC

Gelöschte Dateien unter Linux wiederherstellen (Anfänger-Tutorial)