This page has been robot translated, sorry for typos if any. Original content here.

Master Boot Record - Master Boot Record (MBR)

Lassen Sie uns zunächst einige Begriffe definieren. Die Worte in der Artikelüberschrift gemacht, verstehen oft zwei verschiedene Dinge, die in einigen Fällen gleichwertig sein können, und in einigen - nicht. Das erste Konzept - das eigentliche Master Boot Record. Dieser Eintrag (Code und Daten), die in den Speicher von der Festplatte geladen und stellt die Identifizierung der logischen Partitionen enthält, bestimmt die aktive Partition und von dort aus booten Boot Record (Boot Record - BR), die das Betriebssystem (OS) wird weiterhin ausgeführt. Und die zweite Sache - der Bootsektor, Master Boot Sector (MBS) - dieser Sektor, auf dem Zylinder 0, der (Kopf) 0 und mit der Nummer 1. In den meisten Fällen enthält MBS all notwendigen Codes und Daten, so dass ihr Inhalt der MBR jedoch gibt es Fälle (den wir später in diesem Artikel diskutieren werden), und wenn die Codedaten nicht in einem Sektor passen (haben einfach nicht genug Platz oder aus Sicherheitsgründen), und dann stellt der Code des Sektors in den Speicher der Sektoren um den Rest zu laden. In diesem Fall wird die MBR - die Gesamtheit aller Sektoren, die geladen werden müssen, und MBS - nur im ersten Sektor.
Doch beginnen wir mit dem Fall, wenn der MBR und MBS - die gleiche Sache, und wir sie besser kennen und weit verbreiteter Begriff MBR nennen. Ein wenig vom Thema abweicht, stelle ich fest, dass ein MBR (die jedes Betriebssystem bietet booten und besetzen nur MBS) werden häufig Generika MBR bezeichnet.
Im Allgemeinen erschien MBR auf der Festplatte, da MS-DOS Version 3.0, frühere Versionen der Festplatte wurde als eine Diskette formatiert und im ersten Sektor befindet BR. Dementsprechend stellt die Platte einen Abschnitt und nicht in logische Teile gebrochen werden kann - die Wahrheit, wenn die Größe der Scheiben, die dann freigesetzt werden, war es irrelevant.
die Sektorgröße auf der Festplatte - 512 Bytes. Dieser Raum ist genug, um alle die notwendigen Haus - und den Code und Daten. Jedoch nur eine Struktur sollte unbedingt vorhanden sein - es ist eine Unterschrift ist. Dieses Wort wird besondere genannt streng eingestellt, eine Folge von 2-Byte Hexadezimal-Werte 55h AAh, die in den letzten 2-Byte-Sektoren aufgezeichnet und hat dementsprechend eine vom Sektor Anfang 1FEh ausgeglichen. Wenn mindestens einer der letzten beiden Bytes in ihrer Bedeutung unterscheidet, wird angenommen, dass der erste Sektor nicht der MBR ist und enthält keine aussagekräftigen Informationen. Wenn der Computer beim Start, nach dem ersten Sektor zu lesen, wird nicht die korrekte Signatur findet, wird es nicht die Kontrolle überträgt dort unten den Code für die Beilegung, auch wenn es richtig ist, und zeigt eine Meldung an, dass der Master-Boot-Record nicht gefunden wird. Oder wird versucht, auf anderen Geräten zu finden - zum Beispiel auf einer Diskette. Ein wenig vom Thema abweicht, stelle ich fest, dass der BR auch die Unterschrift 55h AAh in den letzten zwei Bytes enthält.
Nun ja, also, wenn der Autor aus dem Schwanz, dann gehen wir von dort an die Spitze des Sektors. Bevor einer Signatur, in der Nähe zu ihm gibt es 4 Datenblöcke von jeweils 16 Bytes (jeweils Offset vom Beginn des Sektors 1BEh, 1CEh, 1DEh, 1EEh). Tischelementabschnitte (Partitionstabelleneintrag) oder eine Partition (Partition) - Die Gesamtheit dieser Blöcke wird die Partitionstabelle, Partitionstabelle (PT), und jeden einzelnen Eintrag bezeichnet. Diese 16 Bytes ist ausreichend, um alle notwendigen Spezifikationen Abschnitt angeben, nämlich Abschnitt Typ, eine Anzeige Abschnitt der Tätigkeit, Beginn und Ende der Sektor der Partition im Zylinder-Format (Track) - Der Kopf (Seite) - Sektor (Zylinder - Kopf - Sektor, CHS) die relative Zahl des ersten Sektors (relative MBR) und die Anzahl der Sektoren in der Partition.
Der ganze Rest des Raumfahrtsektors beschäftigt Programmcode, der Analyse des PT bietet, für eine aktive Partition suchen, um in den Speicher zu laden in diesem Abschnitt BR und Übertragung der Steuerung zu. Da es leicht ist auf dem Code berechnen bleibt 512-16 * 4 - 2 = 446 Byte. Dieser Raum ist mehr als genug, um solche Aktionen durchzuführen.
: Somit wird durch die folgende Tabelle die Gesamtstruktur des MBR dargestellt werden
  Offset Länge Beschreibung
 000h 446 loader Code
 Die Partitionstabelle 64 1BEh
  16 Einheit 1
 1CEh 16 Unit 2
 1DEh 16 Section 3
 1EEh 16 Abschnitt 4
 2 1FEh Signatur (55h AAh)
Jeder 16-Byte-Block einen Abschnitt beschreibt, hat die folgende Struktur:
  Offset Länge Beschreibung
 00h 1 Symptom Abschnitt Aktivität
 01h 1 Nach oben Abschnitt - Kopf
 Startabschnitt 02h 1 - Sektor (Bits 0-5), Spur (Bits 6,7)
 03h 1 Abschnitt Start - Spur (höherwertigen Bits in einer 8,9-Byte-Sektornummer gespeichert werden)
 04h 1 Partitionstyp-Code
 05h 1 Endsektion - head
 Ende Abschnitt 06h 1 - Sektor (Bits 0-5), Spur (Bits 6,7)
 Abschnitt 07h 1 End - Spur (höherwertigen Bits wird in einer 8,9-Byte-Sektornummer gespeichert)
 08h 4 Offset des ersten Sektors
 0ch Abschnitt 4 Anzahl der Sektoren
Partitionstyp-Code ist eine Ein-Byte-Kennung. Wenn der Wert - 00h, wird angenommen, dass in der PT-Element keine Daten auf der Partition enthalten und deren Inhalt ignoriert werden. Irgendein Nicht-Null-Wert bedeutet, dass der Raum einen Abschnitt eines bestimmten Typs ist. Einige der Werte zeigen eindeutig einen Partitionstyp, einige entsprechen mehrere möglichen Typen und Definition eines bestimmten Typs ist mit dem Betriebssystem zugeordnet ist, und der Rest ist für zukünftige Verwendung reserviert. Relativ voll und aktualisiert in Ralf Brown Interrupt - Liste in INTERRUPT.D Dateitabelle 00652, die in dem Archiv enthalten ist (zum Zeitpunkt des Schreibens) inter61a.zip finden bei Leitfaden für die Code - Partitionstypen können http://www.pobox.com/ ralf ~ / files.html . Hier habe ich eine Tabelle der verschiedenen Arten von Partitionen geben, der mithilfe von Windows 9x und Windows NT / 2000 / XP erstellt werden:
  Codeabschnitt Typ
 01h 12-Bit-FAT
 04h 16-Bit-FAT und 32 Mbyte
 05h Abschnitt Erweitert
 06h 16-Bit-FAT über 32 Mbyte
 07h Windows NT NTFS (und ein paar andere - wird durch die Art des Inhalts BR bestimmt)
 0Bh 32-Bit-FAT
 0ch 32-Bit-FAT erweiterten Steuer INT13 mit
 0Eh LBA VFAT (die gleiche wie 06h, mit dem Einsatz modernen Management-INT13)
 0Fh LBA VFAT (die gleiche wie 05h, mit dem Einsatz modernen Management-INT13)
 17h versteckte NTFS-Partition
 1Bh versteckte Partition 32-Bit-FAT (die gleichen, die 0Bh)
 1Ch versteckte Partition 32-Bit-FAT erweiterten Steuer INT13 verwenden (das gleiche wie 0Ch)
 1Eh versteckte Partition LBA VFAT (das gleiche wie 06h, mit dem Einsatz moderner Management-INT13)
 Abschnitt 86h FAT-16 Windows NT Streifen-Array
 Abschnitt 87h NTFS Streifen-Array Windows NT
 B6h gespiegelt Master-Partition FAT-16 Windows NT
 B7h gespiegelt Master-Abschnitt NTFS Windows NT
 FAT-16 Windows NT S6H Spiegel Slave-Abschnitt
 S7H Spiegel Slave-Abschnitt NTFS Windows NT
Sign of Section Aktivität - das heißt, ein Zeichen dafür, dass das Betriebssystem aus diesem Bereich herunterladen soll - kann einen Wert von 80h hat (Partition aktiv ist) und 00h (Partition nicht aktiv ist). Im Allgemeinen muss die Menge der aktiven Partition kleiner als 1 (ausgenommen eine Wahl zu treffen?). Wenn es keine aktive Partition ist - mit dem Betriebssystem bedeutet, dass die Festplatte nicht geladen werden kann. Andere Werte sind so schlecht, abgelehnt. die Entscheidung jedoch die Kontrolle zu übertragen führt den Urladercodes, so dass der Wert des Merkmals Byte boot - ein Axiom nur für Standardlader.
Trohbaytny Blockstartadresse und die Endadresse Abschnitt ein identisches Format. Es ist tatsächlich Wert Verpackung verwendet, um einen Mindestbetrag zu haben. Paketformat ist in vollem Einklang mit der Art und Weise die Daten übertragen werden Verfahren mit Festplatte arbeiten (Int 13h), im BIOS des PC befindet, so dass die rechnerische Overhead-Kosten erhalten minimal. Die Zylinder und Spuren sind nummeriert, beginnend bei Null, und der Sektor - aus irgendeinem Grund die erste. Ich weiß wirklich nicht, warum - es historisch geschehen ist.
Sektor, der die Startadresse des Abschnitts zeigt, enthält einen speziellen Eintrag namens Boot Record (BR). Sein Zweck und Zusammensetzung werden in einem gesonderten Artikel besprochen werden.
Die Verschiebung des ersten Abschnitts des Sektors - das ist eigentlich die Nummer des Sektors, wenn alle Sektoren der Festplatte von 0 beginnend umnumeriert (gemäß der Numerierung verwendet Int 25h / 26h) in aufsteigender Reihenfolge des ersten Sektors einer Spur, dann in aufsteigender Reihenfolge des Kopfraumes, und schließlich, Zylinder. Und was ist die Anzahl der Sektoren in der Partition - ohne Erklärung klar.
Natürlich sind alle diese Werte werden durch einfache Abhängigkeiten im Zusammenhang, weil die Informationen, die sie überflüssig enthalten. Weil give Formel Abhängigkeit zwischen diesen.
Also, wenn wir bezeichnen:
C M - Zylinder , auf dem die MBR;
H M - Spur, auf die die MBR;
S M - Sektor , in dem MBR befindet;
C S, H S, S S , C E, H E, S E - die gleiche ist , für den Beginn der Sektoren (S) und das Ende (E) Abschnitt;
H H - die Anzahl der Spuren von der Festplatte;
S H - die Anzahl der Sektoren pro Spur in der Festplatte,
dann:
Die absolute Zahl der Sektoren, in denen die PT:
Num PT = C M H * H * S H H + M * S H S + M -1
Die absolute Zahl der Sektoren dieses Abschnitts beginnen:
Num = S C S * H H * S H H + S * S H S + S -1
Die absolute Zahl der Sektoren am Ende des Abschnitts:
Num E = C E * H H * E H + H E * E + H E E -1
Verschiebung des ersten Sektors der Partition:
Offset S = Num S - Num PT
Die Anzahl der Sektoren der Partition:
Betrag = Num E - Num S 1
Aus diesen Formeln ist es darüber hinaus klar, dass wichtig, wie viele Spuren eine Festplatte Zylinder und wie viel jeder Sektor der Strecke haben. Diese Werte hängen von der Festplattengeometrie und die ausgewählten Einstellungen im BIOS-Übersetzungsmodus. Daher wird die Scheibe in einzelne Abschnitte in einem Broadcast-Modus unterteilt, kann es nicht lesbar sein, wenn Sie den Broadcast-Modus ändern.
Für IDE-Laufwerke gibt es mehrere Modi der Übersetzung:
CHS (Cylinder Head Sector) - in diesem Fall ist die Geometrie der Platte wird darin gesehen, was sie sagt, es ist ein Computer. Lasst euch nicht täuschen - die Mehrheit der realen Plattengeometrie ist nicht so. Allerdings ist die Steuerung, die einen Teil der Festplatte ist, macht die notwendigen Änderungen selbst und die Art, wie er es tut, ist für uns nicht wesentlich. Die maximale Anzahl der Zylinder - 1024 (0 bis 1023), Spuren - 16 (0 bis 15), die Sektor - 63 (1 bis 63), und der maximale Plattendurchsatz, in der Sendung ohne den Einsatz von Spezialprogrammen - 504 Mbytes . Wenn die Plattenverarbeitungssektoradresse wird auf den unverändert BIOS-Controller Festplatte des Computers übertragen.
LBA (Logical Block Addressing) - mit dem Broadcast-Modus, nicht die Scheibengeometrie, die er den BIOS des Computers informiert. Hergestellte Größe gegossen, wenn die Anzahl der Zylinder nicht 1024 nicht überschreitet, und die Anzahl der Sektoren pro Spur ist gleich der die Anzahl der Spuren 63 auf dem Computer-BIOS und die Festplattenkapazität somit abhängig zur Verfügung gestellt und kann in der Regel auf 16, 64, 128 oder 255, die neueste Version des BIOS gleich Gebrauchte Guss bis 255 (0-254) Pfade unabhängig von Speichervolumen. Beim Zugriff auf die an den LBA-Broadcast-Zylinder, Kopf und Sektor übersetzt in eine absolute Anzahl von Sektoren übertragen Platte, und dass es auf dem Computer des BIOS Festplatten-Controller übergeben wird, um die Operation durchzuführen. Wenn die Speichermenge über die Anzahl der Zylinder 8 GB 1024, weil auf Computer erhalten, die nicht erweiterten Modus Int 13h unterstützen, ohne die Installation spezielle Software außerhalb des Raumes 8 Gbyte N (unabhängig von dem Broadcast-Modus). Manchmal aber hilft es, das BIOS des Computers zu aktualisieren.
LARGE oder ECHS (Extended CHS) - wobei der Broadcast-Modus wird die Anzahl der Zylinder auf einen Wert mindestens 1024 mal größer ist aufgrund der Anzahl der Spuren zu bringen. Die bereitgestellte eine mehrfache Anzahl von Spuren streng reelle Zahl der Sektoren pro Spur wird nicht verändert. Allerdings sind die meisten modernen Laufwerke die Anzahl der Sektoren pro Spur (auf die Zusicherungen des Antriebsreglers) ist 63. Die maximale Menge auf Computern, die den erweiterten Modus Int 13h nicht unterstützen, hängt von der tatsächlichen Anzahl der Spuren, aber nicht mehr als 8 GB (zum Beispiel, wenn der Antrieb 16 Spuren aufweist, um die große Sendung kann es sein , 16, 32, 48 ... 240, aber nicht 255, 255 , da nicht ein Vielfaches von 16 ist und die maximal zur Verfügung stehende Volumen - 240 * 1024 * 63 * 512 / (1024 3) = 7,38 GB).
Wenn Sie LBA oder LARGE Broadcast verwenden aufgrund ganze Zahlen mehrere Sektoren am Ende der Fahrt zum Abrunden kann „herausfallen“ der beschriebenen Raum und nicht mehr zugegriffen werden. Allerdings ist der Verlust in der Regel gering.
Was über SCSI-Laufwerke, werden sie immer in der Übertragung LBA-Modus arbeiten. Vielmehr stellen SCSI-Controller, die Geometrie des Antriebs in Übereinstimmung mit den Anforderungen der LBA-Sendung, und das, wenn Zugriff auf die Festplatte übergibt ihm die absolute Sektoradresse. Natürlich ist es auf BIOS-SCSI-Controller in der Verantwortung, um die notwendige Neuberechnung vornehmen.
Lassen Sie uns in den MBR zurück. Wie bereits erwähnt, enthält es 4 Datenblock auf der Partitionstabelle Elemente. Dies bedeutet, dass die maximale Anzahl von Partitionen, die in dem MBR, gleich vier beschrieben werden können. Allerdings bedeutet dies nicht, dass die maximale Anzahl der Abschnitte, der Antrieb vier noch geteilt werden kann. erweiterte Partition (Extended Partition) - Um diese Barriere zu überwinden wurde eine spezielle Art der Schnittstelle mit dem Code 05h eingeführt.
Eine erweiterte Partition ist sehr verschieden von allen anderen Arten von Abschnitten. Zum einen beschreibt es nicht den Abschnitt und den Bereich der Stauraum, in dem andere Abschnitte sind. Die Zahl der Insassen von Abschnitten ist theoretisch unbegrenzt. die Abschnitte, von denen in diesem Bereich mehr „beschränkte Rechte“, die bedeutendste Einschränkung befindet, ist jedoch, dass sie nicht aktiv sein können (oder besser gesagt, ist es möglich, dies zu tun, weil dieser die OS-Partition geladen wird, aber die Standard-Tools der Mehrheit der bestehenden O erlaubt es nicht, müssen spezielle Werkzeuge verwenden). Zweitens muss der MBR nur einen Eintrag für die erweiterte Partition enthalten. Vielmehr können sie gemacht und mehr (mindestens vier), sondern verhält sich wie OS, eine schwierige Begegnung vorherzusagen. Wie MS-DOS 6.20 alle erweiterten Partitionen ignoriert, aber die ersten in der Liste aus, als ob sie nicht existieren. Drittens, im Gegensatz zu anderen Arten von Abschnitten in der Branche, die in der Struktur des Sektors als Anfang eines Kapitels registriert ist, nicht BR enthält. Es ist eigentlich ein MBR, die eine Signatur und die Partitionstabelle hat, aber in der Regel nicht enthält Programmcode (in der Regel Sektor enthält Tabellenabschnitte, aber enthalten nicht den Bootstrap-Code, die Zusammenfassung MBR genannt wird). Da jedoch gibt es keine aktive Partition, und dann der Code zu nichts. In diesem Sektor gibt Partitionstabelle ist in der Regel ein oder zwei Einträge. Der erste beschreibt die normale Partition (Partition), außerdem sollte dieser Abschnitt im Inneren des Raumes erweiterte Partition vollständig sein. Wenn der normale Abschnitt den ganzen Raum in der Partitionstabelle nimmt, gibt es ein zweites Element, das den verbleibenden Platz als der erweiterten Partition beschreibt. Im folgenden Sektor wird ebenfalls einen Abschnitt und, wenn noch Raum bleibt, auch eine Aufzeichnung der erweiterten Partition. Und so geht es weiter, solange der Raum abgeschlossen ist. In der Tat, alle Datensätze auf den verlängerten Abschnitte Schaltung (Extended Partition Chain) verbunden, in dem Teile der üblichen Abschnitte von Speicherplatz abzuschnüren, während die Website nicht enden wird zu. Fehler in jedem Element der Kette führt zu seiner als Ergebnis alle Datensätze zerfall nach der Pause nicht das Betriebssystem und der OS Raum von ihnen besetzten werden wird als frei zu finden.
OS in der Regel ein paar Regeln folgen, wenn die Schaltung abgeschlossen ist. Zuerst in der nächsten „link“ -Schaltung normale Partition beschrieben werden, sollte nicht in der Mitte platziert werden, als ob die resultierenden zwei Stücke freien Speicherplatz zu beschreiben, in PT erforderlich ist, dieses Element als auch zwei Datensätze auf zwei verschiedene erweiterten Partitionen geben, wie ich bereits sagte, das Betriebssystem in der Regel ignorieren alle, aber die ersten solche Aufzeichnung und das Ergebnis des Speicherplatz aus der Partition fallen. Zweitens, in der Regel eine Aufzeichnung des Normalschnitt ist so gemacht, dass sie den Anfangsbereich der erweiterten Partition in Anspruch nimmt, und das nächste Element der Kettenabschnitte - der Rest.
Welche Probleme können mit dem MBR Inhalt entstehen? Zum einen eine physische oder logische Zerstörung, das heißt, Schäden an der Oberfläche oder ein anderes mechanisches Problem oder die Zerstörung des Systems, die es unmöglich macht, diesen Sektor von der Platte zu lesen. Allerdings sind solche Fälle nicht in den Anwendungsbereich unserer Betrachtung. Die zweithäufigste Problem - die Zerstörung der gesamten oder einem Teil der Informationen in dem Sektor enthalten ist, was in den Abschnitten oder kann nicht durch das Betriebssystem, oder deren Parameter festgelegt sind, nicht richtig ermittelt werden.
Der einfachste Fall - ist die Zerstörung der Signatur. In diesem Fall glaubt das Betriebssystem, dass der Sektor einige zufälligen Informationen enthält, „Junk“, und der Antrieb selbst nicht in Abschnitte unterteilt, und keine Informationen über die es nicht ist. gerade genug, um mit allen Mitteln der direkten Zugriff auf Plattensektoren (den beliebtesten DISKEDIT NORTON UTILITIES-Paket) zur Wiederherstellung der Signatur wiederherzustellen. Die meisten Betriebssysteme müssen jedoch neu starten, da das Betriebssystem in der Regel zu Beginn der gelesenen Informationen über die Aufteilung in Abschnitte und dann in den Prozess der Veränderungen nicht berücksichtigt werden.
Ein komplizierter Fall - ist die Zerstörung des Codes. In diesem Fall verlieren Sie die Möglichkeit, das Betriebssystem aus dem Laufwerk zu booten, und versuchen in der Regel zu laden enden mit „hängen“ dem Computer. Zur gleichen Zeit, wenn Sie von einem anderen Laufwerk (eine andere Festplatte, Diskette, bootbare CD-ROM, etc.) zu booten, dann sind alle Daten auf dem Laufwerk zur Verfügung. In diesem Fall ist es empfehlenswert, Standard-Tools zu verwenden Bootcode wiederherzustellen, die in jedem OS zur Verfügung stehen. Zum Beispiel verwendete auf Windows 9x zu diesem Zweck FDISK.EXE Programm, das mit dem Schlüssel / MBR läuft.
Code Zerstörung - nicht nur ein seltener Fall, wie es scheinen mag. In der Regel wird eine solche Störung auftritt, wenn ein Antrieb mehrerer Betriebssysteme nacheinander in den gleichen oder verschiedenen Abschnitten installiert sind. Jedes Betriebssystem, wenn Wunsch der Installation im MBR eigenen Code zu haben, aber nicht alle kümmern sich um den Code beibehalten, die bisher in der Branche war. Zum Beispiel unter Windows 9x den Boot-Code neu schreiben, ohne den Benutzer zu informieren Popularität und unwiderruflich den alten Inhalt zu zerstören. Allerdings ist dieser Fall nur nicht sehr beängstigend, weil alle OS-Loader sehr ähnlich ist. Das Problem tritt auf, wenn die Partition der Festplatte in Partitionen von Software von Drittanbietern, wie EZ-Laufwerk, ODM oder solchen SpeedStor verwenden, die nur MBR Konzepte und MBS sind nicht gleichwertig. Aufgrund der unterschiedlichen Ideologien Belastung des Code (die wir später sehen werden) in der MBS, führt eine andere Funktion, nämlich auf die Suche und Herunterladen des MBR-Code in den anderen Sektoren der Festplatte befindet. Ersatzcode führt zu der Tatsache, dass diese Funktion verloren, und somit gibt es Probleme unterschiedlicher Natur. Der Benutzer muss sehr vorsichtig sein, wenn eine solche Software - Code Recovery in solchen Fällen kann sehr schwierig sein.
Und die schwere und unangenehme Erfahrung - ist die Zerstörung der Partitionstabelle selbst. Aber wie wir wissen, kommt das Problem nie allein, und oft alle drei gebrochene MBR-Komponente, aber es ist die Zerstörung von PT zu den schwerwiegendsten Konsequenzen führt, da es die Fähigkeit verloren zu Informationen auf dem Laufwerk gespeichert sind, zugreifen. PT können vollständig zerstört werden, oder können teilweise - d.h. die Gegenstände zerstört und die restlichen intakt. Es gibt Fälle, in denen PT, die im MBR ist, intakt und wird in einen der Abschnitte der Kettenglieder erweiterten Partition auf Eintrag zerstört. Da jedoch die MBR Struktur und Struktur identisch sind (mit Ausnahme der Tatsache, dass die Elemente der erweiterten Partition fehlenden Code), das Rückforderungsverfahren in beiden Fällen die gleiche ist.
Es gibt eine ganze Reihe von Programmen, in der Lage, die zerstörte PT wiederherzustellen. Die Qualität ihrer Arbeit ist unterschiedlich und hängt hauptsächlich von Partitionierungs war, wie komplex Partitionen, ob alle Arten von Themen, die auf der Platte, bekannt Programm waren, und es gibt kein anderes als die Zerstörung von PT keine Schäden Informationen in anderen Bereichen haben, vor allem der BR Abschnitte. Wir sind jedoch nicht für einfache Möglichkeiten suchen, und wenn man die Seele nicht über den Kopf des schrei hängen „mehr, schneller, springt Druck meine Form aus, ich bin im Urlaub zu spät!“, Werden Sie erhalten viel mehr Freude, wenn sie auf ihrem eigenen, ohne Programmier-Maschinen mit nur ihr Wissen in der Lage sein, alle Informationen zu erholen. Sie können auch nur alles notwendige Forschung zu halten, alle Zahlen zu bekommen, um in der PT aufgezeichnet werden, und dann das Recovery-Programm starten und es funktioniert danach alles richtig zu spüren. Und vielleicht sogar die Ergebnisse ihrer Arbeit zu verbessern, wenn es nicht um 100% erfüllt ist.
Also müssen wir arbeiten: eine Bootdiskette mit dem DOS-beliebigen, an dem das kopierte Datei DISKEDIT.EXE, Bleistift, Papier und Taschenrechner (obwohl es ein Rechner in DISKEDIT ist) und wenig Hirn. Es ist wünschenswert, natürlich, und auf das DOS und DISKEDIT waren frischer. Ich benutze DOS 7.10 von der Windows 98 SE und DISKEDIT von NORTON UTILITIES Paket 2002 keine Treiber für uns zu diesem Zeitpunkt nicht erforderlich ist, na ja, außer wenn der Antrieb auf den alten SCSI-Controller verbunden ist und ohne die Fahrer zu laden ist einfach nicht sichtbar. Sie können die Maus-Treiber herunterladen - wird ein wenig bequemer. Nun ist die wichtigste Änderung - zusätzlich zu den Dateien auf einer Diskette soll nicht alles sein! Dies ist wichtig - wenn es keine Konfigurationsdatei Diskette ist, DISKEDIT.EXE im schreibgeschützten Modus ausgeführt werden (Read-Only) und es werden keine Daten auf der Festplatte geändert werden, während wir nicht explizit fragen. Eine Diskette würde auch nur annähernd zu Protokoll.
Booten Sie von der Diskette. Führen Sie DISKEDIT.EXE. Nach dem Laden drücken Sie die Tasten Alt-D (oder über das Menü Objekt - Drive). Erscheint ein Dialogfeld mit den verfügbaren Plattengeräten. Zunächst weisen wir darauf hin, dass wir ein physisches Gerät (Physical Disks) benötigen, und wählen Sie dann das gewünschte Laufwerk (zum Beispiel Festplatte 1) und dann auf OK klicken. Zur gleichen Zeit in allen Sektoren der Festplatte wird als Sichtbereich vom ersten bis zum letzten ausgewählt werden. Was wir brauchen.
Zunächst werden wir das Programm stellen die Plattenansicht und lassen Sie sich alle Sektoren durchzuführen, die Schaltungselemente Erweiterte Partition oder BR sein kann. Und obwohl es wäre leicht DISKEDIT Sektor mit der Unterschrift zu sehen, nicht um den Inhalt zu analysieren (die wir übernehmen) - die Ergebnisse können groß sein, um die Arbeit zu erleichtern. Die Wahrheit muss geduldig sein - der Prozess nicht schnell ist, und außerdem jede gefundene Sektor benötigen einen Bleistift zu nehmen, aber es lohnt sich Pulver und Blei.
Also, Werkzeuge - Objekt suchen - Partition / Stiefel. Gehen wir. Jedes Mal, wenn der Sektor mit einer Unterschrift kommt, stoppt die Suche, zeigt der Bildschirm ein Abbild des Sektors, und in der unteren rechten Ecke - Anzahl der Sektoren. Es sind diese Adressen und Sie brauchen einen Bleistift zu nehmen. Wenn Sie jedoch eine Festplatte partitionieren ist nicht sehr ausgefeilte Methoden verwendet, alles, was wir interessieren in der Branche sind, wird auf einer Null oder einer ersten Seite im ersten Sektor platziert werden, dh Side 0 oder 1, Sektor 1. Der Rest des Sektors, zum Beispiel etwa 12 Cyl, Seite 4, Sector 52, können Sie bedenkenlos ignorieren - es zufällig. Allerdings haben wir eine absolute Anzahl von Sektoren, aber es ist nicht so schlimm, denn die „richtige“ Anzahl der Sektoren wird durch die Anzahl der Sektoren pro Spur teilbar sein, in der Regel 63 (andere Werte gibt es jetzt viel weniger - 17, 26, 40, 56, so nachstehend wo ich auch über die Anzahl der Sektoren 63 sprechen wird, bedenken Sie, dass andere Nummer) auf bestimmten Speicher möglich verwendet werden müssen. Und diese Zahl können wir das Menü betrachten durch (Info - Antrieb Info). Leider kann die Anzahl der Seiten des Zylinders und es falsch sein (nicht entsprechende Übersetzung verwendet wird), aber das ist nicht schrecklich. Das Schreiben der nächsten Sektornummer, weiter suchen (Sie das Menü Extras können durch - Suchen, können Sie einfach Ctrl-G). Und so, bis wir die Meldung erhalten, dass das Objekt nicht gefunden wurde. An diesem Punkt in der Hand (oder besser gesagt, auf Papier) alle Bereiche der Räume, die Unterschrift vorhanden ist.
Теперь обрабатываем список, отсеивая явно случайные номера (это которые не делятся на 63), и особо выделяя пары номеров, которые различаются на 63. Эти пары - не что иное как пара из элемента Extended Partition и BR описанного в нём раздела.
Теперь отложим на минутку листок с цифрами и попытаемся вспомнить, какого размера разделы были на диске. Так, крупными мазками, 600 мегабайт, 12 гигабайт… запишем всё что помним. Если сумма не равна объёму накопителя - либо что-то забылось, либо неверно вспомнилось, либо было пространство, не принадлежавшее ни одному разделу (а что, бывает… знаю не один случай, когда десятигигабайтный жёсткий диск разбивался на компьютере, материнская плата которого не понимала более восьми гигабайт, а при апгрейде это как-то не вспомнилось… вот так 2 гигабайта и зависли). На этом этапе желательно вспомнить ещё и типы файловых систем в каждом из разделов.
Теперь возьмём оба листка и попытаемся совместить полученные данные. Мегабайт - две тысячи секторов, гигабайт - два миллиона… приблизительно. Но обычно удаётся совершенно однозначно наложить одно на другое. Полезно бывает нарисовать длинный прямоугольник, расставить на нём границы, соответствующие найденным секторам, и поделить на кусочки, соответствующие размерам разделов. Даже если однозначности нет - не беда. Разберёмся. При совмещении данных рекомендую помнить, что некоторые BR и элементы цепи Extended Partition могут быть разрушены (и соответственно не будут найдены), причём наиболее часто разрушаются BR первого (по положению на накопителе) раздела и BR активного раздела.
Впрочем, на данном этапе, пожалуй, всё… и не потому, что дальше некуда, а по другой причине - для дальнейшей работы по восстановлению требуется анализ других структур, которые располагаются уже в "найденных" разделах - это BR, FAT/MFT, каталоги и пр… мы их пока не рассматривали. Впрочем, иногда и найденной и вспомненной информации достаточно. В конце статьи приведен пример такого восстановления (пока не написан).
Иногда знание структуры разделов применяют совершенно для других целей - например, для создания своего собственного разбиения диска на разделы. Пример такого применения также есть в конце статьи.
При создании нестандартного разбиения диска на разделы, кроме требований, описанных ранее (один расширенный раздел и пр.), рекомендую также учитывать то, в каком порядке ОС MS-DOS и Windows назначают разделам буквы логических дисков ( Q51978 - Order in Which MS-DOS and Windows Assign Drive Letters ). Буквы присваиваются, начиная с C: (A: и B: зарезервированы для дисководов гибких дисков, возможно виртуальных). Порядок подключения таков:
  1. Раздел, с которого загружается ОС (при загрузке с жёсткого диска).
  2. Первые первичные разделы остальных жёстких дисков в порядке их нумерования (инициализации) BIOS компьютера.
  3. Разделы в Extended Partition жёстких дисков в порядке их нумерования (инициализации) BIOS компьютера, в порядке их записи в Partition Table дисков.
  4. Остальные первичные разделы дисков, в порядке их записи в Partition Table по порядку их нумерования (инициализации) BIOS компьютера.
  5. Устройства, формируемые драйверами, запускаемыми в файлах config.sys и autoexec.bat, в порядке их формирования и инициализации, если формируемому устройству не назначается в явной форме определённая буква или диапазон букв.
  6. Для ОС, которые могут опознавать и подключать накопители, не инициализируемые BIOS компьютера (не описанные в установках CMOS накопители) - разделы этих накопителей в соответствии с правилами 3 и 4 в порядке инициализации накопителей операционной системой.
Разделы не известных ОС типов не инициализируются и буквы им не присваиваются.
Следует помнить, что ОС семейства Windows NT имеют штатные средства переопределения букв логических дисков.

Пример 1. Ручное разбиение на разделы.

  • Параметры накопителя в LBA-трансляции (взяты из BIOS - Autodetect Hard Disk) - Cylinders 1216, Heads 255, Sectors 63, Capacity 10 Gb.
  • Желаемое разбиение: система 2 Гбайт, данные - 2 Гбайт, игры и дистрибутивы - остальное. Желательно разместить системный раздел в конце диска (по тестам там самая быстрая область), игры - в начале диска (по заверениям специалистов, наиболее часто данные повреждаются именно там).
  • Операционная система - Windows 98 SE rus, все разделы - FAT-32.
Исходя из желаемого разбиения, видится следующая схема: сначала расширенный раздел с двумя логическими дисками в нём - 6 и 2 Гбайт, потом первичный активный раздел 2 Гбайт, либо 3 первичных раздела в указанном порядке и с указанными размерами. Последний вариант нам не подходит (неважно по каким соображениям). Особенности работы программы FDISK выбранной ОС не позволяют выполнить разбиение штатно: если сначала мы создадим первичный раздел, он будет находиться в начале накопителя, если же мы сначала создадим расширенный раздел, то программа отказывается создавать первичный.
Принимаем решение провести разбиение с помощью FDISK насколько возможно, а затем доделать вручную. Первый этап: создать расширенный раздел с двумя дисками; второй: вручную добавить запись о первичном разделе.
Первый этап проблем не вызывает: загружаемся с дискеты, создаём extended partition размером 8 Гбайт, и в ней два логических диска - 6 Гбайт и 2 Гбайт. Перезагружаемся с дискеты, убеждаемся, что на диске появились (но недоступны - ведь мы не форматировали разделы!) диски C: и D:. Форматируем их при помощи стандартного FORMAT и в процессе форматирования убеждаемся, что диск C: имеет размер 6 Гбайт, диск D: - 2 Гбайт. Запускаем DISKEDIT и смотрим содержимое MBR. В нём имеется следующая запись:
 Starting location Ending location Relative Number of
System Boot Side Cylinder Sector Side Cylinder Sector Sectors Sectors
EXTEND No 1 0 1 254 972 63 63 15631182
unused No 0 0 0 0 0 0 0 0
unused No 0 0 0 0 0 0 0 0
unused No 0 0 0 0 0 0 0 0
Нам нужно добавить запись о первичном разделе. Тип (System) будет 0Ch (FAT32x), признак загрузки установлен, начало раздела по адресу 973/0/1, конец раздела по адресу 1215/254/63, относительный сектор начала раздела 15631245 (973*255*63+0*63+1-1), относительный сектор конца раздела 19535039 (1215*255*63+254*63+63-1), количество секторов 3903795 (19535039-15631245+1). Весьма существенная тонкость - если номер цилиндра более 1023, в соответствующее поле вносится значение 1023 - увы, это максимальное значение, которое можно туда записать - а правильное значение ОС рассчитает исходя из заданного количества секторов.
Переводим DISKEDIT в режим Read-Write (Tools-Configuration) и во второй строке вписываем рассчитанные данные. После ввода и проверки всех значений выходим из DISKEDIT клавишей Esc, а на вопрос, что делать с изменениями, отвечаем - записать (write). Ein Neustart des Computers. Убеждаемся, что на диске теперь три раздела - C: - недоступен, D: - 6 Гбайт, E: - 2 Гбайт. Форматируем диск C: с переносом на него системных файлов, в процессе форматирования убеждаемся, что диск C: имеет размер 2 Гбайт. Обновляем код MBR командой FDISK /MBR, вынимаем дискету, перезагружаем компьютер, убеждаемся, что ОС загрузилась, диски C:, D: и E: доступны и имеют размеры 2, 6 и 2 Гбайт. Запускаем NDD и убеждаемся, что ошибок ни в таблице разделов, ни на дисках нет. Разбиение закончено.
Теперь таблица разделов при просмотре через DISKEDIT выглядит так:
 Starting location Ending location Relative Number of
System Boot Side Cylinder Sector Side Cylinder Sector Sectors Sectors
EXTEND No 1 0 1 254 972 63 63 15631182 ; Расширенный раздел
FAT32x Yes 0 973 1 254 1023 63 15631245 3903795 ; Первичный раздел (C :)
unused No 0 0 0 0 0 0 0 0
unused No 0 0 0 0 0 0 0 0
Если поставить курсор на строку с записью о расширенном разделе и нажать Enter, то DISKEDIT автоматически перенесёт просмотр в сектор, на который указывает адрес начала раздела (для первичного раздела это будет BR, для расширенного - элемент цепи разделов). В нашем случае мы увидим такое содержимое элемента цепи разделов:
 Starting location Ending location Relative Number of
System Boot Side Cylinder Sector Side Cylinder Sector Sectors Sectors
FAT32x No 2 0 1 254 728 63 63 11711259 ; Логический раздел (D :)
EXTEND No 0 729 1 254 972 63 11711322 3919923 ; Расширенный раздел
unused No 0 0 0 0 0 0 0 0
unused No 0 0 0 0 0 0 0 0
Продолжим движение по цепи разделов в следующий элемент:
 Starting location Ending location Relative Number of
System Boot Side Cylinder Sector Side Cylinder Sector Sectors Sectors
FAT32x No 1 729 1 254 972 63 63 3919860 ; Логический раздел (E :)
unused No 0 0 0 0 0 0 0 0
unused No 0 0 0 0 0 0 0 0
unused No 0 0 0 0 0 0 0 0
Очередной элемент цепи не содержит записи о расширенном разделе. Цепь закончилась.