Agresywnie fsck dysk przed instalacją


12

Mam starą maszynę HP Athlon, której używam do testowania oprogramowania na starym procesorze. Mamy częste brązowe przerwy, a po ostatnim dysku był bałagan. Było tak źle, że nie mogłem uruchomić fscki rozwiązać wszystkich problemów. Przeprowadziłem nową instalację systemu operacyjnego, ale wciąż otrzymuję fsckskargi.

Chciałbym po raz ostatni spróbować ponownie załadować Linuksa przed potępieniem dysku twardego lub komputera. Po utworzeniu systemu plików, ale przed instalacją, chciałbym, aby przeprowadzono agresywne fsckoznaczanie podejrzanych bloków jako złe.

Dysk jest duży (około 500 GB), a dystrybucja Debiana 8 jest stosunkowo niewielka (8-12 GB to zwykle więcej niż wystarczająca ilość), więc nie obchodzi mnie, czy dobre bloki zostaną oznaczone jako złe. Lubię też instalację GUI, ale nie jestem z nią żonaty.

Mam dwa pytania:

  1. Czy Debian 8 umożliwia wybór fsckprzed instalacją systemu podstawowego? Jeśli tak, to gdzie to jest? Jeśli nie, to jaki jest proces?

  2. Czy fsckma ustawienie kontrolujące, jak agresywnie bloki są oznaczane jako złe? Jeśli tak, co to jest? Jeśli nie, to czego można użyć?


EDYCJA : maszyna to HP5850. Wchodząc do BIOS-u, przechodząc do Storage, a następnie do Drive Protection System (DPS) Autotest spowodował, że DPS zalecił wymianę napędu. DPS nie podał żadnych statystyk, więc nie jestem pewien, jaki jest rozmiar szkód.

Biorąc pod uwagę, że mogę kupić [stary] nowy dysk SATA II za 12 USD, po prostu go wymienię. Nie ma sensu marnować na to czasu ani energii.


Powiązane odniesienia są następujące. Wydaje się, że żadne pytanie nie zostało rozwiązane.


Dlaczego nie SpinRite ?
Peter Mortensen,

Jeśli masz jakieś złe bloki, cały dysk fizycznie ulega awarii i nie należy go używać.
Chrylis

2
„Agresywnie fsck dysk” wygląda tak brudno ...
A. Mirabeau

Odpowiedzi:


19
  1. „Czy Debian 8 zapewnia wybór wykonania fsck przed zainstalowaniem systemu podstawowego? Jeśli tak, to gdzie to jest? Jeśli nie, to jaki jest proces?”

    Alternatywnie, najpierw pobierz i wypal płytę GPartEd CD (lub napisz na pendrive). Przed uruchomieniem instalatora uruchom GPartEdi podziel dysk na partycje według własnych upodobań, a następnie uruchom fscklub po prostu uruchom badblocks.

    Kiedy uruchomisz instalator Debiana, po prostu powiedz mu, jak korzystać z znajdujących się tam partycji. Instalator nie musi tworzyć własnych partycji. Z przyjemnością korzysta z istniejących partycji.

  2. „Czy fsck ma ustawienie kontrolujące, jak agresywnie bloki są oznaczane jako złe? Jeśli tak, co to jest? Jeśli nie, to czego można użyć?”

    -cOpcja e2fsckpowoduje to, aby uruchomić badblocksprogram do skanowania w poszukiwaniu uszkodzonych bloków. Możesz także uruchamiać Badblocks bezpośrednio. Domyślnie badblockswykonuje test tylko do odczytu. Aby być bardziej agresywnym, możesz określić -nnieniszczący test odczytu i zapisu. Możesz także ustawić -popcję zwiększenia liczby wykonanych przejść.

    Możesz uruchomić badblocksprzed podzieleniem na partycje. W ten sposób możesz określić szybszy -wtest tylko do zapisu.


1
John, +1, tylko ciekawy, czy badblocksma jakąś metodę oznaczania na poziomie sprzętowym, czy tylko na poziomie FS?
heemayl

3
@heemayl Rozumiem, że na współczesnych dyskach twardych oprogramowanie układowe dysku twardego próbuje samodzielnie zarządzać błędnymi blokami. Celem działania badblocksjest jedynie wymuszenie na dysku twardym odczytu / zapisu wszystkich sektorów. Dysk twardy ma własne wykrywanie i ponowne mapowanie uszkodzonych sektorów, a jeśli wszystko działa tak, jak powinno, badblocksprogram nigdy nie jest informowany, że dysk twardy to robi.
John1024,

hmmm .. niezrozumiały. Zasadniczo fsck może oznaczać bloki na FS, ale złe bloki tylko pomagają oprogramowaniu dyskowemu wykonać oznaczenie, czy nie robi nic własnego?
heemayl

3
@heemayl W dawnych czasach badblockswypluwałem listę uszkodzonych sektorów, a system plików notował je. W dzisiejszych czasach, badblocks a FS nadal próbują to zrobić, ale przy nowoczesnym HD lista jest zwykle pusta.
John1024,

1
@ heemayl, a jeśli lista nie jest pusta, dysk jest zwykle tak poważnie uszkodzony, że najlepszą opcją jest jego wymiana.
Mark

7

Jeśli często pojawiają się błędy fsck, dysk może również odkrztuszać krew. Nawet jeśli oznaczysz każdy zły blok jako zły, nie potrwa to długo, nim więcej bloków się zepsuje. Wyobrażam sobie, że możesz zmienić na inny tty, aby zrobić fsck, jeśli naprawdę potrzebujesz (Ctrl + Alt + F2, aby przejść do tty2), ale nie mogę wystarczająco podkreślić, ile potrzebujesz nowego dysku twardego, jeśli to, co mówisz jest dokładny.


„Jeśli często pojawiają się błędy fsck ...” - nie jestem pewien, czy jest garść fsckproblemów po ponownej instalacji zakresu problemu, czy też jest to wierzchołek góry lodowej. System uruchamia się, napotyka kilka błędów systemu plików (4 lub 6), odzyskuje system, instalując go ponownie jako tylko do odczytu, a następnie uruchamia się.

@jww, czy możesz zamieścić dokładne przykłady wspomnianych błędów systemu plików?
John Leuenhagen,

Dlaczego warto przejść na inny tty? Jakie korzyści to daje?
fpmurphy

@ fpmurphy1 brzmiało to tak, jakby nie mógł otworzyć okna terminala, więc przejście na inny tty będzie kolejnym najlepszym sposobem na uzyskanie dostępu do powłoki.
John Leuenhagen,

@jww: Czy za każdym razem zgłaszane są te same bloki, czy przy każdym uruchomieniu zgłaszany jest nowy zestaw?
TMN

5
  1. Nie i nie sądzę, żeby było warto. Fsck (implementowany przez większość systemów plików) nie sprawdza twoich napędów. Sprawdza poprawność metadanych systemu plików i zapewnia spójność widoku po ich zamontowaniu. Nie ma sensu robić tego przed instalacją, ponieważ z definicji będziesz miał tylko puste miejsce.

  2. Zamiast tego użyj złych bloków . Jeśli chcesz się upewnić, że Twoje dane nie gniją, użyj systemu plików, który obsługuje czyszczenie. Sam Lvm też może to zrobić .


3

Aby sprawdzić niezawodność nowoczesnego dysku, rozważ użycie wbudowanych testów; możesz je uruchomić za pomocą narzędzia smartctl, np .:

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

Jeśli chcesz wcześniej upewnić się, że wszystko zostało ostatnio napisane, aby odkryć sektory, które nie będą poprawnie pisać, możesz zastąpić całe medium czymś takim jak dd z / dev / urandom lub zniszczyć jednym z losowych opcje


3
Pamiętaj, że wykonanie ddod z /dev/randomzajmie wiele dni na dysku o pojemności 500 GB.
Dmitrij Grigoryev,

1
naprawiono literówkę, thx :) Nie chciałem przeliterować dokładnej składni dd, ponieważ chciałem uniknąć wierszy poleceń wokół tego, jeśli przypadkowo wklejonych do powłoki, spowoduje naprawdę nieodwracalną utratę danych.
rackandboneman,

Niestety, Debian nie wydaje się, aby zapewnić smartctl: E: Unable to locate package smartctl. Czy to narzędzie Red Hat / Fedora?

Pakiet debian / ubuntu to smartmontools. BTW, użyj wyszukiwania apt-cache, aby wyszukać pakiet, który ma coś.
rackandboneman,

2

Poleciłbym pobrać oprogramowanie niskiego poziomu producenta (jeśli takie istnieje), które może działać tylko w systemie Windows (lub, jeśli masz szczęście, z rozruchowego dysku CD / DVD / USB, dla którego można pobrać obraz z ich strony internetowej) . Jeśli masz wystarczającą kontrolę nad operacją, aby zmniejszyć zgłaszaną pojemność dysku w zamian za znacznie większą pulę wolnych sektorów, powinieneś to zrobić, w oczekiwaniu na zastąpienie wielu części zamiennych podczas testowania dysku, jak sugerował @rackandboneman . Zdecydowanie lepiej jest mieć dysk o pojemności 400 lub 450 GB ze wszystkimi uszkodzonymi sektorami zamienionymi na części zamienne i pozostawić więcej na przyszłe defekty, niż wyczerpać pulę zapasową i mieć przyszłe uszkodzone sektory, których nie można przezroczyście odwzorować.


Byłem w stanie uruchomić SeaTools dla DOS . SeaTools poinformowało, że SMART nie uruchomił się, co wydawało się niezwykłe. Długo testy i krótki test nie powiodła się natychmiast. Zmieniłem rozmiar dysku do 32 GB; a następnie ponownie przeprowadziłem długi test. SeaTools znalazł 4 złe LBA wokół znaku 1190000 i naprawił je. Świeża instalacja systemu operacyjnego przebiegła idealnie; a kolejne restarty nie miały żadnych problemów. Ponieważ kupiłem zamienny dysk SATA II, zachowam go jako zapasowy, jeśli istniejący dysk źle się zachowuje.

@ jww szkoda, że ​​już zaakceptowałeś inną odpowiedź.
Monty Harder,

Tak, to pułapka na pytania i odpowiedzi ... Muszę zadać konkretne pytania, aby uzyskać dokładną odpowiedź. Gdybym zapytał „jak zainstalować Linuksa na uszkodzonym dysku twardym”, to pytanie prawdopodobnie zostałoby zamknięte.

0

Kilka podstawowych rzeczy, jeśli nie masz bardziej zaawansowanych narzędzi (np. Jest to dysk USB i SMART nie działa):

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

odczyta cały dysk. W dmesgdzienniku zobaczysz, czy istnieją sektory, których nie można odczytać. Chociaż nie powie ci, czy udało się je odczytać po ponownych próbach. Nie jest tak dobry, badblocksale wspominam o nim ze względu na jego wszechobecność.

Jeśli masz złe sektory i nie chcesz niczego na dysku:

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

spowoduje, że wszystkie bloki zostaną przepisane. Jeśli istnieją sektory, które są nieczytelne, powinno to spowodować ich zamianę na sektory w ponownie przydzielonej puli i ponowne wykorzystanie.

Jeśli masz dysk, na którym odbywa się realokacja, oznacza to, że dysk jest w drodze do wyjścia. Nie użyłbym tego do niczego ważnego, ale czasami masz dane, na których tak ci nie zależy i może to być w porządku.

Jeśli jest to dysk SSD, rzeczy wyglądają inaczej i nie mają zastosowania.

Korzystając z naszej strony potwierdzasz, że przeczytałeś(-aś) i rozumiesz nasze zasady używania plików cookie i zasady ochrony prywatności.
Licensed under cc by-sa 3.0 with attribution required.