Regelmäßige Konsistenzprüfungen des Dateisystems sind wahrscheinlich eine gute Idee. Tun aktuelle Android-Geräte das jemals?

Lassen Sie mich beginnen, indem ich Ihnen einige allgemeine Hintergrundinformationen gebe. Meine eigentliche Frage steht ganz unten in diesem Beitrag.


Hintergrund, Teil 1: Journal-Replays vs. Konsistenzprüfungen.

Bitte gehen Sie davon aus, dass Ihr Android-Gerät das ext4-Dateisystem für seinen internen Speicher und das FAT32-Dateisystem für seinen entfernbaren MicroSD-Speicher (falls vorhanden) verwendet.

Auf ext4 ist eine "Journal-Wiedergabe" eine teilweise Überprüfung und Reparatur des Dateisystems, die normalerweise nicht länger als ein paar Sekunden dauert. ( Quelle .) Der Android-Kernel führt bei Bedarf eine Journal-Wiedergabe durch. (Basierend auf dieser Quelle und dieser Quelle .)

Auf ext4 dauert eine vollständige Konsistenzprüfung des Dateisystems länger. Bei einem durchschnittlichen Android-Gerät dauert es etwa 12 Sekunden. (Basierend auf dieser Quelle .)

FAT32 ist ein Non-Journaling-Dateisystem. Es gibt also keine Journal-Wiederholungen. Es gibt nur Konsistenzprüfungen.


Hintergrund, Teil 2: Es ist wahrscheinlich eine gute Idee, dass Ihr Betriebssystem regelmäßige Konsistenzprüfungen durchführt. Hier ist der Grund.

Microsoft-Programmmanager Kiran Bangalore schreibt , dass es bestimmte Fälle gibt, in denen ein Dateisystem beschädigt werden kann. Auf einem Journaling-Dateisystem wie ext4 sind solche Fälle äußerst selten. Bei wechselbaren MicroSD-Karten vermute ich, dass solche Fälle gar nicht so selten sind.

Der übliche Weg, um nach einer solchen Beschädigung zu suchen, besteht darin, Ihr Betriebssystem so zu konfigurieren, dass es von Zeit zu Zeit ein Tool zur Konsistenzprüfung ausführt. Zu diesen Tools gehören chkdsk, ScanDisk, Apple Disk Utility fsckund andere.

Selbst bei ext4-Speicher, der in ein Android-Gerät integriert ist, sind regelmäßige Konsistenzprüfungen wahrscheinlich eine gute Idee. Die tune2fsHandbuchseite erklärt warum:

Defekte Laufwerke, Kabel, Speicher und Kernel-Fehler können ein Dateisystem beschädigen, ohne dass das Dateisystem als fehlerhaft oder fehlerhaft gekennzeichnet wird. Wenn Sie Journaling auf Ihrem Dateisystem verwenden, wird Ihr Dateisystem niemals als "dirty" markiert, also wird es normalerweise nicht überprüft. Ein vom Kernel erkannter Dateisystemfehler [kann] immer noch eine [Konsistenzprüfung] beim nächsten Neustart erzwingen, aber es kann zu diesem Zeitpunkt bereits zu spät sein, um einen Datenverlust zu verhindern.

(Beachten Sie, dass unter Android meiner Meinung nach ein vom Kernel erkannter Dateisystemfehler beim nächsten Neustart nicht zu einer Konsistenzprüfung führt. Android ist in dieser Hinsicht seltsam.)


Hintergrund, Teil 3: Folgendes tun andere Betriebssysteme.

Fenster

Windows Vista und alle späteren Versionen von Windows enthalten eine NTFS-Selbstreparaturfunktion . Kiran Bangalore schreibt daher , dass Windows-Benutzer heutzutage keine regelmäßigen Konsistenzprüfungen mehr durchführen müssen. Er erklärt, dass das Betriebssystem "Sie informieren wird, wenn ... eine Beschädigung gefunden wird".

Windows 10 Mobil

Windows 10 Mobile ist wahrscheinlich das drittbeliebteste Smartphone-Betriebssystem . Ich denke, es verwendet NTFS. Vielleicht kann es also auch NTFS-Selbstheilung durchführen.

OSX

Mac OS X wird fsck_hfs -pbei jedem Start ausgeführt . Ich weiß nicht, was das bewirkt. Siehe Handbuchseite .

Linux

Es stimmt, dass einige ext4-Entwickler sagen, dass regelmäßige ext4-Konsistenzprüfungen nicht besonders nützlich sind. Aber andere ext4-Entwickler sagen, dass diese Prüfungen die Sicherheit und Zuverlässigkeit verbessern.

In der Praxis führt Linux, wenn ein Dateisystem als fehlerhaft markiert ist, beim nächsten Neustart eine Konsistenzprüfung durch. Zu anderen Zeiten führen moderne Linux-Distributionen niemals automatische regelmäßige Konsistenzprüfungen durch. Wer möchte, muss diese Checks selbst einplanen.

Android

Stock Android enthält ein ext4-Tool zur Konsistenzprüfung . Außerdem enthält es ein Tool zur Konsistenzprüfung , das auf austauschbaren MicroSD-Karten mit 32 GB oder weniger funktioniert (aber größere Karten beschädigen kann). Schließlich kann Ihr Gerät auch oder enthalten fsck.exfatoder nicht exfatfsck, um Konsistenzprüfungen auf austauschbaren MicroSD-Karten mit 64 GB oder mehr durchzuführen.

Aber führt das Betriebssystem jemals eines dieser Tools automatisch aus?

iOS

Das iOS-Dateisystem ist normalerweise entweder HFSX oder APFS und fsckist im Betriebssystem enthalten . Ich weiß nicht, ob iOS jemals automatische Konsistenzprüfungen durchführt oder nicht.


Hier ist meine Frage.

Bitte berücksichtigen Sie die mit aktuellen Android-Geräten gelieferten Stock-ROMs.

Führen solche Standard-ROMs jemals regelmäßig Konsistenzprüfungen durch, entweder auf dem internen Speichergerät oder (falls zutreffend) auf der herausnehmbaren MicroSD-Karte?

(PS In Fällen, in denen ein Gerät ordnungsgemäß heruntergefahren wird und noch genügend Batterieladung übrig ist, ist es möglich , eine Konsistenzprüfung beim Herunterfahren statt beim Start durchzuführen. Es erfordert jedoch einige technische Anstrengungen, um eine solche Funktionalität zu implementieren, und daher tun Betriebssystementwickler dies normalerweise nicht Ich frage mich, was Android macht.)

(PPS Ich frage mich auch, ob es Smartphones gibt, auf denen irgendein Betriebssystem läuft , die routinemäßige regelmäßige Konsistenzprüfungen durchführen . Bitte posten Sie auch hier unten Kommentare.)

Antworten (1)

Noch nicht veröffentlichte Android-Versionen

Es wurden kürzlich einige Verbesserungen am Android-Quellcode vorgenommen.

Die nächste Wartungsversion von Standard-Android wird entweder 7.2 oder 8.0 sein. In einigen zukünftigen Versionen von Standard-Android – entweder dieser Wartungsversion oder einer späteren Version – führt Android den Befehl fsck -f -y bei jedem normalen Herunterfahren aus . Dieser Befehl erzwingt auf jeden Fall eine Konsistenzprüfung des internen Speichers. (Basierend auf dieser Quelle und dieser Quelle .)

Hurra! In Anbetracht der Tatsache, dass so wenige Android-Benutzer jemals vollständige Backups durchführen (z. B. Nandroid-Backups), denke ich, dass dies eine nützliche Erweiterung sein kann.

Leider kenne ich immer noch keine Beweise dafür, dass Android jemals eine herausnehmbare MicroSD-Karte überprüft.

Die obige Antwort bezieht sich auf Standard-Android. Dennoch danke ich dem CyanogenMod-Team und dem LineageOS-Team dafür, dass sie mir indirekt geholfen haben, die oben genannten Informationen zu entdecken.

Selbst Kontrollen durchführen

Die obigen Absätze beziehen sich auf Versionen von Android, die noch nicht veröffentlicht wurden.

Wenn Sie eine frühere Version von Android verwenden, können Sie eine Konsistenzprüfung des internen Dateisystems manuell durchführen, wenn Sie dies wünschen. Sie müssen das Dateisystem zuerst aushängen, also müssen Sie sich im Wiederherstellungsmodus befinden. Siehe hier .

Überprüfen Sie Ihre MicroSD-Karte

Wenn Sie eine herausnehmbare MicroSD-Karte haben, sollten Sie diese bei bestimmten Gelegenheiten und auch regelmäßig überprüfen. Wenn Sie weitere Informationen wünschen, lesen Sie bitte:

Hmm, welchen Einfluss wird dies auf die Geschwindigkeit beim Herunterfahren/Neustart haben?
Neustarts lösen keine Konsistenzprüfung aus. Das Herunterfahren dauert vielleicht 12 Sekunden länger. Die Gesamtzuverlässigkeit kann verbessert werden.
Gut zu wissen, aber als jemand, der monatlich flasht (und daher Nandroid macht), bin ich nicht ganz das Ziel dieser Änderung ...
Einverstanden. Ja, Backups sind wichtig. Um Tetsujin zu zitieren : „Alle Daten, die an weniger als drei verschiedenen Orten gespeichert sind, sollten als temporär betrachtet werden. Je wichtiger die Daten, desto wichtiger die Vielzahl von Backups.“