Jak interpretować dane wyjściowe badblocks


43

Strony podręcznika dla złych bloków nie wspominają, co oznaczają w szczególności trzy liczby w danych wyjściowych:

Przekazanie zakończone, znaleziono 7 błędnych bloków (błędy 7/0/0)
Przekazanie zakończone, znaleziono 120 uszkodzonych bloków (błędy 0/0/120)

Jestem zgadywania , że to „błędy podczas odczytu / zapisu / porównania”. Czy ktoś może mnie oświecić?

Odpowiedzi:


45

Twoje domysły są poprawne.

Kod źródłowy wygląda następująco:

if (v_flag)
    fprintf(stderr,
            _("Pass completed, %u bad blocks found. (%d/%d/%d errors)\n"),
            bb_count, num_read_errors, num_write_errors, num_corruption_errors);

Więc jego błędy odczytu / zapisu / uszkodzenia. A korupcja oznacza porównanie z wcześniej zapisanymi danymi:

if (t_flag) {
    /* test the comparison between all the
       blocks successfully read  */
    int i;
    for (i = 0; i < got; ++i)
        if (memcmp (blkbuf+i*block_size,
            blkbuf+blocks_at_once*block_size,
            block_size))
            bb_count += bb_output(currently_testing + i, CORRUPTION_ERROR);
}

Doskonały. Patrząc na to w źródle, jedna rzecz powinna była mi się przydarzyć, ale jakoś tak nie było. Dzięki. :)
Tomalak,

Oczywiście jest to również powód, dla którego w tym (0/0/120 errors)przypadku nie ma komunikatów o błędach jądra .
Tomalak,

Możliwą przyczyną błędów uszkodzenia jest to, że coś innego zapisało się na dysku podczas badblocksdziałania, w którym to przypadku nie byłby to żaden błąd (inny niż błąd użytkownika).
frostschutz

W tym przypadku jest to podejrzany dysk, którego używam wyłącznie ze złymi blokami. Żaden inny proces do tego nie pisze. Czy istnieje sposób na wizualizację pliku wyjściowego z listą uszkodzonych sektorów, bez ręcznego obliczania ich pozycji?
Tomalak

-8

Źle. Jeśli badblocks mówi coś , co nie jest „nie znaleziono błędów”, oznacza to:

  • Wyłącz urządzenie natychmiast
  • Uzyskaj dysk zastępczy
  • Módlcie się do $ GOD_OF_BACKUPS ważne dane są bezpieczne
  • Zrób wszystko, co konieczne, aby skonfigurować nowy dysk i skopiuj dane ze starego

Możesz opcjonalnie zatrzymać dysk dla rozrywki lub jako przycisk do papieru.

(Dyski Nowoczesne posiada zestaw dodatkowych cylindrów za manipulowanie uszkodzonych bloków, ponieważ nie ma sposobu, aby producenci dysków bez nich, a użytkownicy krzyknęła cholery, gdy zobaczyli listę złych bloków. W przypadku uszkodzonych bloków nie pojawi się, oznacza to, że przestrzeń jest zużyty. Ponieważ typowe tryby awarii obracających się dysków dają wykładniczo rosnącą liczbę złych bloków, widząc pewne środki, że na dysku zwykle pozostało kilka godzin.)


10
To nie było nawet pytanie.
Tomalak,

1
Nigdy nie uruchamiaj badblocksna dysku, na którym znajdują się ważne dane. Jeśli na dysku wystąpił błąd, badblocksmoże spowodować dodatkowe uszkodzenie, nawet w trybie nieniszczącym, jeśli nie może zapisać oryginalnych danych z powodu błędu.
frostschutz

@frostschutz, -nTest ma być tylko do odczytu?
vonbrand,

3
Nie, -nto nieniszczące pisanie. Więc pisze, ale przywraca oryginalne dane po przetestowaniu. Co może się nie powieść z powodu błędów. Tylko do odczytu badblocks, uważam, że w ogóle nie korzystasz z żadnej opcji.
frostschutz

Niezła rada, ale nie pasuje do pytania. Na tej podstawie mogłeś udzielić odpowiedzi w stylu pytań i odpowiedzi.
neverMind9
Korzystając z naszej strony potwierdzasz, że przeczytałeś(-aś) i rozumiesz nasze zasady używania plików cookie i zasady ochrony prywatności.
Licensed under cc by-sa 3.0 with attribution required.