Checkdisk nasıl çalıştırılır?


84

Diskte kötü sektör olabileceğinden şüpheleniyorum. Ext3 dosya sistemini kullandım.

Hangi araç, Windows'un hata denetleme aracının en iyi karşılığıdır?


@PabloBianchi: Bu soru tamamen aynı kapsamda. Onları birleştirmek için onları bir modda işaretliyorum.
David Foerster

Yanıtlar:


101

Diskler

Kötü sektörleri kontrol etmek için, muhtemelen Diskler yardımcı programını ( Palimpsest ) başlatarak erişilebilecek en iyi olan SMART verilerini kontrol edin . Orada kötü blok görmese bile, emin olmak için bir otomatik test başlat.

Program gnome-disk-utilitypaketinde paketlenmiştir . Çalıştırmakgksudo gnome-disks

Palimpsest'ten SMART

Veya Ubuntu 16.04 sürümünde (3.18):

Disklerden gelen SMART

badblocks

Ayrıca kullanabilirsin badblocks

sudo badblocks -sv /dev/sda

Sadece kontrol etmek ya da kontrol etmek ve düzeltmek için sonucu geçici bir dosyaya yazın

sudo badblocks -sv /dev/sda  > bad-blocks-result
sudo fsck -t ext4 -l bad-blocks-result /dev/sda1

tüm diski kontrol edecek ve / dev / sda'da karşılaşılan tüm hatalı blokları basacaktır .

Gönderen badblockskılavuzda:

Önemli not: Eğer badblock'ların çıktısı e2fsck veya mke2fs programlarına beslenecekse, üretilen blok numaraları dosya sistemi tarafından kullanılan blok boyutuna çok bağlı olduğundan blok boyutunun doğru bir şekilde belirtilmesi önemlidir. . Bu nedenle, kullanıcıların doğrudan engellemeyi çalıştırmamaları, e2fsck ve mke2fs programlarının -c seçeneğini kullanmaları şiddetle önerilir.

fsck

fsckkötü sektörler bulmanıza yardımcı olmaz, daha da kötüsü, çok sayıda kötü sektör varsa verilerinize daha fazla zarar verebilir. Yalnızca disk sağlıklı olduğunda kullanın.


1
Aslında badblocks'ın el kitabı doğrudan kullanmaktan vazgeçirir ve kullanıcıları "-c" (salt okunur kontrol için) veya "-cc" (salt okunur kontrol için) e2fsck'e yönlendirir.
mrówa

2
Bir not olarak, 13.04'te ubuntu menüsünden sadece "diskleri" çalıştırarak palimpsest'i çalıştırıyorsunuz, ancak ... Bir otomatik test başlatmak için bir seçenek göremiyorum (muhtemelen sadece bir sürücüye sahip olduğum için Ubuntu ...)
rogerdpack

2
@ mrówa kılavuzu sadece "kötü blokların çıktısı e2fsck veya mke2fs programlarına beslenecekse" yapıldığını söylüyor
Jon

1
Tüm diskleri listelemek için sudo fdisk -l
Kangarooo

2
bu şimdi gnome-diskler olarak adlandırılır
endolith

74

Bu cevap boyunca, bir depolama sürücüsünün yolda bir blok aygıtı olarak göründüğünü varsayalım /dev/sdc. Bir depolama sürücüsünün yolunu mevcut kurulumumuzda bulmak için, aşağıdakileri kullanın:

  • Bir GUI varsa Gnome Disklerini Takma, Gnome Diskler (eski adıyla Gnome Disk Utility, aka palimpsest)
  • çıkışında terminal görünüm üzerinde lsblkve ls -l /dev/disk/by-idve boyut, bölümleme, üretici ve model adına göre doğru cihazı bulmaya çalışın.

Temel kontrol

  • yalnızca tümüyle yanıt vermeyen ortamları algılar
  • neredeyse anında (orta eğirilmediği veya kırılmadığı sürece)
  • kasa
  • salt okunur ortamlarda çalışır (örneğin, CD, DVD, BluRay)

Bazen bir depolama ortamı sadece çalışmayı reddediyor. Hala çekirdeğe ve disk yöneticisinde bir blok aygıtı olarak görülüyor, ancak bölüm tablosunu tutan ilk sektörü okunamıyor. Bu, aşağıdakilerle kolayca doğrulanabilir:

sudo dd if=/dev/sdc of=/dev/null count=1

Bu komut “Girdi / çıktı hatası” hakkında bir mesaj verirse, sürücümüz bozulur ya da beklendiği gibi Linux çekirdeği ile etkileşime giremez. Eski bir durumda, biraz şans ile uygun şekilde donatılmış bir laboratuara sahip bir veri kurtarma uzmanı içeriğini kurtarabilir. İkinci durumda, farklı bir işletim sistemi denemeye değer. (Windows'da özel sürücüler olmadan çalışan, ancak Linux ya da OS X'te çalışan USB sürücülerle karşılaştım.)

SMART kendi kendine test

  • ayarlanabilir titizlik
  • ani yavaş veya yavaş (testin bütünlüğüne bağlıdır)
  • kasa
  • yakın gelecekte olası başarısızlık konusunda uyardı

Bunu destekleyen cihazlar, SMART aracılığıyla sağlıkları hakkında sorgulanabilir veya farklı titizlikle bütünlük kendi kendine testler yapmaları istenebilir. Bu genellikle en iyi seçenektir, ancak genellikle (eski olmayan) sabit disklerde ve yarıiletken sürücülerde bulunur. Çıkarılabilir flaş ortamlarının çoğu onu desteklemiyor.

Diğer kaynaklar ve talimatlar:

Salt okunur kontrol

  • yalnızca bazı flaş ortam hatalarını algılar
  • sabit diskler için oldukça güvenilir
  • yavaş
  • kasa
  • salt okunur ortamlarda çalışır (örneğin, CD, DVD, BluRay)

Tüm cihazın okuma bütünlüğünü yazmadan test etmek için aşağıdaki badblocks(8)gibi kullanabilirsiniz :

sudo badblocks -b 4096 -c 4096 -s /dev/sdc

Bu işlem, özellikle depolama sürücüsü gerçekten zarar görmüşse çok zaman alabilir. Hata sayımı sıfırın üzerine çıkarsa, kötü bir blok olduğunu bileceğiz. Kötü blokların tam miktarıyla (ve belki konumuyla) ilgilenmiyorsak, işlemi herhangi bir anda (güç kesintisi sırasında zorla bile olsa) güvenle iptal edebiliriz. Seçeneği ile yanlışlıkla otomatik olarak iptal etmek mümkündür -e 1.

Gelişmiş kullanım için not: Çıktısını yeniden kullanmak istiyorsak e2fsck, blok boyutunu ( -b) içerdiği dosya sistemininkine ayarlamamız gerekir. Verimi -cartırmak için aynı anda test edilen veri miktarını ( bloklar halinde) da ayarlayabiliriz ; 16 MiB çoğu cihaz için uygun olmalıdır.

Tahribatsız okuma-yazma kontrolü

  • çok kapsamlı
  • En yavaş
  • Oldukça güvenli (elektrik kesintisi veya aralıklı çekirdek panik engeli)

Bazen - özellikle flaş medyada - yalnızca yazmaya çalışırken bir hata oluşur. (Bu , gerçekte olduğundan daha büyük bir boyuta sahip olan medyayı güvenilir bir şekilde keşfetmez (flash), bunun yerine Fight Flash Dolandırıcılığını kullanın.)

  • ASLA bunu dosya sistemli bir sürücüde kullanmayınız ! badblocksSiz zorlamadıkça yine de bu kişiler üzerinde işlem yapmayı reddediyor.

  • Bu işlemi zorla kesmeyin ! Ctrl+ C(SIGINT / SIGTERM) ve zarif erken fesih için bekleyen tamam, ama killall -9 badblocks(SIGKILL) değil. Zorla sona erdiğinde badblocks, geçerli olarak test edilen blok aralığının orijinal içeriğini geri yükleyemez ve önemsiz verilerle değiştirilmiş olarak bırakabilir ve dosya sistemini bozabilir.

Tahribatsız okuma-yazma kontrollerini -nkullanmak için yukarıdaki badblockskomuta seçeneği ekleyin .

Yıkıcı okuma-yazma kontrolü

  • çok kapsamlı
  • Yavaş
  • SÜRÜCÜSÜNDE TÜM VERİLERE ERASES

Yukarıdaki gibi, ancak yazma testi yaptıktan sonra önceki sürücü içeriğini geri yüklemeden, bu nedenle biraz daha hızlı. Veriler yine de silindiğinden, zorla sonlandırma (ek) olumsuz sonuç olmadan kalır.

Yıkıcı okuma-yazma kontrollerini -wkullanmak için yukarıdaki badblockskomuta seçeneği ekleyin .


43

fsck - Bir Linux dosya sistemini kontrol edin ve onarın. Kullanarak davet et

fsck /dev/sda1

Burada / dev / sda1 kontrol etmek istediğiniz sürücüdür. Daha fazla bilgi için 'man fsck' bölümüne bakın.

Ayrıca, bir cihazı kontrol eden 'badblocks' komutu da var, tahmin ettin, bozuk bloklar.

Sürücünün işaretlendiğinde sökülmesi gerekir, bu nedenle kök bölümünü kontrol etmek için bölümün kökünde 'forcefsck' dosyası oluşturmanız ve yeniden başlatmanız gerekir. Cihaz bir sonraki açılışta kontrol edilecektir:

sudo touch /forcefsck
sudo reboot

Alternatif olarak, bir Canlı CD'den önyükleme yapabilir ve kontrolü oradan çalıştırabilirsiniz.


Teşekkürler, makine monitörsüz çalışıyor, yeniden başlatmanın ardından çek çıkışına erişmenin bir yolu var mı?
Guillaume Coté

Dosyayı oluşturdum ve yeniden başlattım, ancak gerçekten hızlıydı ve boot.log'da yeni bir şey yok.
Guillaume Coté

fsck sadece çok hızlı bir kontrol yap, kötü bloku kontrol etmek için seçenek -c'yi denedim.
Guillaume Coté

fsck -c az önce dedi: / dev / sda9: Kötü blok inode güncelleniyor. Kaç tane düğüm düğümü ve dosya sisteminin hangi kısmını temsil ettikleri hakkında hiçbir bilgim yok.
Guillaume Coté

sudo dumpe2fs -b /dev/sda9. Ancak diskin, hatalı sistemlerle ilgilenmesi daha iyi, bence dosya sistemi değil (SMART, badblocks, vb.).
düzenleme

20

badblocks

Komutu çalıştıran badblock'ları kontrol edebilirsiniz.

  1. sudo badblocks -nsv /dev/[device-partition] > bad-blocks-resulttahribatsız okuma-yazma testi için. Bu bad-blocks-resultsektörler zarar görmüş denilen bir dosya üretecektir .
    • -n Tahribatsız okuma-yazma modunu kullanın. Varsayılan olarak sadece tahribatsız salt okunur bir test yapılır.

    • -s Şu anki kötü engellerin disk üzerinden geçen yüzde oranının tamamlandığını yazarak taramanın ilerlemesini gösterin.

    • -v Ayrıntılı mod.

  2. Ardından, sudo fsck -t ext3 -l bad-blocks-result /dev/[device-partition]dosya sistemine bozuk sektörlerin nerede olduğunu söylemek ve verileri mümkünse bunlardan uzaklaştırmak için çalıştırabilirsiniz.

Burada daha fazla okuma bulabilirsiniz .


1
Daha sonra badblock'larla devam etmek ya da kötü sektörü bir metin dosyasına (benim gibi) ihraç etmeyi unuttuysanız, bu cevap size yardımcı olacaktır: superuser.com/a/693000/218025
chelder

windows bölümünü kontrol etmek için badblock'ları kullanabilir miyim? Yoksa bir şekilde ona zarar verebilir mi?
Özel,

1
@Gizel Yeni bir sorunuz varsa, lütfen üst kısımdaki "Bir soru sorun" bağlantısını kullanın.
John,

fsckKomut ile başarısız btrfsdosya sistemleri.
Luís de Sousa

20

smartctl

IMO smartctl daha iyi bir araçtır. Muhtemelen ilk önce onu yüklemeniz gerekir

sudo apt-get install smartmontools 

Sonra

sudo smartctl -a /dev/sda | less

sürücü sağlığı verilerini, özelliklerini ve mevcut test sonuçlarını yazdırmak için. Daha az çıkmak için yazın q. alternatif olarak

sudo smartctl -H /dev/sda

sadece sağlık verilerini yazdırmak için.

Arka planda yeni bir kısa (birkaç dakika) veya uzun (en fazla saat) kendi kendine test başlatmak için:

sudo smartctl -t [short|long]

GSsmartControl ( ana sayfa ) ve Gnome Diskleri , isterseniz grafiksel ön uçlardır.

Ayrıca bakınız


5
Cihaz SMART'ı destekliyorsa harika bir çözüm. Pek çok (ucuz) çıkarılabilir flash sürücü ve çok eski sabit sürücüler yoktur.
David Foerster

smartctlRapor edildiğinde başlangıçta güdük oldu : "Bilinmeyen USB köprüsü", "Lütfen -d seçeneğiyle cihaz türünü belirtin". İhtiyaç duyduğum verileri buldum: smartmontools.org/wiki/Supported_USB-Devices .
nobar

10

F3 (Flash Flash Dolandırıcılığı ile Mücadele) , ayrıca sahte flash sürücüleri (gerçek kapasitesi bildirilen kapasitenin bir kısmı olan flash sürücüler) de tespit etmesi gereken başka bir seçenektir:

  1. F3'ü yükleyin

    sudo apt install f3
    
  2. Sürücünüzü yerleştirin

  3. Test verilerini sürücüdeki boş alana yazın (sürücünüzün nereye monte edildiğini kontrol edin lsblk)

    f3write /media/$USER/D871-DD7C/
    
  4. Test verilerini oku

    f3read /media/$USER/D871-DD7C/
    

Referans:

Badblocks iyi çalışıyor ancak sahte flash sürücüleri tespit etmek için tasarlanmamış ve bunlar için herhangi bir hata bildirmeyebilir .


badblocksile -wya da fsckonlar kullanılmamaları için hasarlı kadar kötü işareti sektörler /. f3 gibi bir şeyleri geri getirebilir Corrupted: 16.01 MB (32784 sectors), ancak bunları kötü sektörler olarak işaretler mi? Ya da bunun için hala engellere ihtiyacımız var? Deniyorum iledumpe2fs -b ve kimliği işaretlemez görünüyor.
Pablo A

4

Bir ilerleme göstergesi gösterirken tüm diski test okuyabilirsiniz:

time sudo pv /dev/sdc >/dev/null

Bazı disk sorunları, bildirilen G / Ç hataları olarak ortaya çıkar. Bu, ddilerleme göstergesinden ve komut satırı arabirimi biraz daha standart ve biraz daha az yazım eğilimli olduğu için biraz daha iyidir . Bunun pvtemel olarak ve geliştirilmiş bir sürüm olduğuna dikkat edin cat. Varsayılan olarak yüklenmemiş olabilir, ancak yüklenebilir sudo apt-get install pv.

Benzer bir yaklaşım, diski, özellikle disk G / Ç hatalarının farkında olan ve "veriyi kurtarmayı zorlaştırma" özelliğine sahip olan mevcut araçlardan biriyle okumaktır. ddrescuePaket yöneticisinde arayın .


Bu, yalnızca yazma erişimi sırasında görünen sorunları algılamayacak ve bir kişinin sorunu çözmesi veya çözmesi gereken depolama ortamının etkilenen bölgesini bildirmeyecektir. dd count=1depolama ortamı tamamen kırılmadığı (ya da desteklenmeyen) olmadığı sürece oldukça hızlıdır.
David Foerster

Ayrıca bakınız:ddrescueview
nobar

GNU Coreutils 8.24+ 'ten ddberi bir ilerleme göstergesi var status=progress.
Pablo A

1

VERİLERİ KAYDEDEMEZEN bir bölüme sahipseniz, aşağıdaki adımları izleyin.

  1. Bozuk sektörü denetlemek için hangi bölümü kontrol etmek istediğinizi belirleyin.

$fdisk -l commnd

Kontrol edilecek bölümün / dev / sdPTC (kontrol edilecek bölüm) olarak adlandırıldığı ve / scan / resultPath / klasörüne monte edilen sonuçları saklamak için başka bir bölümünüz olduğunu varsayalım.

2. Sonra bu komutu çalıştırabilirsiniz

$sudo badblocks -v /dev/sdPTC > /scan/resultPath/badsectors.txt

Bu, verilen cihazın kötü bloklarının ne olduğunu belirler ve bunları badsectors.txt adlı bir dosyada saklar.

  1. Şimdi fsckUbuntu'ya badsectors.txt dosyasında belirtilen hatalı kesimleri kullanmamasını söylemek için komutu kullanabilirsiniz.

$sudo fsck -l /scan_result/badsectors.txt /dev/sda

Bu şekilde, sabit diskin ömrü, yenisini almak için yenisini alana kadar biraz artar.


Kötü fiziksel sektörleri kontrol etmek istediğiniz tam bir bölümünüz varsa ve o bölümdeki TÜM VERİLERİNİ SEÇEBİLİRSİNİZ veya EMPTY ise şu adımları izleyin:

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

  2. $sudo gnome-disks

  3. Bu bölümle ilgili önemli veri olmadığını kontrol edip tekrar kontrol edin.

  4. Kullanılması gnome-disks"-" işareti DELETE / kullanarak elle bölüm KALDIR

  5. gnome-disksCREATE yeni bir bölüm kullanarak ve verilen hataları hatalara karşı kontrol edecek "slow" seçeneğini seçin

görüntü tanımını buraya girin


Hangi Ubuntu sürümü olduğu önemli mi? İşlemci bionic beaverdisk denetimleri farklı mı?
Gabriel Fuarı

Bu işlemi bu sürümde henüz denemedim.
Mauricio Gracia Gutierrez,
Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.