Bagaimana cara menjalankan checkdisk?

84

Saya menduga mungkin ada bad sector pada disk. Saya menggunakan sistem file ext3.

Alat apa yang setara dengan alat pemeriksa kesalahan Windows?

Guillaume Coté
sumber
@PabloBianchi: Pertanyaan itu memiliki cakupan yang persis sama. Saya menandai mereka untuk mod untuk menggabungkan mereka.
David Foerster

Jawaban:

101

Disk

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-utilitypaket. Larigksudo gnome-disks

SMART dari Palimpsest

Atau dalam versi Ubuntu 16.04 (3.18):

SMART dari Disk

Badblock

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 badblocksmanual:

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

fsckitu 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.

mengatur
sumber
1
Sebenarnya manual badblocks mencegah penggunaannya secara langsung dan mengarahkan pengguna ke e2fsck dengan opsi "-c" (hanya untuk cek read) atau "-cc" (untuk cek tulis baca).
mrówa
2
sebagai catatan, pada 13,04 Anda menjalankan palimpsest dengan hanya menjalankan "disk" dari menu ubuntu, namun ... Saya tidak melihat opsi untuk meluncurkan swa-uji (mungkin karena saya hanya punya satu drive, dan itu yang berjalan Ubuntu ...)
rogerdpack
2
@ mrówa manual hanya mengatakan untuk melakukan itu jika "output badblock akan diumpankan ke program e2fsck atau mke2fs"
Jon
1
Masukkan info yang ke daftar semua disk gunakan sudo fdisk -l
Kangarooo
2
ini sekarang disebut gnome-disk
endolith
74

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:

  • Gnome Disks Instal Gnome Disk (sebelumnya Gnome Disk Utility, alias palimpsest), jika GUI tersedia, atau
  • pada terminal, lihat output dari lsblkdan ls -l /dev/disk/by-idcoba temukan perangkat yang tepat berdasarkan ukuran, partisi, nama pabrikan dan model.

Pemeriksaan dasar

  • hanya mendeteksi media yang sama sekali tidak responsif
  • hampir seketika (kecuali medium diputar atau rusak)
  • aman
  • berfungsi pada media hanya baca (mis. CD, DVD, BluRay)

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

Swa-uji SMART

  • ketelitian disesuaikan
  • instan ke lambat atau lambat (tergantung pada ketelitian tes)
  • aman
  • memperingatkan tentang kemungkinan kegagalan dalam waktu dekat

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:

Cek hanya baca

  • hanya mendeteksi beberapa kesalahan media flash
  • cukup andal untuk hard disk
  • lambat
  • aman
  • berfungsi pada media hanya baca (mis. CD, DVD, BluRay)

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.

Pemeriksaan baca-tulis yang tidak merusak

  • sangat teliti
  • paling lambat
  • cukup aman (kecuali kegagalan daya atau panik kernel intermiten)

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 ! badblockstoh 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 badblockstidak 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 -nopsi ke badblocksperintah di atas .

Pemeriksaan baca-tulis yang merusak

  • sangat teliti
  • lebih lambat
  • MENGHAPUS SEMUA DATA DI DRIVE

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 -wopsi ke badblocksperintah di atas .

David Foerster
sumber
43

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.

Sergey
sumber
Terima kasih, mesin berjalan tanpa monitor, apakah ada cara untuk mengakses output cek setelah reboot?
Guillaume Coté
Saya membuat file dan reboot, tapi itu sangat cepat dan tidak ada yang baru di boot.log.
Guillaume Coté
fsck hanya melakukan pemeriksaan sangat cepat, saya mencoba opsi -c untuk memeriksa blok yang buruk.
Guillaume Coté
fsck -c baru saja mengatakan: / dev / sda9: Memperbarui inode blok buruk. Saya tidak punya info tentang berapa banyak simpul buruk dan proporsi sistem file yang mereka wakili.
Guillaume Coté
sudo dumpe2fs -b /dev/sda9. Tapi saya pikir lebih baik jika disk menangani sektor yang rusak, bukan filesystem (SMART, badblocks dll, lihat posting saya).
atur
20

badblocks

Anda dapat memeriksa badblock yang menjalankan perintah

  1. sudo badblocks -nsv /dev/[device-partition] > bad-blocks-resultuntuk ujian baca-tulis yang tidak merusak. Itu akan menghasilkan file yang disebut bad-blocks-resultdengan 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.

  2. Kemudian, Anda dapat menjalankan 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 .

Penjualan Dielson
sumber
1
Untuk melanjutkan dengan badblock nanti atau jika Anda lupa mengekspor bad sector ke file teks (seperti saya) jawaban ini akan membantu Anda: superuser.com/a/693000/218025
chelder
dapatkah saya menggunakan badblock untuk memeriksa partisi windows saya? Atau apakah itu entah bagaimana dapat merusaknya?
Prajurit
1
@Private Jika Anda memiliki pertanyaan baru, silakan gunakan tautan "Ajukan pertanyaan" di bagian atas.
John
The fsckperintah gagal dengan btrfssistem berkas.
Luís de Sousa
20

smartctl

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.

Lihat juga

Harimau kumbang
sumber
5
Solusi hebat, jika perangkat mendukung SMART. Banyak flash drive (murah) dan hard drive yang sangat lama tidak.
David Foerster
Saya awalnya bingung ketika smartctldilaporkan: "Jembatan USB tidak dikenal", "Silakan tentukan jenis perangkat dengan opsi -d". Saya menemukan data yang saya butuhkan di: smartmontools.org/wiki/Supported_USB-Devices .
Nobar
10

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

  1. Instal F3

    sudo apt install f3
    
  2. Masukkan drive Anda

  3. Tulis data uji ke ruang kosong di drive (periksa di mana drive Anda dipasang dengan lsblk)

    f3write /media/$USER/D871-DD7C/
    
  4. 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 .

bupupin
sumber
badblocksdengan -watau dengan fscksektor 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.
Pablo A
4

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 ddkarena indikator kemajuan dan karena antarmuka baris perintah sedikit lebih standar dan sedikit lebih rentan terhadap kesalahan ketik . Perhatikan bahwa pvpada 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 ddrescuedi manajer paket.

bangsawan
sumber
Ini tidak akan mendeteksi masalah yang hanya muncul selama akses tulis dan itu tidak akan melaporkan wilayah media penyimpanan yang terkena dampak yang perlu diperbaiki atau diselesaikan oleh orang yang berada di sekitar masalah tersebut. dd count=1juga cukup cepat kecuali media penyimpanan benar-benar rusak (atau tidak didukung).
David Foerster
Lihat juga:ddrescueview
nobar
Sejak GNU Coreutils 8.24+ ddmemiliki indikator kemajuan dengan status=progress.
Pablo A
1

Jika Anda memiliki partisi yang TIDAK BISA DIKOSONGKAN, ikuti langkah-langkah ini

  1. Tentukan partisi mana yang ingin Anda periksa bad sector menggunakan

$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

  1. Sekarang Anda dapat menggunakan fsckperintah 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

  1. $sudo apt-get install gnome-disk-utility

  2. $sudo gnome-disks

  3. Periksa dan periksa kembali bahwa tidak ada data penting pada partisi itu

  4. Menggunakan gnome-disksDELETE / REMOVE partisi dengan tangan menggunakan tanda "-"

  5. Menggunakan gnome-disksBUAT partisi baru dan pilih opsi "lambat" yang akan memeriksa ruang yang diberikan untuk kesalahan

masukkan deskripsi gambar di sini

Mauricio Gracia Gutierrez
sumber
Apakah penting versi Ubuntu itu? Apakah bionic beavermenangani pemeriksaan disk secara berbeda?
Gabriel Fair
Saya belum mencoba proses ini pada versi itu.
Mauricio Gracia Gutierrez