MBR mit DD sichern und rücksichern

Du kommst mit der Installation nicht voran oder willst noch was nachfragen? Schau auch in den "Tipps und Tricks"-Bereich.
Antworten
Che
Beiträge: 358
Registriert: 09.06.2006 19:00:33

MBR mit DD sichern und rücksichern

Beitrag von Che » 16.09.2009 19:25:09

Hallo Forum,

obwohl es kein neues Thema hier ist, traue ich mich, nach langem Experimentieren, hier nach einer Lösung zu suchen. Ich möchte das MBR sichern und rücksichern können. Oft wird die Lösung mittels DD vorgeschlagen:
http://debianforum.de/forum/viewtopic.p ... lit=dd+mbr

Angeblich wird zum Sichern des MBRs und der Partitionstabelle durch folgende Befehle von mir erfolgreich durchgeführt:

Code: Alles auswählen

sfdisk -d /dev/hda > hda.pt
dd if=/dev/hda of=hda.mbr bs=512 count=1
Zum surücksichern werden diese Befehle empfohlen:

Code: Alles auswählen

dd if=hda.mbr of=/dev/hda bs=512 count=1
sfdisk /dev/hda < hda.pt
Auch sie werden angeblich ohne Probleme von mir durchgeführt. Dazu benutze ich Knoppix (Live CD). Starte ich danach den Rechner neu, dann passierte entweder gar nichts (System blieb stehen - eingefroren - bevor ich den Bootmenu zu sehen bekam) oder es wurde mir das Display ununterbrochen mit dem Wort 'Grub' vollgeschrieben.

Ich habe stundenlang verschiedene Möglichkeiten ausprobiert, auch habe ich 'count=63' getestet (was keine erkennbare Wirkung brachte). Bevor ich die Befehle eingegeben habe, habe ich nur die Memory-Karte gemounten: alle anderen partitionen habe ich durch 'umount -a' und 'swapoff -a' ausgehängt.

Interessanterweise konnte ich dann auch nicht mehr aus der zweiten Festplatte booten ('Error 15' wurde ausgegeben), obwohl ich vorher aus dem Lenny-System dieser Platte 'Grub-install /dev/sdb' erfolgreich ausgeführt hatte! Warum, wenn ich beim Booten die F12-taste halte und dann die Platte sdb zum booten auswähle, erscheint das Bootmenü zwar wie erwartet, aber alle Einträge geben 'Error 15' aus anstatt das entsprechende System hochzufahren? Ich sollte die auf diese Platte installierten Systeme einwandfrei hochfahren können, oder? Die DD-Befehle wirkten doch nur auf die Platte 'sda', warum kann ich danach aus der MBR der 'sdb' auch nicht mehr starten?

Das kommt mir sehr rätselhaft vor!

Ich kenne die Lösung mittels Knoppix und chroot Grub wieder in die MBR zu schreiben (auch wenn es bei einem 64Bit-System doch inzwischen mit der 32Bit Live-CD nicht geht). Ich möchte aber einer Lösung, die mich erlaubt, sowohl Windows-MBR als auch Grub-MBR - also unabhängig davon, ob Windows oder ob GNU-Linux installiert ist - zu sichern. Oft kommen Leute, die GNU/Linux installiert haben möchten, mir jedoch eine Notlösung für die Wiederherstellung des Win-MBR Schwierigkeiten bereiten kann.

Was mache ich da falsch bei den DD-Eingaben? Ich würde mich sehr freuen und dankbar sein, wenn jemand mir dabei helfen könnte!

Viele Grüße
che

schwedenmann
Beiträge: 5650
Registriert: 30.12.2004 15:31:07
Wohnort: Wegberg

Re: MBR mit DD sichern und rücksichern

Beitrag von schwedenmann » 16.09.2009 22:41:52

Hallo


dd if=/dev/hda of=/mbr.img bs=512 count=1

Rücksicherung

dd if=mbr.img bs=512 count=1 of=/dev/hda

oder nur den MBR ohne Partitionstabelle

dd if=/dev/hda of=mbr.img bs=446 count=1

rücksichern analog zu count=512

mfg
schwedenmann

Che
Beiträge: 358
Registriert: 09.06.2006 19:00:33

Re: MBR mit DD sichern und rücksichern

Beitrag von Che » 17.09.2009 00:41:05

Hallo Schwedenmann,

danke für die schnelle Antwort! Was für relevante Änderungen schlägst du mir eigentlich vor? Muss die Endung der Datei unbedingt '.img' sein?
rücksichern analog zu count=512
Ich gehe davon aus, dass due 'bs=512' scheiben wolltest, oder?

Ich habe den Eindruck, das ich nicht alles verstanden habe, was du ausdrücken möchtest. Kannst die relevanten Einheiten kurz ansprechen?

mfg
che

Benutzeravatar
cirrussc
Beiträge: 6582
Registriert: 26.04.2007 19:47:06
Lizenz eigener Beiträge: MIT Lizenz

Re: MBR mit DD sichern und rücksichern

Beitrag von cirrussc » 17.09.2009 01:45:56

Che hat geschrieben:Muss die Endung der Datei unbedingt '.img' sein?
Es muss nicht mal eine Endung geben.
Ich gehe davon aus, dass due 'bs=512' scheiben wolltest, oder?
Das ist stark anzunehmen.

Was hast Du eigentlich zwischen dem Sichern und Rückspielen getan? Denn dd tastet sda dabei nicht an.
Übrigens verstehe ich auch nicht so recht, warum mit sfdisk zusätzlich die Partitionstabelle gesichert wird, das überschneidet sich doch mit dd.
Das was dd sichert (MBR), beinhaltet schließlich die Partitionstabelle.
Gruß cirrussc
--------------------
„Der Mensch steigert zur Zeit die Nutzung dessen, was seiner Willkür unterliegt - und kommt sich sehr klug dabei vor.“ H. Gruhl

Danielx
Beiträge: 6419
Registriert: 14.08.2003 17:52:23

Re: MBR mit DD sichern und rücksichern

Beitrag von Danielx » 17.09.2009 08:59:14

cirrussc hat geschrieben:Was hast Du eigentlich zwischen dem Sichern und Rückspielen getan?
Gute Frage!
cirrussc hat geschrieben:Übrigens verstehe ich auch nicht so recht, warum mit sfdisk zusätzlich die Partitionstabelle gesichert wird, das überschneidet sich doch mit dd.
Das was dd sichert (MBR), beinhaltet schließlich die Partitionstabelle.
Vielleicht um auch die Einträge für die logischen Partitionen (befinden sich nicht im MBR) zu sichern und wieder herzustellen?

Gruß,
Daniel

123456
Beiträge: 6126
Registriert: 08.03.2003 14:07:24

Re: MBR mit DD sichern und rücksichern

Beitrag von 123456 » 17.09.2009 09:28:43

Das wurde in dem von Che zitierten anderen Beitrag doch schon angesprochen. Der count muss grösser 1 sein. Danielx hat dort 2 vermutet, Caffeelix hat es mit count=63 geschafft. Wie gross count wirklich sein muss weiss ich nicht.
Das funktioniert aktuell nicht, weil grub nicht mitgesichert wird.

Daneel
Beiträge: 66
Registriert: 01.10.2008 12:23:27

Re: MBR mit DD sichern und rücksichern

Beitrag von Daneel » 17.09.2009 10:27:11

Auch wenn Schwedenmann es bereits richtig erklärt hat, hier was für den Stapel der Unix-Unterlagen...

http://www.kubixxx.org/.unix/.pdf/dd_-_ ... d_copy.pdf

Che
Beiträge: 358
Registriert: 09.06.2006 19:00:33

Re: MBR mit DD sichern und rücksichern

Beitrag von Che » 17.09.2009 12:15:08

Danke für die zahlreichen Meldungen und Tipps! Ich werde voraussichtlich heute abend nochmal die Tests durchführen und dann die Ergebnisse posten.

Ich konnte feststellen, dass Ihr alle davon ausgeht, dass DD diese Aufgabe mit Zuverlässigkeit erledigen kann. Lediglich die eingegebenen Zahlen müssen korrigiert werden, da die Endung der geschriebenen Datei irrelevant ist.

Also liegt das 'Geheimnis' bei der Eingabe von count=Zahl und bs=Zahl.

1. -> Wird bs auf 446 gesetzt, so wird lediglich MBR gesichert bzw. zurückgespielt;
2. -> Wird bs auf 512 gesetzt, dann wird zusätzlich auch die Partitionstabelle gesichert bzw. zurückgespielt;
2a -> Offene Frage: Sind in diesem Fall logische Partitionen noch nicht mitgesichert?
3. -> bs muss mindestens auf 1 gesetzt werden (s. ub13);
3a -> Offene Frage: Wie kann ich wissen, wie groß die Zahl von bs sein muss, um MBR oder MBR + Partitionstabelle zu sichern ?


cirrussc hat geschrieben:
Übrigens verstehe ich auch nicht so recht, warum mit sfdisk zusätzlich die Partitionstabelle gesichert wird, das überschneidet sich doch mit dd.
Das soll lediglich die Partitionstabelle sichern bzw. rücksichern. In verschiedenen Stellen habe ich dieses Verfahren so beschrieben gelesen. Ich habe es aber auch schon ohne sfdisk zu verwenden erfolglos versucht.

cirrussc hat geschrieben:
Was hast Du eigentlich zwischen dem Sichern und Rückspielen getan? Denn dd tastet sda dabei nicht an.
Eigentlich 8O gar nichts! Und habe es mehrfach erstaunt versucht! Ich benutze übrigens die gleiche menu.lst auf beiden Systemen (also sowohl auf Lenny der sda3 als auf Lenny der sdb1). Kann es sein, dass in dieser Datei etwas in dieser Hinsicht anzupassen ist? Ich poste zweifelsfall hier (viele Systeme sind installiert, damit ich Neugierigen Menschen, die mich besuchen, einen kurzen Einblick geben kann):
/boot/grub/menu.lst:
http://nopaste.debianforum.de/25628

#
fdisk -l zeigt die vorhandenen Partitionen:
http://nopaste.debianforum.de/25627

Viele Grüße
che

123456
Beiträge: 6126
Registriert: 08.03.2003 14:07:24

Re: MBR mit DD sichern und rücksichern

Beitrag von 123456 » 17.09.2009 12:29:26

Che hat geschrieben:2a -> Offene Frage: Sind in diesem Fall logische Partitionen noch nicht mitgesichert?
geschlossene Antwort Nein, aber das wurde schon gesagt.
Che hat geschrieben:3. -> bs muss mindestens auf 1 gesetzt werden (s. ub13);
Nein! count muss mindestens 1 sein. Mit 63 scheint es zu funktionieren laut dem anderen Thread.
Che hat geschrieben:3a -> Offene Frage: Wie kann ich wissen, wie groß die Zahl von bs sein muss, um MBR oder MBR + Partitionstabelle zu sichern ?
512

Benutzeravatar
cirrussc
Beiträge: 6582
Registriert: 26.04.2007 19:47:06
Lizenz eigener Beiträge: MIT Lizenz

Re: MBR mit DD sichern und rücksichern

Beitrag von cirrussc » 17.09.2009 18:25:27

Danielx hat geschrieben:Vielleicht um auch die Einträge für die logischen Partitionen (befinden sich nicht im MBR) zu sichern und wieder herzustellen?
ub13 hat geschrieben:Das wurde in dem von Che zitierten anderen Beitrag doch schon angesprochen.
Das hab ich ja auch gelesen, trotzdem sichert sfdisk die komplette Partitionstabelle, was auch dd bis auf die logischen macht. Weiß nicht, ob das wirklich immer nötig ist. naja ...
Che hat geschrieben:Eigentlich 8O gar nichts!
Dann ist da noch was anderes ...

Und in deinen Ausgaben ist eine hda nicht zu finden!
Angeblich hast du aber den MBR der hda gesichert.

Code: Alles auswählen

<< 250 GB >>
sda1   Windows XP
sda2   Sabayon Linux  
sda3   Debian 5.0
sda4   erweiterte
 sda5   gNewSense
 sda6   OpenGEU Ubuntu 8.10
 sda7   swap
 sda8   Daten?

<< 750 GB >>
sdb1   Debian 5.0
sdb3   Debian GNU/Linux-NEPTUNE
sdb4   erweiterte
sdb5   Slackware Linux
...
sdb7   swap
...
sdb9   Debian GNU/Linux
sdb10   Mandriva linux
sdb11   Ubuntu 9.04
sdb12   Fedora
sdb13   Calculate Linux
sdb14   Trisquel 2.1
...
(manche Einträge in der menu sind übrigens doppelt)

Da es keine hda gibt, kannst du nur sda angefasst haben. Also setzt die Live-CD noch auf das alten ATA System im Kernel (-->hda) und in den Distris wird mittels libata sda daraus: hda = sda?
Darauf die Frage, sicherst und rückspielst du mit dem selben System?
(Wobei du auch ohne sfdisk probiert hast, deswegen eigentlich egal ...)
Und warum überhaupt, wenn du doch dazwischen nix machst - Test?
Che hat geschrieben:Ich benutze übrigens die gleiche menu.lst auf beiden Systemen (also sowohl auf Lenny der sda3 als auf Lenny der sdb1).
Welche menu.lst ist das denn nun? Die der sda?
In der menu werden übrigens alle anderen Systeme direkt mit deren Kerneln ohne eventuelle andere Bootmanager (also ohne nur ein Grub für alle) in den Partitionen gestartet (außer Win).

Klär uns auf! :|
Gruß cirrussc
--------------------
„Der Mensch steigert zur Zeit die Nutzung dessen, was seiner Willkür unterliegt - und kommt sich sehr klug dabei vor.“ H. Gruhl

Che
Beiträge: 358
Registriert: 09.06.2006 19:00:33

Re: MBR mit DD sichern und rücksichern

Beitrag von Che » 18.09.2009 14:03:55

Hallo,

man kann also über dd und sfdisk, nach dem Beitrag von cirrussc, folgendes festhalten:

1. -> Wird bs auf 446 gesetzt, so wird lediglich MBR gesichert bzw. zurückgespielt;
2. -> Wird bs auf 512 gesetzt, dann wird zusätzlich auch die Partitionstabelle (nur Primärpartitionen) gesichert bzw. zurückgespielt;
3. -> bs muss mindestens auf 1 oder höher gesetzt werden (wie ist diese Zahl genau herauszubekommen?);
4 -> Um die gesamte Partitionstabelle (sowohl primär als auch logische Partitionen) zu sichern bzw. rücksichern, benutzt man am besten sfdisk.


cirrussc hat zutreffend beobachtet:
Und in deinen Ausgaben ist eine hda nicht zu finden! Angeblich hast du aber den MBR der hda gesichert.
Uff! Entschuldigung! Ich habe zurzeit keine hda-Festplatte. Im oben geposteten Befehl habe ich es leider vergessen auf sda anzupassen. Beim Durchführen der Experimente habe ich es immer schön angepasst.

Ich habe Knoppix 5.3 DVD und Knoppix 6.0.1 für die Sicherungen verwendet. Ich werde jetzt zweifelsfall nur Knoppix 6.0.1 bei den Sicherungen benutzen.

Was Grub und menu.lst angeht: ich hatte zuerst ein lahmes Windows und ein schönes Debian Lenny auf sda. Dann kam die zweite Festplatte hinzu und ich habe das Lenny aus sda3 gesichert und auf sdb1 aufgespielt, wo ich dann die Partition von 10 auf 15GB vergrößern konnte. Danach kam die Idee, mal eine ganze Reihe von Distributionen zu installieren, so da die Freunde auf Wunsch mal einen Einblick geben könnten. Ich habe dazu die Partitionierung vorgenommen und alle hintereinander installiert, wobei die 'gefundene' Systeme von Grub (oder was auch immer) in MBR der sda geschrieben wurden. Da Debian eine schöne, transparente (gut lesbare) menu.lst erstellt, habe ich abschließend ein Debian-Grundsystem auf eine letzte Partition installiert, so dass ich diese vollständige (mit allen installierten Systemen) menu.lst bekommen konnte. Es gab sicherlich viele doppelte Einträge. Diese habe ich entfernt und somit entstand die menu.lst, die ich sowohl auf dem System Lenny der sda3 als auch auf dessen Clone sdb1 im Verzeichnis /boot/grub/ abgelegt habe. Das ist also die gleiche Datei. Lediglich die Default-Bootzeile wird gelegentlich auf sda3 angepasst:
# array will desync and will not let you boot your system.
#
default 4
Wenn ich also aus dem System Lenny sda3 den Befehl # grub-install /dev/sda ausführe, wird eine identische menu.lst verwendet als ob ich den Befehl aus dem System Lenny der sdb1 ausgeführt hätte. Für die oben erwähnten Sicherung des MBR habe ich vorher folgendes gemacht:
Aus dem System sda3:

Code: Alles auswählen

# grub-install /dev/sda
Aus dem System sdb1:

Code: Alles auswählen

# grub-install /dev/sdb
Mit diesem Befehl wird, wenn ich mich nicht irre, sowohl MBR als auch die Partitionstabelle geschrieben (oder nur MBR?).

Schönen Dank und viele Grüße
che

Benutzeravatar
cirrussc
Beiträge: 6582
Registriert: 26.04.2007 19:47:06
Lizenz eigener Beiträge: MIT Lizenz

Re: MBR mit DD sichern und rücksichern

Beitrag von cirrussc » 19.09.2009 01:35:57

Che hat geschrieben:Wenn ich also aus dem System Lenny sda3 den Befehl # grub-install /dev/sda ausführe, wird eine identische menu.lst verwendet als ob ich den Befehl aus dem System Lenny der sdb1 ausgeführt hätte.
Warum sitzt Grub auf beiden (sda und sdb)? Einer reicht doch, um alle Systeme zu starten.
Che hat geschrieben:Für die oben erwähnten Sicherung des MBR habe ich vorher folgendes gemacht:
Aus dem System sda3:

Code: Alles auswählen

# grub-install /dev/sda
Warum das, war dort noch kein Grub drauf?
Che hat geschrieben:Mit diesem Befehl wird, wenn ich mich nicht irre, sowohl MBR als auch die Partitionstabelle geschrieben (oder nur MBR?).
Natürlich nur der Bootcode von Grub, was soll dieser mit der Partitionstabelle?

In irgend einem deiner Schritte muss die Ursache sitzen, die das im 1. Post beschriebene Fehlverhalten bewirkt, ich blicke da nur immer noch nicht so recht durch ....
Gruß cirrussc
--------------------
„Der Mensch steigert zur Zeit die Nutzung dessen, was seiner Willkür unterliegt - und kommt sich sehr klug dabei vor.“ H. Gruhl

Che
Beiträge: 358
Registriert: 09.06.2006 19:00:33

Re: MBR mit DD sichern und rücksichern

Beitrag von Che » 19.09.2009 20:15:50

Hallo
ich habe jetzt Eure Tipps versucht umzusetzen und, auch wenn noch die eine oder die andere Frage offen ist, liegt der Erfolg auf der Hand. Ich werde jetzt zuerst einige Äußerungen kommentieren und zum Schluss zeigen, wie ich bei der erfolgreiche Sicherung und Rücksicherung des MBR vorgegangen bin.

cirrussc hat gefragt:
Warum sitzt Grub auf beiden (sda und sdb)? Einer reicht doch, um alle Systeme zu starten.
Falls es funktionieren würde (was momentan nicht der Fall ist) hätte ich, auch wenn der MBR der ersten Festplatte zerschossen wäre, die Möglichkeit zur Verfügung, aus der zweiten Festplatte jedes installiertes System hochzufahren. Ich dachte zumindest, dass es bei mir schon mal so funktioniert hat. Jetzt habe ich sogar versucht, in das Bios eine eventuelle Fehl-Einstellung zu finden, ohne Erfolg! Wenn ich z. B. das Betriebssystem, dass ich auf dem USB-Stick installiert habe, hochfahren möchte, kann ich in der Bios einfach, anstatt eine der beiden Festplatten, diese Option auswählen. Das funktioniert problemlos! Wähle ich die Erste Festplatte zum Booten aus, geht es auch problemlos. Wähle ich jedoch die zweite Festplatte aus (also sdb), dann wird zwar das Bootmenu mit allen Einträge gezeigt, hochfahren kann ich jedoch kein System (Error!). Natürlich funktioniert es dann auch nicht, wenn ich beim Booten die Taste F12 halte und diese Festplatte zum booten auswähle! Kann das sein, dass es - anders als ich angenommen hatte - mein Schema nicht funktionieren kann? Es gibt doch nichts in der menu.lst-Datei, das die Platte, aus der gebooten wird, spezifiziert! Oder doch? Normalerweise sollte doch nur die Einstellung in der Bios stimmen! Was nehme ich da nicht wahr?

Spezifisch für meine Experimente mit MBR-Sicherung habe ich den Befehl # grub-install /dev/sda von dem Systems sda3 aus ausgeführt, in der Hoffnung, ich könnte damit prüfen, ob die Sicherung Erfolgreich war. Inzwischen habe ich den Eindruck, dass es gar nicht möglich ist, es durch diese Methode zu prüfen. Zumindest habe ich irgendwo gelesen, dass Grub im Raum zwischen MBR und erste Partition noch andere Daten (Stage 1.5 ... ) reinschreibt. Wie viel Raum gibt es eigentlich noch zwischen den 512Bytes des MBR und dem Beginn der ersten Partition? Was und warum schreibt Grub dort rein?

Somit habe ich den MBR erfolgreich gesichert und zurückgespielt:
Vorbereitung:
1. Knoppix 6.0.1-CD eingelegt und Rechner neu gestartet;
2. Nachdem Knoppix hochgefahren ist, Strg + F2 tasten, um zum Textmodus zu wechseln;
3. # su eingeben und ENTER-Taste tasten um Rootrechte zu bekommen;
4. swap und alle Partitionen auszuhängen:

Code: Alles auswählen

# swapoff -a
# umount -a
5. USB-Stick einstecken, so dass man dort die zu sichernden Daten ablegen kann. Dann Usb-Stick finden:

Code: Alles auswählen

# fdisk -l      
(bei mir wurde er als /dev/sdc1 vom System erkannt)
und ihn mounten:

Code: Alles auswählen

# mount /dev/sdc1 /mnt
Ins Verzeichnis des USB-Stick wechseln (erspart Eintipparbeit):

Code: Alles auswählen

# cd  /mnt
Sicherung durchführen:
6. MBR des Datenträgers /dev/sda sichern:

Code: Alles auswählen

# dd if=/dev/sda of=sda.mbr bs=512 count=1   
(die Datei sda.mbr, die man frei benennen darf - inklusive die Endung ist fakultativ und frei wählbar)
7. Rücksicherung des MBR:

Code: Alles auswählen

# dd if=/dev/sda of=sda.mbr bs=512 count=1   
(Dieser Befehl wird von dem Verzeichnis wo die Sicherungsdatei abgelegt wurde ausgeführt. Sonst wäre der entsprechende Pfad anzugeben, z.B. anstatt 'of=sda.mbr' etwa 'of=/.../.../.../sda.mbr' wobei die Drei-Punkte durch die entsprechenden Verzeichnisses des Pfades ersetzt werden müssten);
Sowohl Schritt 6. als Punkt 7. erzeugen etwa folgende Ausgabe:

Code: Alles auswählen

1+0 Datensatze ein
1+0 Datensatze aus
512 Bytes (512 B) kopiert, 0,000340183 s, 1,5 MB/s
Zum prüfen, ob die Rücksicherung wirklich zuverlässig ist, habe ich zwischen Schritt 6. und 7. einen weiteren Schritt gemacht:
# dd if=/de/zero of=/dev/sda count=1 bs=512
(Das 'löscht' denMBR bzw. setzt alle Bits auf Null. Das System kann also nicht mehr booten, außer man spielt die gemachte Sicherung zurück -> Schritt 7.)

8. Und was ist mit dem sfdisk-Befehl, der oben erwähnt wurde? Er war nicht nötig, um das System wieder bootbar zu machen. Ich habe ihn dann testweise doch noch abschließend durchgeführt:

Code: Alles auswählen

sfdisk /dev/sda  > sda.pt
(Datei 'sda.pt' wird im aktuellen Verzeichnis für die zu speichernden Daten angelegt. Sie darf, inklusive die Endung, frei benannt werden)

# sfdisk -d /dev/sda < sda.pt
# partition table of /dev/sda
unit: sectors

/dev/sda1 : start=       63, size= 19727757, Id= 7, bootable
/dev/sda2 : start= 19727820, size= 17575110, Id=83
/dev/sda3 : start= 37302930, size= 15631245, Id=83
/dev/sda4 : start= 52934175, size=435457890, Id= 5
/dev/sda5 : start= 52934238, size=  9767457, Id=83
/dev/sda6 : start= 62701758, size=  9767457, Id=83
/dev/sda7 : start= 72469278, size=  1959867, Id=82
/dev/sda8 : start= 74429208, size=413962857, Id=83
Hier ist zu sehen, dass sowohl primär- als auch logische Partitionen von sfdisk berücksichtigt werden. Das System hat sich auch danach problemlos booten lassen, so dass der Befehl keine Sichtbaren Wirkungen hinterließ. Warum muss die Partitionstabelle dort vorhanden sein? Muss sie überhaupt? Für eine normale Sicherung des MBR zeigte sich der Schritt 8. als optional. Vielleicht kann jemand so gut sein, und ihrer Funktion erklären.

Die Daten, die in die Datei sda.mbr bei der Sicherung abgelegt wurden, haben eine komische Kodierung! Was für Kodierung kennt nicht mal ein 'P'? Mit westeuropa (iso-88-59-1) sieht der Inhalt so aus:

Code: Alles auswählen

ëHartition table of /dev/sda
unit: sectors

/dev/sda1 : start##ÿ## ######úö€u#²€êY|##1ÀŽØŽÐ¼# û @|<ÿt#ˆÂR¾}è4#ö€tT´A»ªUÍ#ZRrIûUªuC A|„Àu#ƒá#t7f‹L#¾#|ÆDÿ#f‹#D|Ç###ÇD###f‰\#ÇD##pf1À‰D#f‰D
wobei die unbekannten Zeichen als Schachteln umgewandelt wurden als ich es hier eingefügt habe. Schade, ich würde schon gerne wissen, was in so einer MBR reingeschrieben wird!

So, das Grundlegende Problem der MBR-Sicherung und Rücksicherung ist somit geklärt! Was ich zuvor bei den verschiedenen Versuche falsch gemacht habe ist mir jedoch nicht klar! Ein guter Tipp, der hier gegeben wurde, ist jedoch, nur ein System (immer die gleiche Knoppix-CD z.B.) für das verfahren benutzen. Die Befehle swapoff -a und umount -a sind bei Knoppix anscheinend gar nicht nötig, da Knoppix ja keine Geräte automatisch mountet (?). Als ich mit Partimage die Partition sda1 (NTFS mit lahmen Windows XP) gesichert habe, benutzte ich, wenn ich mich nicht täusche, nicht Knoppix, sondern mein reguläres Debian-System, und dafür war es wichtig zu wissen, dass man # swapoff -a machen muss. Solange die swap-Partition der zu sichernden Festplatte im Gebrauch sind, weigert sich Partimage die Anweisungen auszuführen.

Abschließend noch einige Worten über die dd-Option count, da in dem von mir ganz oben geposteten Link ( http://debianforum.de/forum/viewtopic.p ... lit=dd+mbr ) auf 63 gesetzt wurde und dies als Grund für den Erfolg bezeichnet worden ist. Es scheint jedoch so zu sein, dass diese Option sogar ganz weggelassen werden kann, denn sie bestimmt nur mit was für Blockgröße dieselben 512bytes geschrieben werden. Setzt man den Wert auf z.B. 63 und lässt bs=512, so wird der gleiche Inhalt in mehreren Schritten - wenn man es so sagen kann - geschrieben/kopiert. Das macht jedoch keinen Sinn, wenn das ganze doch in einem einzigen Block geschrieben werden kann. count ist also nur ein Zähler für bs (bs bestimmt also die Menge der Daten, die gesichert werden soll). Ein Zitat über dieser Option :
bs Blocksize/-größe (optional und erst mal nicht wichtig)
http://wiki.ubuntu-forum.de/index.php/Disk_Dump
(Bemerkung: Im Abschnitt 7.3 des Links wird ein Befehl zum Löschen des MBRs angegeben. Ich habe den Eindruck, dass dort der Wert von bs und count aus Vesehen vertausch wurde! Achtung bitte!)

Dieser Kommentar ist, gebe ich zu, viel zu ausführlich ausgefallen. Entschuldigung. Ich bedanke mich ganz herzlich bei euch für die große Geduld und viele Tipps!. Wenn jemand noch offene Fragen beantworten oder Fehler von mir korrigieren kann, wunderbar!

Viele Grüße
che

Benutzeravatar
cirrussc
Beiträge: 6582
Registriert: 26.04.2007 19:47:06
Lizenz eigener Beiträge: MIT Lizenz

Re: MBR mit DD sichern und rücksichern

Beitrag von cirrussc » 20.09.2009 00:25:12

Che hat geschrieben:Wähle ich die Erste Festplatte zum Booten aus, geht es auch problemlos. Wähle ich jedoch die zweite Festplatte aus (also sdb), dann wird zwar das Bootmenu mit allen Einträge gezeigt, hochfahren kann ich jedoch kein System (Error!). Natürlich funktioniert es dann auch nicht, wenn ich beim Booten die Taste F12 halte und diese Festplatte zum booten auswähle!
Das ist IMO bei allen aktuellen BIOS so, bei meinem ist das Verhalten ähnlich. Ich vermute, das liegt daran, dass das BIOS die jeweils gewählte HDD als erste ausgibt, also (analog zum Grub Befehle "map") die HDD's virtuell tauscht. Deshalb wird ein Eintrag in der menu.lst z.B. (hd0,0) ungültig, da das BIOS eine andere zu dieser hd0 gemacht hat.
Vermute ich.

Che hat geschrieben:Zumindest habe ich irgendwo gelesen, dass Grub im Raum zwischen MBR und erste Partition noch andere Daten (Stage 1.5 ... ) reinschreibt. Wie viel Raum gibt es eigentlich noch zwischen den 512Bytes des MBR und dem Beginn der ersten Partition? Was und warum schreibt Grub dort rein?
Der erste Sektor enthält den MBR, die erste Partition fängt beim Sektor 63 an, also befinden sich zwischen MBR und dieser 63-1*512 gleich 31744 Byte.
Grub braucht Stage 1 und Stage 1.5 um Stage 2 von dem FS laden zu können.
/dev/sda1 : start= 63, size= 19727757, Id= 7, bootable
Che hat geschrieben:Es scheint jedoch so zu sein, dass diese Option sogar ganz weggelassen werden kann, denn sie bestimmt nur mit was für Blockgröße dieselben 512bytes geschrieben werden.
Falsch.
Che hat geschrieben:count ist also nur ein Zähler für bs
Korrekt.
bs ist die Blocksize - Blockgröße, in denen die Daten geschrieben werden. Mit count kann die Datenmenge beschränkt werden, denn es ist der Zähler für bs.
bs * count = Datenmenge
DD bietet auch eine Menge an üblichen Multiplikatoren.
Eigentlich lassen sich die Werte der Optionen tauschen, bleibt es doch die gleiche Datenmenge. Doch in einigen Situationen macht es Sinn, eine bestimmte Menge mit einmal (Block) zu lesen/schreiben. Z.B. bei CD/DVD Laufwerken.

Den ganzen Mittelteil habe ich mir noch nicht durchgelesen :)
Gruß cirrussc
--------------------
„Der Mensch steigert zur Zeit die Nutzung dessen, was seiner Willkür unterliegt - und kommt sich sehr klug dabei vor.“ H. Gruhl

Antworten