Wie speichere ich die Änderungen wieder in Live-Usb um, wenn sie mit Beharrlichkeit in RAM booten?

876
Chiel ten Brinke

Ich habe ein bootfähiges USB-Laufwerk mit einer Live-Linux-Distribution. Wir haben es so eingerichtet, dass die Persistenz unterstützt wird. Normalerweise bleiben die vorgenommenen Änderungen zwischen den Neustarts erhalten. Das Booten in RAM scheint Linux wesentlich schneller als normal zu machen, was die Verwendung des Live-USB-Sticks praktisch macht, zumal der Live-USB-Stick viel langsamer ist und im Vergleich zu einer normalen Installation auf einem SATA-Laufwerk manchmal hängen bleibt.

Wir können den Live-USB in RAM booten, indem Sie die Boot-Parameter toramim Grub-Menü hinzufügen . Offensichtlich bricht dies jedoch die Persistenzfunktion, da das Dateisystem auf den RAM geladen wird, so dass alle Änderungen beim Neustart verloren gehen.

Sobald wir Änderungen vorgenommen und entschieden haben, dass wir sie behalten möchten, wie können wir die Änderungen des Dateisystems vom RAM auf das USB-Laufwerk zurückspülen?


Um es festzuhalten, habe ich diese Anweisungen befolgt, um die Live-Unterstützung für die USB-Unterstützung zu gewährleisten: https://docs.kali.org/downloading/kali-linux-live-usb-persistence

2
Ein alternatives Verfahren in [hier detailliert beschrieben] (https://www.howtogeek.com/howto/14912/create-a-persistent-bootable-ubuntu-usb-flash-drive/), das bessere Ergebnisse erzielen kann. harrymc vor 6 Jahren 0
Dieser Blog-Post befasst sich nicht mit dem Booten in RAM, wohingegen sich meine Frage speziell darauf bezieht. Wenn die Frage nicht klar genug ist, sagen Sie mir bitte, damit ich die Formulierung verbessern kann! Chiel ten Brinke vor 6 Jahren 0
Dies wird im Nachhinein durch Hinzufügen von "Toram" wie Sie getan. Hier ist ein weiterer Artikel mit einer weiteren Methode: [Erstellen Sie einen dauerhaften Ubuntu USB, der zum RAM bootet] (https://calvin.me/create-persistent-ubuntu-16-04-live-usb-even-boots-ram/) . harrymc vor 6 Jahren 0
@ChieltenBrinke Ich glaube, du hast falsch verstanden, was die `toram`-Option bewirkt. Soweit ich es verstehe, wird nur das Readonly-Dateisystem als Ramdisk behandelt. Beim Booten mit aktivierter Persistenz werden die von Ihnen vorgenommenen Änderungen direkt in das USB-Laufwerk geschrieben, nicht in einen RAM, wie Sie glauben. the blizz vor 6 Jahren 0
@theblizz: Ich stimme zu. Außerdem ist USB langsamer als eine interne Festplatte, so dass das Poster nicht mehr Leistung bringt, sondern eher weniger als bei einer klassischen, festplattenbasierten Installation. Der einzige Vorteil eines dauerhaften USB-Starters besteht darin, dass es sich um eine portable Linux-Installation handelt, die auf jedem Computer ausgeführt werden kann. Dies war meiner Meinung nach das Poster ursprünglich (aber vielleicht lag ich falsch). harrymc vor 6 Jahren 0
Okay, das macht Sinn. Ich hatte den Eindruck, dass das Overlay-Schreib / Lese-Dateisystem beim Booten mit der `toram`-Option ebenfalls auf den RAM kopiert würde. Gibt es eine Möglichkeit, dies tatsächlich zu tun? Chiel ten Brinke vor 6 Jahren 0
Sie müssen nichts tun - Festplattendaten werden automatisch gelesen und im Cache-Speicher gehalten, wenn auf sie zugegriffen wird oder wenn darauf geschrieben wird. Schreibvorgänge werden verzögert und nach Ermessen des Betriebssystems und in optimaler Reihenfolge ausgeführt. Diese Optimierungen sind ein extrem wichtiger Bestandteil jedes Betriebssystems, der oft an der Effizienz dieser Algorithmen gemessen wird. Die Effizienz wird hauptsächlich durch Hinzufügen von mehr RAM verbessert, wodurch ein größerer Speichercache für die Festplatte zugewiesen werden kann. harrymc vor 6 Jahren 0
Dies kann jedoch von den Caching-Einstellungen für das Laufwerk abhängen. Es kann sein, dass das Standard-Caching-Verhalten für USB-Laufwerke aufgrund ihres austauschbaren Charakters von SATA-Laufwerken abweicht. the blizz vor 6 Jahren 0
@theblizz: Normalerweise werden auf Wechseldatenträgern geschriebene Daten physisch schneller gelöscht. Das Betriebssystem nutzt nicht die Chance, dass ein solches Gerät entfernt wird, ohne dass es zuvor deinstalliert wurde. harrymc vor 6 Jahren 0
Richtig, um die Geschwindigkeit zu verbessern, muss vermutlich etwas verändert werden, nehme ich an. Chiel ten Brinke vor 6 Jahren 0
@ChieltenBrinke: Tweaks sind unnötig - das Betriebssystem macht das sehr gut. Es gab hier einen Post von einem Mann, der seinen Wechseldatenträger verfeinerte und dann anfing, Daten zu verlieren, die ungeschrieben blieben, als er seinen Computer ausschaltete. Niemand wusste, woran er arbeitete, und er erinnerte sich nicht, also bekam er keine Hilfe. Vertrauen Sie auf das Betriebssystem, um gute Algorithmen zu haben, die ausgereifter sind als alles, was Sie oder ich tun könnten. harrymc vor 6 Jahren 0
"Normalerweise werden auf Wechseldatenträger geschriebene Daten physisch schneller gelöscht." Wenn die Zwischenspeicherungseinstellungen an das Verhalten von Wechseldatenträgern angepasst würden, würde dies zu Datenverlust führen? Chiel ten Brinke vor 6 Jahren 0
Jede Änderung der Einstellungen, die Sie nicht VOLLSTÄNDIG verstehen, kann zu Datenverlust führen. Und mit "vollständig verstanden" meine ich bis auf die Ebene des Datenträger-Treiber- und Cache-Managements, für die Sie in den Quellcode gehen müssen. Tun Sie nicht das, was gut funktioniert. harrymc vor 6 Jahren 0

2 Antworten auf die Frage

1
harrymc

Das Booten von USB in den RAM scheint nur schneller zu sein, da nur eine minimale Linux-Version in den Speicher geladen wird.

USB ist langsamer als eine interne Festplatte, daher wird nicht mehr Leistung erzielt, sondern weniger als bei einer klassischen, festplattenbasierten Installation. Der einzige Vorteil eines dauerhaften USB-Starters besteht darin, dass es sich um eine portable Linux-Installation handelt, die auf jedem Computer ausgeführt werden kann.

Darüber hinaus werden entfernbare Geräte physisch mehr gespült, da das Betriebssystem keine Möglichkeit einräumt, dass ein solches Gerät entfernt wird, ohne dass es zuvor deinstalliert wurde. Dies bedeutet mehr Schreibzugriffe und häufiger für USB als für eine interne Festplatte.

Es sind keine Anpassungen erforderlich, um die Speichernutzung zu verbessern. Linux speichert Datenträgerdaten automatisch im Cache-Speicher, wenn sie gelesen oder geschrieben werden. Schreibvorgänge werden verzögert und nach Ermessen des Betriebssystems und in optimaler Reihenfolge ausgeführt. Diese Optimierungen sind ein extrem wichtiger Bestandteil jedes Betriebssystems, der oft an der Effizienz dieser Algorithmen gemessen wird.

Die Effizienz wird hauptsächlich durch Hinzufügen von mehr RAM verbessert, wodurch ein größerer Speichercache für die Festplatte zugewiesen werden kann.

Betriebssystemalgorithmen für den Speichercache und die Datenträgerverwaltung sind hochentwickelt, und das Optimieren der Parameter ohne tiefes Verständnis der Auswirkungen ist für die Integrität der Datenträger und des Betriebssystems äußerst gefährlich.

"So wird man nicht mehr Leistung bekommen, sondern eher weniger als bei einer klassischen, festplattenbasierten Installation." Ich habe nie gesagt, dass Sie mit einer USB-Installation mehr Leistung erhalten würden, indem Sie sich selbst zitieren ", da der Live-USB-Prozessor viel langsamer ist und manchmal im Vergleich dazu steht zu einer normalen Installation auf einem SATA-Laufwerk " Chiel ten Brinke vor 6 Jahren 0
"Es sind keine Anpassungen erforderlich, um die Speichernutzung zu verbessern." Sie widersprachen sich gewissermaßen mit dem, was Sie früher gesagt haben: "Wechseldatenträger werden physisch mehr gespült". Meiner Erfahrung nach, besonders wenn die USB Duplex-E / A nicht (ordnungsgemäß) implementiert, wie es der USB 3.0-Standard vorschreibt, verlangsamt diese Schreiboperation wirklich das Betriebssystem, und der Computer hängt alle paar Sekunden mit Anwendungen, die häufig schreiben, wie z Browser. Wenn Sie verhindern, dass das Betriebssystem hier Schreibvorgänge ausführt, wird dies einen Leistungsunterschied bewirken. Chiel ten Brinke vor 6 Jahren 0
Das Optimieren von Festplattenrichtlinien ist ein äußerst riskantes Verfahren - Beispiele finden Sie in diesem Forum. Wenn Sie versuchen, einen langsamen Computer deutlich schneller zu machen, sollten Sie in Hardware investieren. Ich weiß, dass Sie dies nicht gerne hören würden, aber leider gibt es keine magischen Lösungen (oder sie wären bereits in Linux integriert worden). harrymc vor 6 Jahren 1
Ich stimme zu, dass es riskant ist Chiel ten Brinke vor 6 Jahren 0
1
the blizz

Hier sind meine 50 Cent.

Wenn Sie eine Live-Linux-Distribution von einer CD-ROM ausführen, wird das Dateisystem nur gelesen. Dies ist sinnvoll, weil Sie nicht auf eine CD-ROM schreiben können. Damit Sie Dateien erstellen und Änderungen vornehmen können, verwendet das Live-Betriebssystem ein zusätzliches Overlay-Dateisystem auf einer Ramdisk, um Ihre Änderungen zu speichern. (Es gibt mehrere Möglichkeiten, dies zu implementieren, indem Sie einfach auf dem Linux-Overlay-Dateisystem umherfahren, um mehr zu erfahren). Diese Änderungen gehen jedoch beim Herunterfahren verloren, da sie nicht auf der CD-ROM, sondern auf dem RAM gespeichert werden.

Beim Booten einer Live-Distribution von einem USB-Laufwerk haben Sie jedoch die Möglichkeit, dieses Overlay-Dateisystem auf dem USB-Laufwerk anstelle einer Ramdisk abzulegen. Dies wird üblicherweise als Live-USB mit dauerhaftem Speicher bezeichnet . Der Vorteil davon ist, dass die von Ihnen vorgenommenen Änderungen beibehalten werden. Der Nachteil ist, dass das Betriebssystem häufig auf Ihr USB-Laufwerk schreibt. Dies kann Ihre Leistung auf Nicht-Duplex-USB-Laufwerken beeinträchtigen (z. B. häufiges Einfrieren). Darüber hinaus verschlechtert dies die Haltbarkeit Ihres USB-Laufwerks, da USB-Laufwerke nicht so konzipiert sind, dass sie häufig geschrieben werden.

Um diese beiden letzten Probleme zu beheben, möchten Sie möglicherweise eine Ramdisk erstellen und dort ein Overlay-Dateisystem manuell erstellen. Speichern Sie dieses Dateisystem nach dem Herunterfahren in einer Datei auf Ihrem USB-Laufwerk und stellen Sie es beim Start wieder her, um die Änderungen beizubehalten.

Das manuelle Erstellen eines Overlay-Dateisystems ist nicht schwer. Lesen Sie dies als Anfang: https://wiki.archlinux.org/index.php/Overlay_filesystem

Könnten Sie uns bitte nähere Informationen zum Speichern und Wiederherstellen dieses Overlay-Dateisystems vom USB-Laufwerk mitteilen? Chiel ten Brinke vor 6 Jahren 0