![Wie vergrößere ich ein Ext3/Ext4-Dateisystem über Debugfs?](https://rvso.com/image/170272/Wie%20vergr%C3%B6%C3%9Fere%20ich%20ein%20Ext3%2FExt4-Dateisystem%20%C3%BCber%20Debugfs%3F.png)
Ich befinde mich in einer Situation, in der ich die Standardgröße eines von der Firmware verwendeten ext4-Dateisystems vergrößern möchte.
Das Problem besteht resize2fs
darin, zusätzliche Dinge zu erledigen, wie etwa das Löschen einiger Dateisystemfunktionen und das Verschieben des Journals an den Anfang der Gerätepartition (aus diesem Grund stürzt mein Gerät ständig ab, bevor ich irgendetwas mounten kann, und da ich nicht weiß, wie ich vor dem adb
Start auf die Kernel-Konsole zugreifen kann, habe ich keine Ahnung, wie ich darauf zugreifen oder die console=
Kernel-Parameter anpassen kann, damit die Konsole auf dem Display des Geräts angezeigt wird).
Da dies zum Vergrößern dient, ist normalerweise keine Verschiebung erforderlich. Wie kann ich also debugfs
die Größe und (ggf. bei Bedarf) die Anzahl der freien Inodes ändern? Ich meine, welches Feld set_super_value
soll ich festlegen und welche Zahlen soll ich auswählen?
Wichtiger,Wie stelle ich die Prüfsummen für Gruppendeskriptoren ein??
Antwort1
Sofern Ihr Dateisystem nicht sehr klein ist (< 128 MB), können Sie nicht einfach eine Ganzzahl im Superblock ändern, um die Größe des Dateisystems zu ändern. Es gibt andere Metadatenstrukturen, die aktualisiert werden müssen, damit das Dateisystem nützlich ist. Das heißt, SiekönnteSie können das Feld „s_blocks_count“ im Superblock mit dem Debugfs-Befehl „set_super_value“ (ssv) aktualisieren und dann e2fsck ausführen, damit es versucht, die fehlenden Metadaten selbst wiederherzustellen.
Ob dies möglich ist, hängt stark davon ab, wie stark Sie die Größe des Dateisystems ändern und ob die Funktion „resize_inode“ beim Formatieren des Dateisystems aktiviert war. Andernfalls können sich die fehlenden Metadaten, die e2fsck neu erstellt, mit anderen wichtigen Dateisysteminhalten überschneiden und andere Probleme verursachen.
Um zu überprüfen, ob dies funktioniert, können Sie am besten ein Image des gesamten Dateisystems erstellen und es damit testen.