Bagaimana menafsirkan output blokir

44

Halaman manual untuk badblock tampaknya tidak menyebutkan apa arti ketiga angka di output:

Lulus selesai, 7 blok buruk ditemukan (kesalahan 7/0/0)
Lulus selesai, 120 blok buruk ditemukan (0/0/120 kesalahan)

Saya menduga itu "Kesalahan saat membaca / menulis / membandingkan". Bisakah seseorang mencerahkan saya?

Tomalak
sumber

Jawaban:

46

Tebakan Anda benar.

Kode sumber terlihat seperti ini:

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);

Jadi kesalahan baca / tulis / korupsi. Dan korupsi berarti perbandingan dengan data yang ditulis sebelumnya:

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);
}
frostschutz
sumber
Sempurna. Mencari di sumber satu hal yang seharusnya terjadi pada saya, tetapi entah bagaimana tidak. Terima kasih. :)
Tomalak
Tentu saja itu juga alasan mengapa tidak ada pesan kesalahan kernel dalam (0/0/120 errors)kasus ini.
Tomalak
Kemungkinan penyebab kesalahan korupsi adalah bahwa ada sesuatu yang ditulis ke disk saat badblockssedang berjalan, dalam hal ini tidak akan menjadi kesalahan sama sekali (selain kesalahan pengguna).
frostschutz
Dalam hal ini adalah disk yang saya gunakan secara eksklusif dengan badblocks. Tidak ada proses lain yang menulis untuk itu. Apakah ada cara untuk memvisualisasikan file output dengan daftar bad sector, singkat menghitung posisi mereka secara manual?
Tomalak
-8

Salah. Jika badblock mengatakan sesuatu yang bukan "tidak ditemukan kesalahan", itu berarti:

  • Matikan mesin segera
  • Dapatkan disk pengganti
  • Berdoalah untuk $ GOD_OF_BACKUPS data penting aman
  • Lakukan apa pun yang diperlukan untuk mengatur disk baru, dan salin data dari yang lama

Anda dapat menyimpan disk untuk hiburan, atau sebagai penindih kertas.

(Disk modern memiliki satu set silinder ekstra untuk remapping blok buruk, karena tidak ada cara untuk memproduksi disk tanpa mereka, dan pengguna menjerit neraka berdarah ketika mereka melihat daftar blok buruk. Jika blok buruk yang muncul, itu berarti bahwa ruang itu digunakan. Karena mode kegagalan umum dari disk berputar memberikan jumlah blok buruk yang meningkat secara eksponensial, melihat beberapa berarti bahwa disk biasanya memiliki beberapa jam lagi.)

vonbrand
sumber
10
Itu bahkan bukan pertanyaan.
Tomalak
1
Jangan pernah jalankan badblocksdi disk yang memiliki data penting. Jika disk memiliki kesalahan, badblocksdapat menyebabkan kerusakan tambahan bahkan dalam mode tulis tidak rusak, jika tidak dapat menulis kembali data asli karena kesalahan.
frostschutz
@ frostschutz, -nTes ini seharusnya hanya baca?
vonbrand
3
Tidak, -nadalah tulisan yang tidak merusak. Jadi itu menulis, tetapi mengembalikan data asli setelah pengujian. Yang mungkin gagal karena kesalahan. Untuk dibaca saja badblocks, saya yakin Anda tidak menggunakan opsi sama sekali.
frostschutz
Bukan saran yang buruk, tetapi tidak sesuai dengan pertanyaan. Anda bisa membuat jawaban gaya Q&A darinya.
neverMind9