• Willkommen im Linux Club - dem deutschsprachigen Supportforum für GNU/Linux. Registriere dich kostenlos, um alle Inhalte zu sehen und Fragen zu stellen.

Imagesicherung ext4 und Reparatur

Christina

Moderator
Teammitglied
@Gräfin Klara
Nein, das ist ein Fakt. – Probiere es selber aus!

Partimage 0.6.9 zeigt folgenden Fehler beim ext4-fs, das mit den e2fsprogs 1.47 erstellt wurde:
——— Error ———
"Can't read bitmap block 0 from image"

Schaue dir mal nur als Beispiel die Änderungsliste des xfs-Dateisystems an. Das ist natürlich älter als das ext4-Dateisystem,
aber du bekommst eine Vorstellung davon, welche Mengen an Erweiterungen in ext4-fs seit dem Jahr 2009 hinzugekommen sind.
xfsprogs: doc/CHANGES | Fossies

Lg, Christina
 

Christina

Moderator
Teammitglied
Beide Programme können auf Grund ihres Alters mit Ext4 überhaupt nicht umgehen.
Genau, weil sie schon mit dem Feature extent nichts anfangen können. Das war aber nicht die letzte inkompatible Erweiterung, die das ext-Dateisystem erhalten hat. Mit einem neueren Kernel lässt sich eine ältere Version von ext-fs immer mounten – nur umgekehrt nicht, wenn incompatible features vorhanden sind.
Das xfs-Dateisystem unterstützt partimage auch schon längst nicht mehr.
 
@Gräfin Klara
Nein, das ist ein Fakt. – Probiere es selber aus!

Partimage 0.6.9 zeigt folgenden Fehler beim ext4-fs, das mit den e2fsprogs 1.47 erstellt wurde:
——— Error ———
"Can't read bitmap block 0 from image"

Schaue dir mal nur als Beispiel die Änderungsliste des xfs-Dateisystems an. Das ist natürlich älter als das ext4-Dateisystem,
aber du bekommst eine Vorstellung davon, welche Mengen an Erweiterungen in ext4-fs seit dem Jahr 2009 hinzugekommen sind.
xfsprogs: doc/CHANGES | Fossies

Lg, Christina
Es gibt für mich keinen Grund Partimage auszuprobieren.
Jede Änderung im fs, egal wieviele das auch sein mögen, verursachen keine Inkompatibilitäten.
Zumindest nicht, seit die inodes im superblock (ext4) sind. Das ist Jahre her,

Zum Problem: Partimage kann diesen superblock nicht interpretieren (block 0).

Das ist weder ein bug noch ein Mangel an Unterstützung des ext4.
Das ist ein grundsätzlicher, logistischer Programmierfehler im Programmaufbau.
Warum?
Das fs wird vom kernel unterstützt. Der liest den Superblock in eine struct und stellt den Applikationen die Leistung und Infos dieses fs zur Verfügung. Egal welche Version, egal welche Änderungen, es bleibt kompatibel. Was an Leistung da ist, wird zur Verfügung gestellt, wenn nicht, dann eben nicht. Die Grundfunktionen sind immer verfügbar. Das gehört zu den grundsätzlichen Funktionen eines fs, das es kompatibel bleibt zwischen alten kernels zu neuer fs Version und umgekehrt. Ist das nicht der Fall, dann ist das kein fs!!
Ich habe das jffs bei Axis für ETRAX und NAND flash programmiert, ich weiß worüber ich hier schreibe.

Partimage meint nun, Funktionen des kernels übernehmen zu müssen und liest direkt vom Medium. Das ist natürlich Blödsinn.
Selbst wenn Partimage aus dem fs ein image erstellt, ist trotzdem der kernel als Informationsquelle zu verwenden.
Tut Partimage das nicht, dann fällt das Programm natürlich bei jeder Änderung/Erweiterung des fs auf die Nase.
Du kannst deshalb nicht scheiben, dass Partimage einen Fehler in ext4 ausgibt oder das Partimage ext4 nicht unterstützt,
Die Wahrheit ist, Partimage darf ext4 nicht selbst untersuchen und muß ext4 nicht unterstützen. Wozu auch?
Selbst e2fsck untersucht ext4 nicht selbst auf Fehler, sondern lehnt sich an die Infos aus dem kernel, der es wiederum aus den Funktionen des fs bezieht.

Es gibt nur einen Fall, wo eine Applikation wie z.B. Partimage den Superblock des fs selbst untersuchen muß, also selbst feststellen muß, wo das fs beginnt, wo es endet, inode positionen, usw. Das wäre beim Erstellen eines images eines fs unter einem OS, wie Win., das ext4 nicht unterstützt. Nocheinmal: das Image eines filesystems, nicht partition. Das braucht niemand,

LG
 
OP
M

mampfi

Hacker
Ich hab nur die Meldung weitergegeben, ein bißchen was weiß ich auch, hab einen FAT-Leser programmiert, ist natürlich erheblich einfacher als modernere Dateisysteme.

Ich hab mit dem partimage meiner knoppix DVD-ein Image von meiner Win7-C: Partition gemacht, das ist die ganze Startpartition, diese separate 100-MB-Partition hab ich nicht (Hab die ganze Startpartition in C: "gezwungen").

Da konnte ich ein Image fahren und auch wieder zurücksichern.

Das immer gewarnt wurde, dass NTFS experimentell ist, weiß ich.

Knoppix-Version ist KNOPPIX_V9.1DVD-2021-01-25-DE
 
Zuletzt bearbeitet:

josef-wien

Ultimate Guru
Die Wahrheit ist, Partimage darf ext4 nicht selbst untersuchen und muß ext4 nicht unterstützen.
Als Laie sehe ich die Dinge nicht so einfach. Wenn ein Programm von einem Dateisystem keinen Ballast in einem Image speichern soll, sondern nur das Wesentliche (Metadaten, belegte Sektoren), dann muß es über die Interna des Dateisystems Bescheid wissen, um später aus dem Image den Originalzustand des Dateisystems wiederherstellen zu können.
 

Christina

Moderator
Teammitglied
Die Wahrheit ist, Partimage darf ext4 nicht selbst untersuchen und muß ext4 nicht unterstützen.
Das gilt dann wohl auch fürs (aktuelle) xfs-Dateisystem, aber partimage 0.6.9 meint hierzu beim Versuch einer Sicherung:
——— Error ———
"Can't read SuperBlock"

——— Error ———
"Can't read block 0 from image (809596832)"

→ Ich sehe das auch so wie der Josef.

Ich hab mit dem partimage meiner knoppix DVD-ein Image von meiner Win7-C: Partition gemacht, (…)
Da konnte ich ein Image fahren und auch wieder zurücksichern.

Das immer gewarnt wurde, dass NTFS experimentell ist, weiß ich.
Ich hatte mit ntfs in partimage noch nie eine error message. — Bis eines Tages Microsoft ein neues Feature in die MFT eingebaut hat (siehe P.S. in #19).
Lg, Christina
 
... Wenn ein Programm von einem Dateisystem keinen Ballast
Entweder sind Böcke 1.reserviert, 2.verfügbar, 3.belegt, 4.gesperrt. Wie auch immer, sie müssen vorhanden sein.
Jedes byte am fs hat seine Aufgabe. Selbst gelöschte Bereiche sind dem fs bekannte Platzhalter für künftige Transaktionen. Es gibt keinen "Ballast" in einem fs

... in einem Image speichern soll, sondern nur das Wesentliche (Metadaten, belegte Sektoren),
Was "Wesentlich" ist, bzw. sein wird, das kann die Applikation nicht wissen. Wesentlich ist das, was die nächsten Generationen des fs als Wesentlich definieren. Soll ein image, das bei Wiederherstellung durchaus alt sein kann, dieses Wesentliche bestimmen? So funktioniert das nicht.

dann muß es über die Interna des Dateisystems Bescheid wissen, um später aus dem Image den Originalzustand des Dateisystems wiederherstellen zu können.
Nein, diese Interna gehen der Applikation nichts an. Eine solche Applikation erstellt entweder ein image der partition, wobei das fs der Applikation egal sein kann. Oder sie erstellt ein image der files aus diesem fs, auch dann ist das fs egal. Aber ein Zwitter aus diesen beiden Möglichkeiten ist systemwidrig, weil in beide Richtungen - Erzeugen und Wiederherstellen - von der fs Version abhängig. Das ist schon bizarr.
 
Zuletzt bearbeitet:

Christina

Moderator
Teammitglied
Hi @Gräfin Klara ,

du könntest dir doch mal den Quellcode von partimage 0.6.9 anschauen.
Dann ist es vielleicht nicht mehr bizarr.

Nur weil man eine Programmiersprache (mehr oder weniger) beherrscht, kann man eine Software noch längst nicht interpretieren.
Aber du kannst es vielleicht – bis zu gewissen Grenzen, versteht sich.

Lg, Christina
 
Hi @Gräfin Klara ,

du könntest dir doch mal den Quellcode von partimage 0.6.9 anschauen.
Dann ist es vielleicht nicht mehr bizarr.
Dein Einwand in Ehren aber der läuft doch an der Realität vorbei.
Worüber er stolpert geht doch klar und deutlich aus der Fehlermeldung hervor.
Warum sie/er den Weg gewählt hat, das steht nicht im Quellcode und wie er gegangen wird, ist uninteressant.
Dafür braucht es keine Interpretation, es ist selbsterklärend.
 
Zuletzt bearbeitet:
OP
M

mampfi

Hacker
Hi @Gräfin Klara ,

du könntest dir doch mal den Quellcode von partimage 0.6.9 anschauen.
Dann ist es vielleicht nicht mehr bizarr.

Nur weil man eine Programmiersprache (mehr oder weniger) beherrscht, kann man eine Software noch längst nicht interpretieren.
Aber du kannst es vielleicht – bis zu gewissen Grenzen, versteht sich.

Lg, Christina
Beim Lesen von Quellcodes gehts mir so:

Bei den fremden hab ich Schwierigkeiten,
während bei den eigenen ich sogar weiß, was im Fernsehen lief, als ich diesen oder jenen Teil geschrieben hab (meist bei den alten in Turbo Pascal). :cool:

Grooooßer Respekt vor den MitEntwicklern bei Linux.🤓

Aber das nur mal am Rande.
 
Oben