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
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 abergdisk
verwenden stattdessen. gdisk
funktioniert ziemlich genauso wiefdisk
außer dassu
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 mitmount
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.