Yüklemeden önce bir diski agresif bir şekilde fsckleyin


12

Eski işlemci altındaki yazılımı test etmek için kullandığım eski bir HP Athlon makinem var. Sık sık kahverengi çıkışlarımız var ve sonuncusundan sonra disk dağınıktı. fsckTüm sorunları çalıştıramadım ve gönderemediğim için çok kötüydü . İşletim sisteminin yeni bir yüklemesini yaptım, ancak hala fsckşikayet alıyorum .

Sabit sürücüyü veya makineyi kınamadan önce Linux'u yeniden yüklemek için son bir kez denemek istiyorum. Dosya sistemi oluşturulduktan sonra ancak yükleme gerçekleşmeden önce, fsckşüpheli blokları kötü olarak işaretlemek için agresif bir işlem yapmak istiyorum .

Disk büyüktür (yaklaşık 500 GB) ve Debian 8 dağıtımı nispeten küçüktür (8-12 GB genellikle fazlasıyla yeterlidir), bu yüzden iyi blokların kötü olarak işaretlenmesini umursamıyorum. GUI kurulumunu da seviyorum, ancak onunla evli değilim.

İki sorum var:

  1. Debian 8 fsck, temel sistemi kurmadan önce bir gerçekleştirme seçeneği sunuyor mu? Eğer öyleyse, nerede? Değilse, süreç nedir?

  2. fsckBlokların ne kadar agresif olarak kötü işaretlendiğini kontrol etme ayarı var mı ? Eğer öyleyse, nedir? Değilse, ne kullanılabilir?


EDIT : makine bir HP5850. BIOS'a girme, Depolama ve ardından Sürücü Koruma Sistemi (DPS) seçeneğine gidin Otomatik test, sürücünün değiştirilmesini öneren DPS ile sonuçlandı. DPS herhangi bir istatistik vermedi, bu yüzden hasarın boyutundan emin değilim.

[Eski] yeni bir SATA II diskini 12 $ USD karşılığında satın alabileceğim düşünüldüğünde, onu değiştireceğim. Üzerinde zaman veya enerji israfının bir anlamı yok.


İlgili referanslar aşağıdaki gibidir. Her iki sorunun da ele alındığı görülmemektedir.



Herhangi bir bozuk bloğunuz varsa, sürücünün tamamı fiziksel olarak arızalanır ve kullanılmamalıdır.
chrylis -on strike-

2
"Agresif bir disk fsck" çok kirli görünüyor ...
A. Mirabeau

Yanıtlar:


19
  1. "Debian 8, temel sistemi kurmadan önce bir fsck gerçekleştirmek için bir seçenek sunuyor mu? Öyleyse, nerededir? Değilse, süreç nedir?"

    Alternatif, ilk olarak indirmek ve bir yanık GParted CD (başparmak sürücüye veya yazma). Yükleyiciyi çalıştırmadan önce GPartEd, diski isteğinize göre çalıştırın ve bölümleyin ve çalıştırın fsckveya sadece badblocksuzun süre çalıştırın .

    Debian yükleyiciyi çalıştırdığınızda, orada bulunan bölümleri nasıl kullanacağınızı söyleyin. Yükleyicinin kendi bölümlerini oluşturması gerekmez. Mevcut bölümleri kullanmak son derece mutlu.

  2. "Fsck, blokların ne kadar agresif bir şekilde kötü olarak işaretlendiğini kontrol etme ayarına sahip mi? Öyleyse, nedir? Değilse, o zaman ne kullanılabilir?"

    -cSeçeneği e2fscknedenleri yayınlanmaya badblockskötü bloklar için tarama programı. Badblokları doğrudan da çalıştırabilirsiniz. Varsayılan olarak, badblockssalt okunur bir test yapar. Daha agresif olmak -niçin, tahribatsız bir okuma-yazma testi belirtebilirsiniz . Ayrıca -pyaptığı geçiş sayısını artırma seçeneğini de ayarlayabilirsiniz .

    badblocksBölümlemeden önce çalıştırmak isteyebilirsiniz . Bu şekilde, daha hızlı -wsalt okunur testi belirtebilirsiniz .


1
John, +1, meraklı badblocksbir donanım düzeyinde ya da sadece FS düzeyinde işaretlemek için herhangi bir yöntemi var mı?
heemayl

3
@heemayl Benim anlayışım, modern sabit disklerde, sabit diskin belleniminin kendi kötü blok yönetimini yapmaya çalıştığıdır. Çalıştırmanın amacı badblockssadece sabit diski tüm sektörleri okuma / yazma zorlamaktır. Sabit disk, kötü sektörlerin algılanması ve yeniden eşlenmesine sahiptir ve hepsi gerektiği gibi çalışırsa, badblocksprogramın sabit diskin bunu yaptığı konusunda asla bilgilendirilmez.
John1024

hmmm..understandable. Yani özünde, fsck FS üzerindeki blokları işaretleyebilir, ancak badblocks sadece disk ürün yazılımının işaretleme yapmasına yardımcı olur, kendi başına bir şey yapmaz mı?
heemayl

3
@heemayl Eski zamanlarda badblockskötü sektörlerin bir listesini çıkarırdı ve dosya sistemi bunları not ederdi. Modern zamanlarda badblocks ve FS hala bunu yapmaya çalışıyor, ancak modern bir HD ile liste genellikle boş.
John1024

1
@heemayl ve liste boş değilse , disk genellikle o kadar kötü kırılır ki en iyi seçeneğiniz onu değiştirmek olacaktır.
Mark

7

Sık sık fsck hataları alıyorsanız, sürücü de kan öksürüyor olabilir. Her bir kötü bloğu kötü olarak işaretleseniz bile, daha fazla bloğun kötüleşmesi çok uzun sürmez. Gerçekten ihtiyacınız varsa fsck yapmak için başka bir tty'ye dönüşebileceğinizi hayal edebilirim (ttr2'ye geçmek için Ctrl + alt + F2), ancak söylediğiniz şey varsa yeni bir sabit sürücüye ne kadar ihtiyacınız olduğunu yeterince vurgulayamıyorum doğrudur.


"Eğer sık ​​sık fsck hataları alıyorsanız ..." - ne hakkında emin değilim fsck, sorunun boyutu yeniden yükleme sonra sorunları avuç , ya da buzdağının ucu. Sistem önyükleme yapar, birkaç dosya sistemi hatasıyla (4 veya 6) karşılaşır, salt okunur olarak yeniden monte ederek kurtarır ve ardından önyükleme yapar.

@jww söz konusu dosya sistemi hatalarına bazı kesin örnekler verebilir misiniz?
John Leuenhagen

Neden başka bir tty'ye geçelim? Bunu yapmak ne avantaj sağlar?
fpmurphy

@ fpmurphy1 bir terminal penceresi açamadığı gibi geldi, bu yüzden başka bir tty'ye geçmek bir kabuğa girmenin en iyi yolu olurdu.
John Leuenhagen

@jww: Her seferinde aynı bloklar bildiriliyor mu veya her önyüklemede yeni bir set bildiriliyor mu?
TMN

5
  1. Hayır, buna değeceğini sanmıyorum. Fsck (çoğu dosya sistemi tarafından uygulandığı gibi) sürücülerinizi kontrol etmez. Dosya sistemi meta verilerini doğrular ve bağladığınızda görünümün tutarlı olmasını sağlar. Kurulumdan önce bunu yapmak pek mantıklı değil, çünkü tanım gereği sadece boş alanınız olacak.

  2. Kullanım badblocks yerine. Verilerinizin çürümediğinden emin olmak istiyorsanız, fırçalamayı destekleyen bir dosya sistemi kullanın. Lvm de bunu yapabilir .


3

Modern bir diskin güvenilirliğini kontrol etmek için yerleşik testleri kullanmayı düşünün; smartctl yardımcı programıyla tetikleyebilirsiniz, örneğin:

smartctl -t long /dev/sdx
#wait an hour or two
smartctl -a /dev/sdx
#should have recorded a result in the self-test log

Önceden her şeyin yazıldığından emin olmak istiyorsanız, düzgün yazılmayacak sektörleri keşfetmek için, tüm ortamın üzerine / dev / urandom'dan dd gibi bir şey yazabilir veya rastgele bir taneyle parçalayabilirsiniz. seçenekler.


3
Bir o Not ddgelen /dev/randombir 500 GB sürücüde tam birçok gün sürer.
Dmitry Grigoryev

1
fixed typo, thx :) Yanlış bir kabuk içine yapıştırılırsa, gerçekten kurtarılamaz veri kaybına neden olacak etrafında komut satırları olmasını önlemek istedim çünkü tam dd sözdizimi hecelemek istemiyordu.
rackandboneman

Ne yazık ki, Debian sağlamak görünmüyor smartctl: E: Unable to locate package smartctl. Red Hat / Fedora yardımcı programı mı?

debian / ubuntu paketi smartmontools'tur. BTW, hangi paketin bir şeye sahip olduğunu aramak için apt-cache search komutunu kullanın.
rackandboneman

2

Üreticinin yalnızca Windows'ta çalışabilecek (veya eğer şanslıysanız, web sitelerinden bir görüntü indireceğiniz önyüklenebilir bir CD / DVD / USB'den) düşük düzeyli yazılım (varsa) almanızı öneririm. . Daha büyük bir yedek sektör havuzu karşılığında sürücünün rapor edilen kapasitesini azaltmak için operasyon üzerinde yeterli kontrole sahipseniz, bunu @rackandboneman'ın önerdiği gibi diski test ederken değiştirilecek yedek parçaların çoğunu tahmin ederek yapmanız gerekir. . Yedek havuzun tükenmesi ve gelecekteki kusurlar için daha fazla kalan tüm kötü sektörlerin yedek olarak değiştirilmesiyle 400 veya 450 GB'lık bir diske sahip olmak, yedek havuzu tüketmek ve şeffaf bir şekilde yeniden düzenlenemeyen gelecekteki kötü sektörlere sahip olmaktan daha iyidir.


DOS için SeaTools'u çalıştırabildim . SeaTools SMART rapor vermedi alışılmadık görünüyordu tetik. Uzun testi ve kısa bir test hemen başarısız oldu. Diski 32 GB'a kadar yeniden boyutlandırdım; ve tekrar uzun testi tekrarladı. SeaTools, 1190000 işaretinin etrafında 4 kötü LBA buldu ve tamir etti. Yeni bir işletim sistemi kurulumu mükemmel gitti; ve sonraki yeniden başlatmalarda sorun olmadı. Yeni SATA II sürücüsünü satın aldığımdan beri, mevcut sürücü hatalı davranırsa etkin yedek olarak tutacağım.

@jww yazık ki zaten farklı bir cevap kabul ettiniz.
Monty Harder

Evet, Soru-Cevap tuzağı ... Kesin bir cevap almak için özel sorular sormam gerekiyor. Eğer "Linux'u arızalı bir sabit diske nasıl kurarım" diye sorsaydım, muhtemelen soru kapanmış olurdu.

0

Daha zengin araçlarınız yoksa bazı temel şeyler (örneğin, bir USB disk ve SMART çalışmıyor):

dd if=/dev/sdX of=/dev/null bs=1M

tüm diski okuyacaktır. dmesgGünlükte, okunamayan sektörler olup olmadığını göreceksiniz . Yine de tekrar denedikten sonra bunları okumayı başarabildiğini söylemeyecektir. O kadar iyi değil badblocksama ben onun her yerde olduğundan bahsediyorum.

Kötü sektörleriniz varsa ve diskte hiçbir şey istemiyorsanız:

dd if=/dev/zero of=/dev/sdX bs=1M

tüm blokların yeniden yazılmasına neden olur. Okunamayan sektörler varsa, bu durumun yeniden tahsis edilen havuzdaki sektörlerle değiştirilmesine ve tekrar kullanılabilir hale gelmesine neden olmalıdır.

Yeniden tahsisin yapıldığı bir diskiniz varsa, disk çıkmaktadır. Önemli bir şey için kullanmazdım, ancak bazen bu kadar umursadığınız verileriniz var ve bunun için sorun olmayabilir.

Eğer bir SSD ise işler farklıdır ve bunlar geçerli değildir.

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.