GNU/Linux >> LINUX-Kenntnisse >  >> Linux

Gibt es eine Möglichkeit, Badblocks neu zu starten?

Ich habe diese großartige Antwort auf die Frage auf der allgemeinen Mailingliste der Atlanta Linux Enthusiasts gefunden:

Ich habe das endlich herausgefunden, nachdem ich lange nachgedacht und die Manpage etwa 10 Mal gelesen hatte. Ich dachte, ich würde es teilen, falls jemand anderes die Informationen braucht. Googeln hat nicht viel geholfen, da diese Einträge normalerweise nur die Manpage zitieren. Wenn die Manpage Last-Block First-Block sagt, will sie nicht, dass Sie diese WÖRTER eingeben, sondern eine ZAHL. Sie erwähnt, dass beide optional sind, aber ich kann nicht herausfinden, wie ich Last-Block weglassen kann, wenn ich ersten Block angeben möchten.

Angenommen, Sie haben Ihren Test ursprünglich bei Block 33000001 beendet. Ich würde den Test bei einem Block weniger neu starten, also bei 33000000.

Zunächst müssen Sie die letzte Blocknummer auf der Partition ermitteln. Ich habe zwei Möglichkeiten dafür gefunden.

  1. Sie können badblocks starten ohne Blocknummern. Es wird Ihnen den Blockbereich mitteilen, den es verarbeitet.

    Beispiel:sudo badblocks -sv /dev/sda3

    Und es sagt so etwas wie:

    Searching for badblocks in read only nondestructive mode from block to 66828373

    Notieren Sie sich diese Endblocknummer. Beenden Sie den Test mit CTRL-C und geben Sie dann den Befehl mit den gewünschten Blocknummern ein.

  2. Sie können den fdisk verwenden (oder ich denke auch sfdisk ) Befehl zum Auflisten von Partitionsinformationen. Eine der Informationsspalten ist # ofblocks. Finden Sie die Anzahl der Blöcke in der Partition, an der Sie interessiert sind, und SUBTRAHIEREN Sie 1, da die Blöcke bei 0 beginnend nummeriert sind.

    sudo fdisk -l /dev/sda (Diese Option ist ein kleines L. In diesem Fall geben Sie nicht die Partitionsnummer an, sondern nur die Festplattenbezeichnung.)

    Und es sagt so etwas wie:

    /dev/sda2 ... /dev/sda3 ... 66828374 /dev/sda4 ...

    Suchen Sie die gewünschte Partition, lesen Sie die Anzahl der Blöcke ab und subtrahieren Sie 1, um die letzte Blocknummer zu finden.

    Nun können Sie den badblocks eingeben Befehl wie folgt. Angenommen, Sie möchten in der Mitte der Partition bei Block 33000000 mit dem Testen beginnen. Dieses Beispiel gilt für den nicht destruktiven Lese-/Schreibmodus mit badblocks Liste in eine Textdatei. Wenn Sie von einer Live-CD booten, verlieren Sie diese Textdatei beim Neustart.

    sudo badblocks -nsv -o ~/Desktop/badblocks.txt /dev/sda3 66828373 33000000

    Dadurch wird von Block 33000000 bis zum Ende der Partition getestet. Wenn Sie 66828374 als letzten Block angeben, wie in fdisk angegeben , wird diese Blocknummer als fehlerhaft gemeldet, aber tatsächlich existiert diese Blocknummer nicht.

Ich hoffe, dass andere dies nützlich finden, da es mich eine Zeit lang wirklich verwirrt hat.

Mit freundlichen Grüßen

Ron


Es gibt eine Möglichkeit, anzugeben, ab welchem ​​Block badblocks beginnen soll und der letzte Block, (siehe man badblocks ):

badblocks [ -svwnfBX ] [ -b block-size ] [ -c blocks_at_once ] [ -e max_bad_blocks ] [ -d read_delay_factor ] [ -i input_file ] [ -o output_file ] [ -p num_passes ] [ -t test_pattern ] device [ last-block ] [ first-block ]


Linux
  1. Gibt es eine Möglichkeit, spaltenweise zu 'uniq'?

  2. Gibt es eine Möglichkeit, den aktuellen rpath unter Linux zu überprüfen?

  3. Gibt es eine Möglichkeit, von UTF8 nach ISO-8859-1 zu konvertieren?

  4. Gibt es eine Möglichkeit, eine NETCDF-Datei zuzuschneiden?

  5. Gibt es eine Möglichkeit, vim im schreibgeschützten Modus zu starten?

Gibt es eine Möglichkeit, ein Cargo-Projekt umzubenennen?

Wie erzwinge ich einen sauberen Neustart von Firefox?

Wie lernt man SELinux am besten?

Gibt es eine Möglichkeit, in `ps` nach mehreren Bedingungen auszuwählen?

Gibt es eine Möglichkeit, den Prozess zu hören?

Gibt es eine richtige Möglichkeit, Protokolle zu löschen?