Booten eines Dateisystem-Images von einer Festplatte mit GRUB2 mit Persistenz

8

Wie behalte ich Änderungen bei, die ich an Dateien vornehme, wenn ich ein Betriebssystem ausführe, das mit GRUB2 aus einer Datei gestartet wird, die ein Dateisystem enthält?

Ich habe es geschafft, GRUB2 dazu zu bringen, eine Image-Datei zu starten, die sich auf einer Festplatte befindet. So weit so gut, sehr nützlich zum Booten in FreeDOS für verschiedene Nicht-Linux-Anwendungen. Was ich wünsche, ist, dass wenn ich eine Datei in diesem laufenden Betriebssystem erstelle oder ändere, diese in die Image-Datei zurückgeschrieben wird, damit ich beim nächsten Start dieser Image-Datei dort weitermachen kann, wo ich aufgehört habe. anstatt erneut mit demselben Image zu beginnen, das beim ersten Mal gestartet wurde.

Runen
quelle

Antworten:

1

Memdisk (genau das verwenden Sie, oder?) Ersetzt den BIOS-Festplattentreiber durch einen eigenen Code, der die In-Memory-Kopie ändert, anstatt auf die Festplatte zuzugreifen. Der Bootloader (Syslinux, Grub oder was auch immer Sie verwenden) lädt das Image von der Festplatte und bleibt nach dem Start von Memdisk nicht im Speicher.

Um die Änderungen wieder auf die Festplatte zu übertragen, müssen Sie Memdisk Unterstützung für Festplatte und Dateisystem hinzufügen. Das ist im Prinzip nicht unmöglich, aber es ist ein erheblicher Entwicklungsaufwand, und mir ist nicht bekannt, dass jemand daran arbeitet.

Sie können eine kleine FAT-Partition auf Ihrer Festplatte erstellen, Ihr Image vor dem Neustart darauf kopieren und das Disk-Image anschließend wieder kopieren, wenn Sie möchten, dass es bestehen bleibt.

Gilles 'SO - hör auf böse zu sein'
quelle
Interessanter Vorschlag zum Kopieren von Speicherinhalten auf die Festplatte. Würdest du wissen, wie dies in der Praxis erreicht werden kann? Ich habe einige Ideen, wie dies erreicht werden könnte, wenn das Live-Betriebssystem Linux ist, aber wie man das In-Memory-Dateisystem unter Windows in eine Datei auf der Festplatte schreibt, weiß ich nicht, wie ich es erreichen soll.
Runeks
@runeks Wie gesagt, es ist ein erheblicher Entwicklungsaufwand. Memdisk läuft nicht unter Linux oder Windows, sondern direkt auf dem Computer - es ist ein eigenes Spezialbetriebssystem.
Gilles 'SO - hör auf böse zu sein'
Aha. Ich dachte jedoch daran, es vom Betriebssystem aus zu tun. Beispiel unter Linux: Mounten einer Festplattenpartition, Erstellen eines neuen Dateisystems in einer Datei auf dieser Partition, Mounten dieses Dateisystems und Kopieren des Inhalts des Root-Dateisystems des laufenden Betriebssystems in diese Datei. Dann das nächste Mal von dieser Datei booten. Es könnte in einigen Skripten automatisiert werden, die beim Herunterfahren ausgeführt werden. Ich denke, ich muss es nur ausprobieren, um zu sehen, ob es funktioniert. Es wäre interessant, wenn das gleiche irgendwie für Windows gemacht werden könnte.
Runeks