Pemeriksaan fisik HD penuh

17

Saya ingin menjalankan pemeriksaan fisik penuh, sektor per sektor, pada beberapa hard drive eksternal. Sejauh yang saya tahu, chkdsktidak menyediakan opsi ini.

Apakah ada solusi di bawah chkdsk, atau pengganti yang baik? Saya menggunakan Windows 7 pada mesin ini, tetapi solusi Linux yang berlaku dari live CD juga diterima.

Terima kasih,

Adam Matan

Adam Matan
sumber
OS apa yang Anda jalankan? Karena Anda menyebutkan chkdsk, saya berasumsi itu Windows NT, XP, Vista, 7, Server 2003, atau Server 2008.
rob

Jawaban:

28

Pada Windows NT / XP / Vista / 7, Anda dapat membuka prompt CMD dan menggunakannya

chkdsk /r x:

di mana x adalah huruf drive dari drive USB Anda, dengan asumsi drive dipartisi dan memiliki huruf drive yang ditetapkan untuk itu.

Saya menyarankan untuk mendapatkan CD live Ubuntu dan mem-boot ke Linux, kemudian menggunakan badblock untuk memindai cacat fisik.

Gunakan sudo fdisk -luntuk mendaftar semua drive dan partisinya. Untuk setiap drive :

sudo badblocks -nvs /dev/sdx

di mana hard drive Anda adalah / dev / sdx. Ini akan melakukan tes baca / tulis yang tidak merusak pada disk tanpa melakukan pemeriksaan filesystem.

Jika Anda tidak peduli dengan data, Anda bisa melakukan ini, untuk melakukan pemindaian yang lebih menyeluruh:

sudo badblocks -wvs /dev/sdx

Opsi -w memberitahu badblock untuk menulis pola yang diketahui, kemudian membaca kembali data untuk memastikan itu cocok dengan pola. Ini dilakukan 4 kali, menggunakan pola 0xaa, 0x55, 0xff, dan 0x00 (bergantian 0 dan 1, lalu semua 1, lalu semua 0). Perhatikan bahwa ini akan menimpa semua data pada drive dan menghapus semua partisi juga.

Jika Anda memiliki sistem file Linux di drive, Anda dapat memeriksa kesalahan sistem file dan menjalankan badblock secara bersamaan. Pertama, dapatkan daftar semua drive dan partisi mereka:

sudo fdisk -l

Kemudian untuk setiap partisi :

sudo e2fsck -fcc /dev/sdx#

Sekali lagi, / dev / sdx adalah hard drive yang ingin Anda pindai. # adalah nomor partisi (mis., / dev / sdb1). Menentukan c dua kali akan memaksa fsck untuk menjalankan, dan akan menggunakan badblock untuk melakukan tes baca-tulis yang tidak merusak. Jika Anda hanya menggunakan opsi c sekali, badblock akan melakukan tes read-only.

Saya menjalankan badblocks -wvs pada setiap hard drive baru yang saya beli sebelum memasangnya.

rampok
sumber
1
Saya tidak berpikir chkdsk / r benar-benar memindai setiap blok ... ini berjalan jauh lebih cepat daripada yang saya harapkan untuk sesuatu yang membaca setiap blok. Mungkin ingin mencatat opsi tes non-destruktif dari badblock, jika dia sudah memiliki data pada disk.
davr
@ davr: Terima kasih; Saya sudah menyebutkan tes badblocks non-destruktif dalam perintah fsck, tapi saya telah menambahkan badblocks eksplisit -vs untuk menyeluruh. chkdsk / r memeriksa blok buruk dan membutuhkan waktu cukup lama ketika saya menjalankannya, tetapi mungkin tidak selengkap badblocks -w. Apakah Anda yakin tidak memikirkan chkdsk / f atau chkdsk / p, yang hanya akan memperbaiki kesalahan sistem file tetapi tidak akan memindai blok yang buruk?
merampok
@ davr: Saya memikirkan satu hal ... chkdsk mungkin tidak memeriksa catatan boot atau tabel partisi. Karena hanya mengambil nama volume (yaitu, huruf drive, titik mount, atau nama volume) sebagai argumen, itu menunjukkan Anda hanya dapat memeriksa volume logis untuk kesalahan media, dan segala sesuatu di luar volume (partisi) yang ditentukan diabaikan. Tapi itu seharusnya tidak membuat banyak perbedaan dalam hal kecepatan pemindaian. Itukah yang kamu bicarakan?
merampok
1
Penggunaan fsck oleh Anda sebenarnya adalah referensi ke e2fsck. Stock fsck tidak termasuk -carg baris perintah. Selain itu, jawaban yang bagus.
DaveParillo
Benar, Dave. Terima kasih; Saya telah memindahkan instruksi badblock di depan sejak dia menjalankan Windows, tetapi memperbaiki instruksi e2fsck dan memindahkannya ke akhir untuk siapa saja yang menjalankan ini dan menjalankan Linux.
merampok
5

Saya ingin menjalankan pemeriksaan fisik penuh sektor per sektor pada beberapa hard drive eksternal.

Unduh dan jalankan HD Tune , pilih drive yang ingin Anda pindai dari menu drop down, klik tab Error Scan (pastikan kotak Quick Scan jelas) dan tekan Start .

masukkan deskripsi gambar di sini

HD Tune gratis untuk penggunaan pribadi dan portabel (tidak diperlukan instalasi).

Taji
sumber
1
Freeware ?? Uji coba 15 hari! Hanya HD Tune yang freeware.
Loren Pechtel
permintaan maaf, edit pos ... tidak membuat banyak perbedaan karena fitur yang saya maksudkan tersedia dalam versi gratis, seperti yang Anda tahu dari tangkapan layar.
1

Banyak produsen drive seperti Western Digital dan Seagate menyediakan alat yang akan melakukan pemeriksaan semacam ini. Biasanya alat Windows.

Dave M
sumber
Sejauh yang saya tahu, ini hanya menjalankan swa-uji SMART, yang bukan pemindaian drive penuh.
endolith
endolith- Tes dari WD semm melampaui SMART. Unduh gratis, jadi cobalah jika Anda memiliki drive WD
Dave M.
1

Di Windows, saya akan menggunakan versi HDTune gratis untuk memindai sektor buruk. Namun, program Linux BadBlocks jauh lebih baik, memberi Anda daftar yang tepat dari setiap blok buruk, dan mendukung pemeriksaan baca dan tulis (meskipun menulis merusak).

Dentrasi
sumber
2
badblock juga memiliki tes tulis yang tidak merusak. membaca blok, menulis nilai baru, memeriksa nilai baru, lalu menulis blok asli kembali. sehingga tidak akan menghancurkan data yang valid pada disk. Kelemahannya adalah operasi ekstra membuatnya berjalan jauh lebih lambat.
davr
1

Setiap drive modern akan secara otomatis memetakan ulang blok yang tidak dapat dibaca / rapuh. Suatu OS biasanya tidak akan mendapatkan kegagalan baca untuk suatu blok kecuali jika blok tersebut benar - benar tidak dapat dibaca, dan menulis di atas blok itu akan menyebabkan drive untuk memetakannya kembali. Itu hanya akan gagal jika drive keluar dari blok cadangan, dalam hal ini saatnya untuk mengganti drive!

Hasilnya adalah bahwa OS yang menandai "blok buruk" dengan gaya scandisk biasanya tidak ada gunanya.

Dengan itu, saya akan menggunakan tes mandiri diperpanjang SMART. smartmontools harus bekerja. Anda juga bisa mendapatkan jumlah blok yang dipetakan ulang.

Perhatikan bahwa di linux, perangkat biasa dd if=/dev/sdx of=/dev/null, di mana sdx adalah perangkat blok disk, akan melakukan pembacaan logis penuh disk. Jika ada blok yang tidak dapat dibaca Anda akan mendapatkan kesalahan. Jika Anda tidak keberatan data clobbering Anda bisa dd if=/dev/zero of=/dev/sdxhanya menimpa seluruh disk, menyebabkan drive untuk memetakan ulang yang diperlukan.

Kapten Segfault
sumber
1
Daripada menggunakan 'dd', lebih baik menggunakan perintah linux 'badblocks', yang dirancang khusus untuk tugas ini.
davr
1
Maksud saya adalah bahwa "tugas ini" sama usang dengan konsep "blok buruk".
Kapten Segfault
Hard drive tidak memperbaiki blok buruk sampai Anda menulis kepada mereka. Salah satu cara yang baik untuk menulis kepada mereka adalah menggunakan badblock dalam mode non-destruktif. : D
endolith
Saya berharap ini benar. Anda mengacaukan disk internal dengan disk eksternal USB. Penutup drive USB memerlukan firmware yang lebih baik dengan pelaporan SMART, yang sebagian besar kekurangan.
Nicolay77
@endolith Beberapa hard drive melakukan relokasi blok suspicios setelah membaca juga. Setidaknya beberapa HDD-s perusahaan.
Roland Pihlakas
-1

Saya tidak pernah terlalu tertarik pada drive eksternal USB, karena mereka tidak benar-benar ada ketika beberapa alat terbaik seperti ScanDisk ditulis. Saya terutama menyukai versi ScanDisk yang datang dengan Windows 98 SE.

Jadi, jika ini adalah drive eksternal, Anda mungkin harus memasukkannya ke komputer dan kemudian berjalan fsck -fdi drive dari Linux LiveCD seperti PLD Rescue CD .

sebelas81
sumber
1
ScanDisk sudah usang. fsck -f akan memaksa fsck untuk menjalankan, tetapi itu tidak akan melakukan tes media fisik.
merampok