Ich arbeite mit einem lüfterlosen PC (tatsächlich hunderte), der Debian 6 und 3 Partitionen (FAT und 2x ext2) hat. Das System verfügt nicht über einen Netzschalter, daher ziehen die meisten Benutzer eher den Netzstecker, um ihn herunterzufahren, als Init 0 (oder einen gleichwertigen Wert). Infolgedessen bauen die Dateisysteme ziemlich schnell Fehler auf.
Ich habe versucht, 'shutdown -rF' zu verwenden, um fsck zu erzwingen, aber das scheint nicht zu funktionieren. Ich frage mich, ob es eine Möglichkeit gibt, das System anzuweisen, jeden Mount-Punkt / FS zu überprüfen, bevor sie gemountet werden.
Ich habe versucht, den fsck-Parameter in / etc / fstab zu setzen. Dadurch erhalte ich normalerweise die Meldung "Fehler gefunden". Führe fsck manuell aus.
Gibt es andere Möglichkeiten, es zu versuchen?
Antworten:
Befindet
/etc/init.d/checkfs.sh
sich die Zeile inif [ -f /forcefsck ] || grep -s -w -i "forcefsck" /proc/cmdline
, sollte das Bereitstellenforcefsck
in der Kernel-Befehlszeile oder das Generieren einer/forcefsck
Datei beim Herunterfahren beim nächsten Neustart ein Fsck verursachen.Um manuelle fsck-Läufe zu verhindern
fsck
, sollten Sie versuchen, Fehler mit der-y
Option automatisch zu beheben, indem Sieyes
im folgenden / etc / default / rcS-Eintrag das Kommentarzeichen " no" entfernen und auf "no" setzen. Nach der Bearbeitung sollte es so aussehen:Eine Option (forcefsck oder FSCKFIX) impliziert nicht die andere.
quelle
checkfs.sh
. In beiden Fällen wurde fsck beim Neustart nicht ausgeführt (über init 6). Ich muss hier etwas vermissen.checkfs.sh
, bearbeiten Sie nur / etc / defaults / rcS und führen Sie estouch /forcefsck
vor dem Neustart aus. Der letzte Befehl muss vor jedem Neustart oder direkt nach dem Booten ausgeführt werden, aber das fsck-Init-Skript ist fertig.Ich bearbeite meine Antwort:
Der Befehl lautet:
laut manpages zählt das Argument -c für tune2fs die Anzahl der Mount-Instanzen für eine Partition. Daher zwingt 1 dazu, das fs nach jeder Montageinstanz zu überprüfen.
( http://man7.org/linux/man-pages/man8/tune2fs.8.html )
quelle
Fügen Sie den
fsck.mode=force
Kernel-Parameter in Ihrem Bootloader hinzu. Hängen Sie diese Option an dieGRUB_CMDLINE_LINUX_DEFAULT=
Variable an/etc/default/grub
. Generieren Sie als Root eine neue Grub-Konfigurationsdatei:[root@host]# grub-mkconfig -o /boot/grub/grub.cfg
Dieser Parameter hat den gleichen Effekt wie das Erstellen der
forcefsck
Datei im Stammverzeichnis des Einhängepunkts.Die Lösung, das
checkfs.sh
Skript zu verwenden, wird besser zu Debian passen, sollte aber nicht auf anderen Distributionen funktionierenquelle