Wie speziellen MBR schreiben?

Lord Extra

Lt. Commander
Registriert
Okt. 2009
Beiträge
2.035
Heute hatte ich einen Rechner von Medion in den Fingern. Dort befand sich auf einer 640er Platte Windows auf einer NTFS-Partition mit 576 GB. Die zweite Partition war mit FAT32 formatiert. Diese hatte eine Größe von ca. 19,5 GB. Beides sind primäre Partitionen.

Auf der Festplatte befindet sich ein spezieller MBR. Per Default bootet dieser das Windows auf Laufwerk C:\. Wenn man allerdings beim Booten eine Taste drückt (z.B. F11), dann springt der Bootvorgang zur 2. Partition und bootet ein Dos. Innerhalb dieser Dos-Partition sind Image-Dateien für ein Norton Ghost gespeichert. Beim Recovern läuft ein Batch ab, der ein Image auf die erste Partition der Festplatte zurückspielt. Unter dem Dos ist die zweite Partition nun das LW C:\, da das Dos ohne spezielle Treiber keine NTFS-Partitionen sehen und lesen/beschreiben kann. Ich halte dieses System für recht genial, da man eine komplette Recoveryumgebung innerhalb der Harddisk hat, die auch sehr schnell arbeitet.

Nun würde mich interessieren, wie man diesen speziellen MBR erstellen kann, um dieses System bei einem Tausch der Systemfestplatte oder einer Umpartitionierung nachzubilden?
Ich weiß, dass es eine spezielle Corporate-Edition von Ghost gibt, bei der all diese Funktionen enthalten sind. Leider kostet diese Software auch ein kleines Vermögen und lohnt sich daher folglich nur für Firmen, die damit regelmäßig arbeiten. Gibt es hier in diesem Bereich etwas for free oder kostengünstig für Privatleute?

Gruß Lord Extra
 
Hat mit MBR nichts zu tun, das ist eine BIOS-Funktion, so wie Aufruf des Setups oder eines Boot-ROMs :)
Dann wird nicht vom Sektor 0 der Platte (Wo der MBR steht) gebootet, sondern von einer anderen Stelle, z.B. dem Beginn der letzten Partition. Das Ermtteln des Partitonbeginns erfolgt noch im BIOS, dieser Sektor wird eingelesen und dann die Kontrolle an den dortliegenden Code übergeben - wie beim normalen Boot auch
 
Zuletzt bearbeitet:
Wenn dem so ist, wie Du es beschrieben hast, erkläre mir bitte, weshalb der Aufruf der Recoverypartition nicht mehr funktioniert, wenn man beispielsweise auch nur einmal eine Windows-Setup von einer Setup-Disc auf die Platte losgelassen hat? Danach ist der originale MBR nämlich vom Windows eigenen MBR überschrieben worden. Es wird wohl teilweise (je nach Hersteller) vom Bios angezeigt, welche (F-Taste oder auch Alt + F10 bei Acer) Taste für den Aufruf der Recoverypartition zu drücken ist, aber ausgelöst wird das afaik vom entsprechenden MBR. Acer hat das z.B. jahrelang so gemacht.
Außerdem können die Partitionen ja auch bei verschiedenen Rechnern immer unterschiedlich beschaffen sein. Eine Bios-Funktion, die vermutlich immer an der gleichen Stelle suchen würde, kann darauf doch keine Rücksicht nehmen, oder?

Gruß Lord Extra
 
Ich würde mal bei den Herstellern zu den Laptops (auch HP installiert so einen Mechanismus, zumindest war es früher so) danach suchen, denn wenn man die Disk tauscht muss man diesen Mechanismus nachrüsten können. Ich würde mich nicht wundern, wenn da nicht mit Hidden-Partitionen gearbeitet wird, ich meine zu OS/2-Zeiten wurde auch schon so gearbeitet und die Tools stammen ursprünglich von Power Quest (die dem OS/2 beiliegenden kamen jedenfalls aus dieser Quelle).
 
Hier hast Du ein Bild eines original-Auslieferungszustand Medion mit XP SP3 ger MBR im Vergleich mit einem einer Bootplatte erstellt von einem XP SP2 eng Install setup.

weiße Zeilen des Hexeditor-Dumps : völlig ident
dunkelorange: gleich hellorange: unterschiedlich in nicht völlig identen Zeilen.

Der Unterschied beginnt in den deutsch/englisch Meldungstexten
auf 0x12C gefolgt von deren 3 Längen (2. und 3. ungleich) ab 0x1B5,
gefolgt von den unterschiedlichen Datenträgerkennungen ab 0x1B6,
und ab 0x1BE beginnt die natürlich unterschiedliche Partitiontabelle mit 4x16 Bytes, gefolgt vom Validator 55 AA

Also ist der Bootcode eines XP setups völlig ident mit dem auf einem Medion mit besagter F11- Funktion "restore to factory setting".

Ich weiss leider nicht, was Du da angestellt hast, dass es nach einem OS-setup auf die erste Partition nicht mehr funktioniert - am unterschiedlichem Code im MBR liegt es ganz bestimmt nicht.

Medion arbeitet nicht mit in HPA versteckter recover-Partition, weswegen die auf meinem Netbook auch als Partition D: frei zugänglich ist. Drin ist eine 160GB HDD, und die hat immer noch genau die Herstellerseitig spezifizierte Anzahl von 312581808 Sektoren, also kann sich da drauf auch nichts verstecken.

Also keine HPA(deren Code man auch wiederum nur per BIOS aufdecken kann) und kein übernatürlicher Code im MBR, der auf F11 reagiert.
Hat noch jemand andere Ideen, wie man den Bootprozess "umbiegen" kann - bin gerne bereit, auch die zu widerlegen :D
 

Anhänge

  • MBR Vergleich.jpg
    MBR Vergleich.jpg
    313,4 KB · Aufrufe: 376
Zuletzt bearbeitet:
... und hast Du Dir auch die einzelnen Bootsektoren zu den jeweiligen Partitionen angesehen?
 
die sind natürlich auch völlig identisch - bis auf die NTFS-Pointer im Header für den Mirror, die $MFT & Mirr, Größe und Startsektor und deutsch/englische Meldungen :D Wie gehts weiter?
 

Anhänge

  • Vergleich NTFS Bootrec.jpg
    Vergleich NTFS Bootrec.jpg
    333 KB · Aufrufe: 322
Zuletzt bearbeitet:
Ich muss da nochmal nachhaken:

Wie erklärst Du dir denn dann das Problem, was viele Acer-Nutzer haben, wenn sie sich den MBR zerschossen haben? Eine Linux oder Windows-Installation reicht da schon aus. Von dort an, funktioniert nämlich das eRecovery nicht mehr. Man muss danach nur mal googlen ("Alt+F10", "eRecovery"). Man verliert vor lauter Treffern schnell den Überblick.

Gruß Lord Extra
 
Erklären kann ich das nicht, weil ich keinen derartigen Fall bei mir vorliegen oder analysiert habe, warum es bei Anderen nicht mehr funktioniert...
Die eRecovery- Funktionalität wäre ja ein Schuß ins Knie, wenn sie bei zerstörtem System oder MBR nicht mehr funktionieren würde. Deswegen wird die Recovery-Partition bei manchen Herstellern, wie Mueli schon ausführte, zusätzlich durch Drüberlegen einer HPA vor Zerstörung geschützt.
Wenn da jetzt einer Linux installiert wird, welches als erstes die HPA auf allen Platten defaultmäßig entfernt, ist natürlich Sense mit der Recovery. Bei Win alleine nicht erklärbar, außer die Recovery-Partition wird angetastet.
 
Zuletzt bearbeitet:
Ich muss zu meiner Schande gestehen, dass ich mir den Mechanismus um diese Recovery-Partition bei einigen Notebooks noch nie angesehen habe, es kann aber nicht der BIOS-Mechanismus sein, den diverse Mainboards kennen (auch Bootmenü genannt wie z. B. bei Gigabyte), über den man von einer anderen Partition startet (F11, F12, ESC wie bei Dfi oder was auch immer), denn hier muss man explizit die Disk wählen und es kann keine andere Partition sein. Zwischen Partitionen zu wählen geht nur über den Bootsektor und / oder den Bootmanager. Linux verwendet schließlich auch einen eigenen Bootsektor und man wählt bei der Installation, wo man ihn installiert und NT sichert einen vorhandenen BS in z.B. Bootsect.dos bevor er seinen eigenen einträgt.
 
Der Punkt hier ist ja gerade, dass es sich bei Acer um eine Hidden Partition "Compaq-Type" handelt. Das ist eine Partition, die für Wartungszwecke vorgesehen ist und unter Windows eigentlich nicht sichtbar ist. Ein Laufwerksbuchstabe wird ebenfalls nicht zugewiesen. Man muss sie erst mittels entsprechnder Tools sichtbar machen, damit man davon lesen kann.
Bei Acer ist es zudem so, dass die Partition auch jeweils ihre Sichtbarkeitseigenschaften wechselt. Bevor Windows startet, wird die Partition wieder versteckt, damit Windows sie ja nicht erkennt. Die wird quasi zu Windows hin abgeschottet. Früher hatte man mittels solcher Tricks jeweils eine primäre Partition verstecken können, um zwei Betriebssysteme auf einer Platte zu installieren, die jeweils nichts von der Existenz des jeweils anderen Systems wussten. Hierzu wurde im MBR ein Bootmanager installiert, der auf Ascii-Codes reagiert hatte, um dann die eine oder bei Tastendruck die andere Partition zu booten. Hier wurde unter anderem jeweils immer die jeweils andere Partition als "aktiv" markiert.

Sowas gibt es heute auch noch. Es heißt afaik "Master Boot Loader".

Hier findet man etwas dazu:

http://mbldr.sourceforge.net/

Bei sehr vielen PCs ist ja neben der ersten Systempartition auf der Windows installiert ist, nur noch die andere Recoverypartition vorhanden. Zu XP-Zeiten war das häufig eine mit FAT32 formatierte Partition, die ein Dos-System enthielt. Hiervon wurde die Recoveryumgebung gestartet. Letztens habe ich bei besagtem Medion-PC entdeckt, dass die das bei Medion auch unter Vista so gemacht haben. Nur hier kann man in die Partition reinsehen und sich die Dateien anschauen.
 
Zuletzt bearbeitet:
Hier auf CB gibt es unter den Downloads Testdisk, mit dem Tool kannst Du nach Partitionen suchen lassen und den Typ bestimmen, wobei man wissen muss, dass man auch manuell durch setzen eines Bytes jeden Typ 'festlegen' kann, ist im Prinzip eine Möglichkeit eine Partition unsichtbar zu machen. Der Typ 'hidden' wurde gerne genutzt mit mehrere C's arbeiten zu können, wenn ich mich recht erinnere war es bei Multiboot mit OS/2 nötig.
 
Nur zur Ergänzung:
All derartige Späße wie eine Funktionalität des Master Boot Loaders ö.ä. passen codemäßig nicht in die paar Bytes des MBR und müssen sich daher irgendwo anders auf der Platte eine Stelle suchen, wo deren Code abgelegt wird. Da dazu keine Standard-Methode festgelegt ist, passiert das irgendwo und kann andere Systemkomponenten verwirren oder durch unabsichtliches überschreiben außer Gefecht gesetzt werden. Eine eingetragene "hidden Partition" ist zwar platzmäßig vor Neupartitionierung geschützt, aber nicht vor unabsichtlicher Zerstörung gefeit, wo durch einen Fehler einer anderen Komponente eigentlich gar nicht dorthin geschrieben werden wollte.
Wenn ein anderes System, welches sich nicht um Derartiges schert, auf dieser Platte installiert wird, ist das blitzartig außer Gefecht gesetzt - einfach dadurch, dass nicht von der HDD, sondern einem Installationsmedium gebootet wird.

Das ist aber ein völlig anderes Vorgehen als ein Schutz durch HPA oder ähnliche Schutzmechanismen, welche auf der Basis einer hardwaremäßigen Sperre oder Umdirigieren der I/Os auf andere LBA's basieren und in der Plattenfirmware abgehandelt werden, und der Umgang damit in einer zugehörigen BIOS-Version seinen Niederschlag finden muss...
 
Zuletzt bearbeitet:
Und genau hier liegt der Hund begraben:

Bei Medion, Acer und Co. wird alles das eingebaut, was der Weltmarkt gerade an günstigen Hardwarekomponenten hergibt. Heute kommt eine Seagate rein, morgen eine WD usw...
Bei dieser Wechselfrequenz an Hardwarebauteilen ist ja wohl davon auszugehen, dass es sich um absolute Standardware handelt, die zu allem kompatibel ist. Somit kann man fast mit an Sicherheit grenzender Wahrscheinlichkeit davon ausgehen, dass hier keinerlei Hardware das Bootverhalten abseits des PC-Standards steuert. Somit geht das also nur in Software und hier würde ich gerne mal richtig hinter die Kulisse blicken, weil ich genau wissen will, wie die Hersteller das machen.

Wenn man beispielsweise eine solche Recoverypartition mittels eines Image-Programms sichert, auf einer neuen Festplatte eine neue Systempartition anlegt und mittels des Imageprogramms die Partition zurücksichert, kann man nicht mehr davon booten, weil der MBR anders ist und diesen speziellen Bootmanager nicht mehr enthält. Die Usererfahrungen in diesem Bereich sprechen hier eine deutliche Sprache.
 
Man kann schon Schweinereien auch in Hardware veranstalten, die Hersteller von Mainboards und Barebones bekommen kein komplettes BIOS sondern einen Baukasten, lediglich der Kern ist fixed weil er aus Copyright-Gründen sicher sein muss. Ich hatte z. B. mal einen Compaq PC in den Fingern, der nach dem Austausch der Disk gar nichts mehr machte, denn das BIOS war in einem gesicherten Bereich der Disk und wurde von dort geladen. Man musste also erst mittels Tools via Floppy diese Disk einrichten um ein BIOS laden zu können.
 
Eure Sichtweise ist ein wenig unscharf.
Prinzipiell kann kein Hardwarehersteller von HDDs, Boards oder sonstigem Gedöns etwas produzieren, was nicht entsprechenden Standards genügt, welche durch klar umrissene Interface-Spezifikationen festgelegt wurden, da man das Zeug sonst nicht mehr universell zusammenpacken oder mit Standard-Betriebssystemen betreiben kann - und es kann nicht in riesigen Stückzahlen kostengünstig Verwendung finden.

All diese Funktionalitäten basieren auf Standards, die dann in irgendwelchen technischen Umsetzungen (meist, aber nicht immer ordentlich) benutzt werden. Um da durchzublicken, wie das funktioniert, muss man die Standards genau kennen(oder zumindest wissen, wo man sie nachlesen kann) und ein breites Backgroundwissen besitzen, und notfalls mit entsprechend gefinkelten Beobachtungswerkzeugen hinter die Kulissen schauen. Auch ein Quentchen Intuition ist dabei hilfreich..

Der im Thema immer wieder angesprochene MBR wird wohl nicht daran schuld sein, da darin ja keine auffälligen Unterschiede sichtbar sind. Eventuell könnte aber ein versteckter Code in dem Inhalt liegen, welcher das BIOS dazu bewegt, auf F11 die Recovery-Partition zu booten oder nicht - z.B. die Datenträger-ID. Sowas ließe sich aber ganz einfach herausfinden. Auch eine Verschiebung der physischen Position der Recovery-Partition auf der Platte kann die Ursache dafür sein. Hersteller limitieren oft gezieltA, aus Unfähigkeit manchmal auch ungewollt die Verwendungsmöglichkeiten.

Den von Mueli angesprochenen Herstellern wird nichts anderes übrig geblieben sein, einen umfangreichen BIOS-Code, der in die verfügbaren BIOS-EEPROMs nicht mehr reingepasst hat, auf Platte auszulagern. Eine derartige eher übliche Vorgangsweise als Schweinerei zu bezeichnen, halte ich für übertrieben. Damit hat man auch die Gefahren eines Fehl-Flashes beseitigt und kann einen noch billigeren PROM verwenden, von dem aus das aktuelle Board-BIOS dann von einem anderen Medium geholt wird. Auch hier werden Techniken angewandt, welche auf den IT-Sauriern schon seit Jahrzehnten üblich sind. Dort ist man auch schon lange weiter, dort besteht die dem PC-BIOS entsprechende Rechner-Firmware aus einem etwas abgespecktenm richtig mächtigen Betriebssystem, welches von einer eigenen HDD gebootet wird...

Das BIOS-Baukastensystem schafft Flexibilität und hindert die Boardhersteller gottseidank daran, sich von den Standards allzuweit zu entfernen. Es reicht schon, was von manchen um den BIOS-Kern drumherum an Unsinn verbrochen wird.
 
Zuletzt bearbeitet:
Zurück
Oben