Saya menduga mungkin ada bad sector pada disk. Saya menggunakan sistem file ext3.
Alat apa yang setara dengan alat pemeriksa kesalahan Windows?
Saya menduga mungkin ada bad sector pada disk. Saya menggunakan sistem file ext3.
Alat apa yang setara dengan alat pemeriksa kesalahan Windows?
Jawaban:
Untuk memeriksa bad sector periksa data SMART, mungkin yang terbaik dapat diakses dengan meluncurkan utilitas Disk ( Palimpsest ). Bahkan jika Anda tidak melihat hambatan buruk di sana, luncurkan swa-uji untuk memastikannya.
Program ini dibundel dalam gnome-disk-utility
paket. Larigksudo gnome-disks
Atau dalam versi Ubuntu 16.04 (3.18):
Anda juga bisa menggunakan badblocks
sudo badblocks -sv /dev/sda
untuk hanya memeriksa, atau untuk memeriksa dan memperbaiki, pertama-tama tulis hasilnya ke file sementara:
sudo badblocks -sv /dev/sda > bad-blocks-result
sudo fsck -t ext4 -l bad-blocks-result /dev/sda1
akan memeriksa seluruh disk dan mencetak semua blok buruk yang ditemukan di / dev / sda .
Dari badblocks
manual:
Catatan penting: Jika output badblock akan diumpankan ke program e2fsck atau mke2fs, penting bahwa ukuran blok ditentukan dengan benar, karena nomor blok yang dihasilkan sangat tergantung pada ukuran blok yang digunakan oleh sistem file. . Untuk alasan ini, sangat disarankan agar pengguna tidak menjalankan badblock secara langsung, melainkan menggunakan opsi -c dari program e2fsck dan mke2fs.
fsck
fsck
itu sendiri tidak akan membantu Anda menemukan sektor buruk, lebih buruk lagi, jika ada banyak sektor buruk itu dapat merusak data Anda lebih banyak lagi. Gunakan hanya saat disk sehat.
Sepanjang jawaban ini saya akan menganggap, bahwa drive penyimpanan muncul sebagai perangkat blok di jalan /dev/sdc
. Untuk menemukan jalur drive penyimpanan di pengaturan kami saat ini, gunakan:
palimpsest
), jika GUI tersedia, ataulsblk
dan ls -l /dev/disk/by-id
coba temukan perangkat yang tepat berdasarkan ukuran, partisi, nama pabrikan dan model.Terkadang media penyimpanan tidak mau bekerja sama sekali. Itu masih muncul sebagai perangkat blok ke kernel dan di manajer disk, tetapi sektor pertama memegang tabel partisi tidak dapat dibaca. Ini dapat diverifikasi dengan mudah dengan:
sudo dd if=/dev/sdc of=/dev/null count=1
Jika perintah ini menghasilkan pesan tentang "Kesalahan input / output", drive kami rusak atau gagal berinteraksi dengan kernel Linux seperti yang diharapkan. Dalam kasus sebelumnya, dengan sedikit keberuntungan, spesialis pemulihan data dengan lab yang dilengkapi dengan tepat dapat menyelamatkan kontennya. Dalam kasus terakhir, sistem operasi yang berbeda patut dicoba. (Saya telah menemukan drive USB yang bekerja pada Windows tanpa driver khusus, tetapi tidak pada Linux atau OS X.)
Perangkat yang mendukungnya, dapat ditanyai tentang kesehatannya melalui SMART atau diperintahkan untuk melakukan tes mandiri integritas dengan ketelitian yang berbeda. Ini umumnya pilihan terbaik, tetapi biasanya hanya tersedia pada hard disk (non-kuno) dan solid state drive. Sebagian besar media flash yang dapat dilepas tidak mendukungnya.
Sumber dan instruksi lebih lanjut:
Untuk menguji integritas baca seluruh perangkat tanpa menulisnya, kita dapat menggunakan badblocks(8)
seperti ini:
sudo badblocks -b 4096 -c 4096 -s /dev/sdc
Operasi ini dapat memakan banyak waktu, terutama jika drive penyimpanan sebenarnya rusak. Jika jumlah kesalahan naik di atas nol, kita akan tahu bahwa ada blok buruk. Kami dapat membatalkan operasi dengan aman kapan saja (bahkan dengan paksa seperti saat listrik mati), jika kami tidak tertarik dengan jumlah pasti (dan mungkin lokasi) blok-blok buruk. Dimungkinkan untuk membatalkan secara otomatis karena kesalahan dengan opsi -e 1
.
Catatan untuk penggunaan lanjutan: jika kita ingin menggunakan kembali output untuk e2fsck
, kita perlu mengatur ukuran blok ( -b
) ke sistem file yang ada. Kami juga dapat mengubah jumlah data ( -c
, dalam blok) yang diuji sekaligus untuk meningkatkan throughput; 16 MiB seharusnya baik-baik saja untuk sebagian besar perangkat.
Terkadang - terutama dengan media flash - kesalahan hanya terjadi ketika mencoba menulis. (Ini tidak akan dengan andal menemukan media (flash), yang mengiklankan ukuran yang lebih besar, daripada yang sebenarnya mereka miliki; gunakan Fight Flash Fraud sebagai gantinya.)
JANGAN PERNAH menggunakan ini pada drive dengan sistem file yang terpasang ! badblocks
toh menolak untuk mengoperasikannya, kecuali jika Anda memaksanya.
Jangan hentikan operasi ini dengan paksa ! Ctrl+ C(SIGINT / SIGTERM) dan menunggu pemutusan prematur yang anggun tidak masalah, tetapi killall -9 badblocks
(SIGKILL) tidak. Setelah pemutusan paksa badblocks
tidak dapat mengembalikan konten asli dari rentang blok yang saat ini diuji dan akan meninggalkannya ditimpa dengan data sampah dan mungkin merusak sistem file.
Untuk menggunakan pemeriksaan baca-tulis yang tidak merusak, tambahkan -n
opsi ke badblocks
perintah di atas .
Seperti di atas, tetapi tanpa mengembalikan konten drive sebelumnya setelah melakukan tes tulis, oleh karena itu sedikit lebih cepat. Karena data tetap terhapus, pemutusan paksa tetap tanpa konsekuensi negatif (tambahan).
Untuk menggunakan pemeriksaan baca-tulis yang merusak, tambahkan -w
opsi ke badblocks
perintah di atas .
fsck - periksa dan perbaiki sistem file Linux. Gunakan itu
fsck /dev/sda1
di mana / dev / sda1 adalah drive yang ingin Anda periksa. Lihat 'man fsck' untuk lebih jelasnya.
Ada juga perintah 'badblocks' yang memeriksa perangkat untuk, Anda dapat menebaknya, blok buruk.
Drive harus dilepas ketika dicentang, jadi untuk memeriksa partisi root Anda perlu membuat file 'forcefsck' di root partisi dan reboot. Perangkat akan diperiksa pada boot berikutnya:
sudo touch /forcefsck
sudo reboot
Atau, Anda dapat mem-boot dari Live CD dan menjalankan pemeriksaan dari sana.
sudo dumpe2fs -b /dev/sda9
. Tapi saya pikir lebih baik jika disk menangani sektor yang rusak, bukan filesystem (SMART, badblocks dll, lihat posting saya).
Anda dapat memeriksa badblock yang menjalankan perintah
sudo badblocks -nsv /dev/[device-partition] > bad-blocks-result
untuk ujian baca-tulis yang tidak merusak. Itu akan menghasilkan file yang disebut bad-blocks-result
dengan sektor yang rusak.
-n Gunakan mode baca-tulis yang tidak merusak. Secara default hanya tes baca-saja yang tidak merusak yang dilakukan.
-s Tunjukkan progres pemindaian dengan menuliskan persentase penyelesaian kasar dari badblocks saat ini melewati disk.
-v modus Verbose.
sudo fsck -t ext3 -l bad-blocks-result /dev/[device-partition]
untuk memberi tahu sistem file di mana sektor buruk berada dan memindahkan data darinya, jika memungkinkan.Anda dapat menemukan lebih banyak bacaan di sini .
fsck
perintah gagal dengan btrfs
sistem berkas.
IMO smartctl adalah alat yang lebih baik. Anda mungkin harus menginstalnya terlebih dahulu
sudo apt-get install smartmontools
Kemudian
sudo smartctl -a /dev/sda | less
untuk mencetak data kesehatan drive, atribut, dan hasil tes yang tersedia. Untuk berhenti lebih sedikit, ketik q
. kalau tidak
sudo smartctl -H /dev/sda
untuk hanya mencetak data kesehatan.
Untuk memulai tes mandiri baru yang singkat (beberapa menit) atau panjang (hingga berjam-jam) di latar belakang:
sudo smartctl -t [short|long]
GSsmartControl ( beranda ) dan Gnome Disks adalah ujung depan grafis jika Anda mau.
smartctl
dilaporkan: "Jembatan USB tidak dikenal", "Silakan tentukan jenis perangkat dengan opsi -d". Saya menemukan data yang saya butuhkan di: smartmontools.org/wiki/Supported_USB-Devices .
F3 (Fight Flash Fraud) adalah pilihan lain yang juga harus mendeteksi flash drive palsu (flash drive yang kapasitas sebenarnya adalah sebagian kecil dari kapasitas yang diiklankan):
Instal F3
sudo apt install f3
Masukkan drive Anda
Tulis data uji ke ruang kosong di drive (periksa di mana drive Anda dipasang dengan lsblk
)
f3write /media/$USER/D871-DD7C/
Baca data tes
f3read /media/$USER/D871-DD7C/
Referensi:
Badblock berfungsi dengan baik tetapi tidak dirancang untuk mendeteksi flash drive palsu dan mungkin tidak melaporkan kesalahan apa pun untuk mereka .
badblocks
dengan -w
atau dengan fsck
sektor tanda sebagai buruk / rusak sehingga tidak digunakan. f3 dapat mengembalikan sesuatu seperti Corrupted: 16.01 MB (32784 sectors)
, tetapi apakah menandainya sebagai bad sector? Atau kita masih membutuhkan badblock untuk itu? Saya mencoba dengandumpe2fs -b
dan tampaknya id tidak menandai.
Anda dapat menguji-baca seluruh disk, sambil menampilkan indikator progres:
time sudo pv /dev/sdc >/dev/null
Masalah disk tertentu akan bermanifestasi sebagai kesalahan I / O yang dilaporkan. Ini sedikit lebih bagus daripada dd
karena indikator kemajuan dan karena antarmuka baris perintah sedikit lebih standar dan sedikit lebih rentan terhadap kesalahan ketik . Perhatikan bahwa pv
pada dasarnya dan versi yang ditingkatkan cat
. Ini mungkin tidak diinstal secara default, tetapi dapat diinstal dengan sudo apt-get install pv
.
Pendekatan serupa adalah membaca disk dengan salah satu dari beberapa alat yang tersedia yang secara khusus mengetahui kesalahan disk I / O - dan memiliki fitur "berusaha keras untuk menyelamatkan data". Cari ddrescue
di manajer paket.
dd count=1
juga cukup cepat kecuali media penyimpanan benar-benar rusak (atau tidak didukung).
ddrescueview
dd
memiliki indikator kemajuan dengan status=progress
.
Jika Anda memiliki partisi yang TIDAK BISA DIKOSONGKAN, ikuti langkah-langkah ini
$fdisk -l commnd
Mari kita asumsikan bahwa partisi yang akan diperiksa disebut / dev / sdPTC (partisi untuk memeriksa) dan Anda memiliki partisi lain untuk menyimpan hasil yang dipasang di / scan / resultPath / folder
2. Kemudian Anda dapat menjalankan perintah ini
$sudo badblocks -v /dev/sdPTC > /scan/resultPath/badsectors.txt
yang akan menentukan apa saja blok buruk dari perangkat yang diberikan dan menyimpannya pada file yang disebut badsectors.txt
fsck
perintah untuk memberi tahu Ubuntu agar tidak menggunakan bad sector yang disebutkan dalam file badsectors.txt.$sudo fsck -l /scan_result/badsectors.txt /dev/sda
Dengan begitu umur hard disk meningkat sedikit hingga Anda mendapatkan yang baru untuk penggantian.
Jika Anda memiliki partisi lengkap yang ingin Anda periksa untuk sektor fisik yang buruk dan Anda DAPAT MENURUNKAN SEMUA DATA pada partisi itu atau KOSONG, ikuti langkah-langkah ini
$sudo apt-get install gnome-disk-utility
$sudo gnome-disks
Periksa dan periksa kembali bahwa tidak ada data penting pada partisi itu
Menggunakan gnome-disks
DELETE / REMOVE partisi dengan tangan menggunakan tanda "-"
Menggunakan gnome-disks
BUAT partisi baru dan pilih opsi "lambat" yang akan memeriksa ruang yang diberikan untuk kesalahan
bionic beaver
menangani pemeriksaan disk secara berbeda?