Was passiert, wenn ich fsck auf / dev / sda anstelle von / dev / sda1 ausführe?

8

Wenn ich fsckin der Vergangenheit ausgeführt habe, habe ich es immer auf einer meiner Meinung nach Dateisystempartition ausgeführt, d. H. fsck -yf /dev/sdaNEin Freund von mir ist kürzlich fsckauf seiner brandneuen Festplatte gelaufen und hat eine Reihe von Fehlern bei der Verwendung gemeldet fsck -yf /dev/sda. Ich bin gespannt, was ist der Unterschied zwischen der Ausführung fsckauf der gesamten Festplatte ( /dev/sda) und der Ausführung auf nur einer Partition ( /dev/sda1)?

dinkelk
quelle
Sie sollten eine Art "nutzlose Nachricht" wie "/ dev / sda wird verwendet" wie diesen Typ erhalten: askubuntu.com/questions/239316/dev-sda-is-in-use-from-livecd
@nwildner Das war in diesem Fall nicht das Ergebnis. Es scheint, als würde /dev/sdaes wirklich nicht verwendet, da sich mein Freund in einer Art Wiederherstellungs-Shell befand, die sich selbst zur Verfügung stellte, bevor das Laufwerk montiert wurde.
Dinkelk
Es sollte aufhören, da es überhaupt keine fs erkennt, da es nicht dazu gedacht ist, Partitionstabellen zu untersuchen.
Bot47

Antworten:

6

Wenn fsck ausgeführt wird, sollte zuerst versucht werden, den Superblock eines Dateisystems zu finden, um die Struktur des Dateisystems zu durchlaufen und ihn zu validieren. Da das /dev/sdaGerät dem gesamten Laufwerk entspricht, enthält der erste Teil der Festplatte wahrscheinlich die Partitionstabelle oder den Master Boot Record und fsckkann den Superblock für ein unterstütztes Dateisystem nicht finden (es sei denn, Sie erhalten etwas, das irgendwie mit einer magischen Zahl für a übereinstimmt bekanntes Dateisystem). Ich würde erwarten, dass es irrtümlich beendet wird oder eine ungenaue Ausgabe liefert (wie Ihr Freund erfahren hat). Dieses Experiment habe ich jedoch noch nicht selbst durchgeführt.

zje
quelle
5

Es funktioniert nicht, wenn das Dateisystem in einer Partition installiert wurde (z sda1. B. ).

fsckund seine Brüder sind Werkzeuge zum Durchführen von Wartungsarbeiten auf Dateisysteme (daher der Name: f ile s ystem c chec k ), nicht von Blockgeräten.

Es ist theoretisch möglich, ein Dateisystem über so etwas direkt auf ein Blockgerät zu stellen mke2fs -j /dev/sda, aber das ist eine sehr, sehr schlechte Praxis. Aber wenn Sie dies tun, würde das Dateisystem dann direkt weiterleben sda, und dann fsckwürden Sie tatsächlich nur fsckauf das Gerät zeigen. Tu das nicht . Partitionstabellen gibt es nicht ohne Grund, und es geht nicht nur darum, einen nominellen Platz für ein Inhaltsverzeichnis einzunehmen.

DopeGhoti
quelle
1

Wenn das Gerät ein unterstütztes Dateisystem enthält, sollte fsck funktionieren. Das Gerät kann eine ganze Festplatte wie / dev / sda oder eine Partition oder eine Flopy-Disk (wie erinnert sich jemand daran?) Wie / dev / fd0 oder sogar eine Datei auf einer anderen Festplatte wie ~ / hdimage.img sein . Bei Diskettenlaufwerken wird normalerweise das gesamte Laufwerk verwendet, sodass kein Grund zur Partitionierung besteht. Daher wird das Dateisystem unter / dev / fd0 erstellt. Herkömmlicherweise werden Festplatten in Partitionen unterteilt und Dateisysteme in die Partitionen eingebaut. Wenn Sie jedoch das gesamte Laufwerk als eine Partition verwenden möchten und nicht von dort booten müssen, können Sie ein Dateisystem direkt auf dem Gerät (mke2fs / dev / sdb) erstellen, es bereitstellen und viele Dateien darauf kopieren. dann sollte fsck / dev / sdb funktionieren. Dies wurde als "Superfloppy" -Konfiguration bezeichnet. Ich denke, die alten iomega 100MB-Festplatten wurden normalerweise auch so formatiert. Eine Festplatte muss nicht einmal über ein Dateisystem verfügen - sie kann eine einzelne Datei enthalten. Ich mache oft TAR-Dateien in der richtigen Größe, um auf eine DVD zu passen, brenne sie auf die Festplatte. Die Festplatte kann dann nicht gemountet werden, aber tar -xvf some / where / myfile / dev / sr0 extrahiert myfile von der Festplatte.

Ed Berry
quelle
Wenn Sie sich das vorstellen, ist es möglicherweise möglich, eine Superfloppy bootfähig zu machen, genauso wie es Diskettenlaufwerke sind.
Ed Berry