Skocz do zawartości

Obsługa Fizycznych "Badblok'Ów" W Linuxie.


TAG5677

Rekomendowane odpowiedzi

Witam szanownych forumowiczów.

 

Temat zapewne stary jak świat, więc przejdę do sedna.

 

1.) Jest dysk "twardy" o określonej pojemności.

2.) Na w/w dysku istnieją fizyczne "badblock'i" (nie mylić z logicznymi)

2a.) Sectory te są stabilne od kilku lat, a dysk w ciągłym użyciu.

3.) Jest chęć zainstalowania systemu z rodziny Linux, np: FEDORA ;-), Mandriva, PC-Linux, etc.

4.) Tu liczę na Waszą odpowiedź.

 

Z problemem tym walczę od kilku lat i do tąd nie znalazłem jednoznacznej odpowiedzi.

 

 

Aby było wiadomo o co chodzi to podam sposób jak to robię w Windows.

 

1.) Dzielę dysk na partycje.

2.) Formatuję partycje (format c: [enter]) - w tym procesie wstępnie już są wyszukiwane i zaznaczane badbloki.

3.) Skanuje dysk w poszukiwaniu błędów - tryb dokładny.

4.) Czynność nr3 powtarzam kilka razy, aby mieć pewność, że już wszystkie bad sectory są zaznaczone na 99%.

5.)Instaluję system...

6.)Czynność nr4 powtarzam cyklicznie co tydzień, aż mam pewność, że to wszstkie i kożystam ;-)

 

PS. Proszę sobie darować odpowiedzi typu: "kup sobie nowy dysk", bo nie o to tu chodzi, chcę wiedzieć czy linuks jest w stanie sobie z tym problemem poradzić w elegancki sposób, najlepiej przy instalacji.

 

Pozdrawiam, Tomek

Odnośnik do komentarza
Udostępnij na innych stronach

Nie wiem jaki program pod Windowsem wykonuje pkt.3) ale czy jestes pewien, ze w ten sposób skanujesz fizyczne bloki a nie bloki na partycji, na której utworzony jest windowsowy dysk c:? "format c:" odnosi sie do partycji a nie do calego dysku, wiec pytanie co skanujesz w pkt.3)?

Piszac o pkt.3) mam na mysli drugi pkt.3) odnoszacy sie do Windows ("3.) Skanuje dysk w poszukiwaniu bledów - tryb dokladny.")

 

Jednak podstawowe pytanie, to czy dysk, o którym piszesz posiada obsluge S.M.A.R.T. Od tej odpowiedzi zalezy odpowiedz na pytanie, które zadales.

Odnośnik do komentarza
Udostępnij na innych stronach

Witam Serdecznie. Dziekuje za liczne odpowiedzi. :D

 

 

@WalDo

 

Oczywiscie, dobrze rozumujesz ;-) Chodzi o skanowanie partycji na której sa uszkodzone sektory dysku. A wiadomo, ze czym mniejszy blok danych to i strata mala, a takze lepsze zagospodarowanie dysku, oczywiscie wielkosc (zakres min-max) bloku danych jest narzucona przez wybrany system plików, i na ogól wartosc ta waha sie w granicach od 512 bajtów do 64 kilobajtów

 

W 2000, XP to polecenie CHKDSK [litera dysku:] /x /r

x - odmontowywuje partycje (na wylacznosc programu CHKDSK),

r-tryb dokladny, czyli skanowanie w poszukiwaniu bledów odczytu. np: chkdsk c: /x /r .

 

W DOS to zwykle scandisk [litera dysku:] /surface (dodatkowo w pliku scandisk.ini mozna ustawic czulosc w wyszukiwaniu blednych sektorów - czas dostepu w milisekundach i ilosc przebiegów danego bloku, nie nalezy jednak przesadzac bo okaze sie, ze wiekszosc powierzchni dysku jest uszkodzona, co jest bzdura) np: scandisk c: /surface)

 

W Windows 95, 98, ME to odpowiednik dosowego programu o tej samej nazwie, wystarczy wybrac z listy dysk i zaznaczyc tryb dokladny.

 

Jesli chodzi o S.M.A.R.T. to licznik mapowania badbloków osiagnal maximum, producent nie przewidzial wiecej miejsca.

Jezeli bedzie to konieczne, to zamieszcze dane S.M.A.R.T.

 

;---------------------------------------------------------------------------------------

 

@Fedoras

 

Dzieki za linki do artykulów w tym temacie, po zapoznaniu dam znac co i jak, choc wyglada mi to znajomo.

 

Swego czasu gdy próbowalem rozwiazac ten problem w Linux Mandrake, pamietam jak jednym programem sie skanowalo dysk i zapisywalo liste blednych sektorów na dyskietke 3'5" 1.44 MB, drugim zaznaczalo na dysku w/g listy z dyskietki, a trzecim formatowalo partycje. Nalezalo jednak dokladnie podac "geometrie dysku", rozmiar partycji, wielkosc bloku, itp

Oczywiscie wszystko trwalo dlugo i nie byl to sposób elegancki ani ekonomiczny, po drugie w razie awarii systemu plików i wykryciu nowego "badbloka", trzeba bylo uaktualniac liste na dyskietce. To spowodowalo, ze odlozylem poznawanie linux'a na pózniej.

 

 

@thof

 

Mozesz rozwinac wypowiedz, bo nie rozumiem? :blink:

 

Jezeli powierzchnia dysku ma fizyczne uszkodzenia, to od systemu plików zalezy jak wielka przestrzen zajma. Skanujac dysk mialem na mysli, skanowanie powierzchni dysku w obrebie systemu plików danej partycji. Owszem zaleznosc jest jesli rozpatrzymy to w nastepujacy sposób, ze uszkodzone sektory dysku istnieja fizycznie na dysku, a dany system plików tylko je nazywa (zaznacza) aby z nich nie korzystac.

 

Pozdrawiam wszystkich uczestniczacych w dyskusji, Tomek

Odnośnik do komentarza
Udostępnij na innych stronach

Owszem zaleznosc jest jesli rozpatrzymy to w nastepujacy sposób, ze uszkodzone sektory dysku istnieja fizycznie na dysku, a dany system plików tylko je nazywa (zaznacza) aby z nich nie korzystac.

Ale teraz opisales zaleznosc systemem plików, a bad sektorami. Jesli chcesz utworzyc system plików ze sprawdzeniem bad sektorów to uzyj flagi -c. Czyli np. mkfs.ext4 -c /dev/sda1. Dalej nie wiem jak sie ma skanowanie dysku do fizycznie uszkodzonych sektorów, ale to pewnie takie zabiegi popularne na Windowsie. Linux sam sie zajmuje takimi rzeczami, tzn. sam okresla potrzebe uruchomienia fsck.
Odnośnik do komentarza
Udostępnij na innych stronach

Glowy sobie uciac nie dam, ale chkdsk skanuje partycje logiczna a nie fizyczna.

Co do wypowiedzi thofa, to sadze, ze chodzi o to, ze skanowanie chkdsk nie wykazuje bledów fizycznych a jedynie bledy file systemu, czyli mówiac inaczej chkdsk w Linuksie ma swój odpowiednik e2fsck. Wydaje mi sie, ze na nieco nizszym poziomie (fizycznym) dziala badblocks.

 

[EDIT]

Widze, ze w miedzyczasie thof sam wyjasnil o co mu chodzilo, wiec te czesc wypowiedzi prosze pominac ;)

Odnośnik do komentarza
Udostępnij na innych stronach

Dziekuje za odpowiedzi.

 

CHKDSK (ang. Check Disk)

 

Przelacznik F - Sprawdza bledy systemu plików, a po wykryciu badblocka oznacza go i proponuje zapisac odzyskane dane z niego do pliku .CHK.

 

Ograniczeniem tego przelacznika jest to, ze sprawdza tylko tabele partycji MFT, i obszar zajety przez dane. (tak w skrócie)

 

Przelacznik R natomiast oprócz wszystkiego tego co robi F dodatkowo skanuje caly obszar dysku (partycji) w obrebie systemu plików pod katem bledów odczytu (badblock) i zaznacza je automatycznie, bez ingerencji uzytkownika. (implikuje przelacznik F).

 

Tak wiec "wylacza" uszkodzone obszary dysku z uzycia przez system plików.

 

Po przejrzeniu linków podanych przez @Fedoras i sprawdzeniu tych informacji dam znac.

 

@thof Dzieki za wskazówki.

 

@WalDo Dzieki za wyjasnienia.

Odnośnik do komentarza
Udostępnij na innych stronach

Witam ponownie!

 

Na wstepie chce zyczyc Wszystkim Wesolych Swiat Bozego Narodzenia i Szczesliwego Nowego Roku.

 

Poniewaz temat jest dosc obszerny, postanowilem go podzielic na kilka czesci.

 

Czesc Pierwsza.

 

Temat: Polecenie Windows 'format a: [enter]' a w Linuksie?

 

Chyba prawie kazdy ze starszych roczników kiedys w zamierzchlych czasach bawil sie w formatowanie dyskietek 3,5" 1.44 MB (to najpopularniejszy format). Wiadomo, ze to polecenie tworzy strukture dysku w systemie Windows (system plików), a litera 'a' oznacza wlasnie stacje dyskietek w 99,9% przypadków. Dyskietka posiada swój specyficzny format wynikajacy z jej niewielkiej pojemnosci, a jest nim FAT12. Oczywiscie jest mozliwe sformatowanie dyskietki w dowolnym formacie, ale tu mówimy o tzw. standardzie.

 

No tak ale jak to zrobic w Linuksie np: Fedora 17 ? :blink:

 

Cóz jak mówia: "Co Kraj to Obyczaj", a wiec...

 

Domyslnie w F17 nie jest dostepna stacja dyskietek, a przynajmniej bylo tak u mnie :P

 

Aby byla dostepna stacja dyskietek 3'5" 1.44MB nalezy uruchomic terminal i zalogowac sie jako root.

 

Czyli:

 

- odpalamy terminal

- wydajemy polecenie 'su' (znaki ['] pomijamy!!!)

- konsola zapyta nas o haslo roota

- wpisujemy je (nie bedzie widoczne) i enter

 

Jesli wszystko poszlo ok, to zamiast

 

[nazwa_urzytkownika@nazwa_komputera ~$] #

 

zobaczymy [root@nazwa_komputera] #

 

Dobrze, udalo sie nam zalogowac jako root ;-)

 

Teraz nalezy zainstalowac obsluge stacji dyskietek.

 

Wpisujemy w terminalu: 'yum install floppy-support'

 

Strona www jesli ktos chce sobie poczytac:

http://pkgs.org/fedora-17/fedora-updates-i386/floppy-support-1.0.0-4.fc17.noarch.rpm.html

 

Po zainstalowaniu, wreszcie mozemy zajac sie formatowaniem dyskietek.

 

Aby bylo to mozliwe nalezy sie upewnic, ze stacja dyskietek nie jest zamontowana.

 

Wpisujemy w terminalu: 'umount /dev/fd0' , pojawi sie stosowny komunikat.

 

Najprosciej jest wpisac 'mformat a:'

 

Jednak to polecenie ma ta wade, ze odpowiada poleceniu Windows 'format a: /q' (/q quick ang.szybki) i nie uwzglednia sprawdzenia formatowanego nosnika. Nalezy wiec stosowac je dla nosników co do których nie ma watpliwosci, ze sa uszkodzone a jest to troche ryzykowne, bo nigdy nic nie wiadomo.

 

A zgodnie z tematem niniejszego postu uwzgledniamy "badblocki".

 

Metod jest kilka, lecz aby dalej nie bylo problemów to aby uzyskac pomoc danego polecenia nalezy wpisac w terminalu:

 

nazwa_polecenia --help

 

a pomoc rozszerzona (tzw. manual) otrzymujemy przez

 

man nazwa_polecenia (po przeczytaniu naciskamy 'q')

 

OK, posluzymy sie poleceniem 'badblocks', sluzy ono tylko do wyszukiwania uszkodzonych obszarów nosnika danych.

 

Skladnie mozecie przejrzec poleceniem: 'badblocks --help' lub 'man badblocks'

 

Aby sprawdzic nasza dyskietke nalezy wpisac:

 

Tryb odczytu (Nie niszczy danych!) 'badblocks -o bad.txt -s -v /dev/fd0'

 

Lista badblocków zostanie zapisana do pliku bad.txt (katalog /home/nazwa_uzytkownika/bad.txt), mozna podac konkretna sciezke.

 

Tryb odczytu j/w z uwzglednieniem poprzedniej listy (szukanie tylko nowych badblocków)

'badblocks -i bad.txt -o bad2.txt -s -v /dev/fd0' J/w lista bad2.txt w /home/nazwa_uzytkownika/bad2.txt2

 

Jest to jednak sposób o tyle nie dobry, ze czesc badbloków ujawnia sie dopiero po zapisie danych i ponownym ich odczycie, wiec powyzsza lista daje nam tylko wglad i moze byc wykorzystana przy ponownym formatowaniu nosnika (tworzeniu systemu plików), nalezy jednak pamietac aby polaczyc w/w dwa pliki w dowolnym edytorze tekstu, kasujac powtarzajace sie linie (cyferki).

 

Tryb Zapisu i Odczytu (!!! UWAGA NISZCZY DANE NA DYSKU !!! PARTYCJI, NOSNIKU, etc.) [opcja '-w' ang.Write - Zapis]

 

'badblocks -o bad.txt -s -v -w /dev/fd0'

 

Polecenie ma 4 przebiegi, najpierw zapisuje kazdy blok wartoscia hex 0xaa, potem porównuje czy odczytana wartosc tez jest 0xaa, potem kolejno dla pozostalych wartosci (tzw. ang.Pattern - Wzorzec 0x55, 0xff, 0x00).

 

Mozna zastosowac polecenie jak wyzej by wyszukac tylko nowe badbloki:

 

'badblocks -i bad.txt -o bad2.txt -s -v -w /dev/fd0'

 

RADA: Mozna nazywac pliki (bad.txt, bad2.txt) dowolnie, np: Dysk_C.txt, Dysk_C2.txt, lub numerkiem dyskietki ;-) Najlepiej aby nazwy sie kojarzyly o który nosnik chodzi, by w przyszlosci nie powtarzac tych czasochlonnych czynnosci.

 

Dobrze, mamy juz swoja liste badbloków np: bad.txt

 

Wypadaloby sformatowac teraz dyskietke z uwzglednieniem znalezionych badsectorów.

 

Wpisujemy w terminalu: 'mkdosfs -a -l bad.txt -n nazwa_dysku -v /dev/fd0' (nazwa_dysku max 11 znaków)

 

Aby sprawdzic juz na sformatowanej dyskietce, czy aby nie ma jeszcze jakis badbloków wydajemy polecenie:

 

'dosfsck -a -r -t -v -w /dev/fd0'

 

Teraz mozna korzystac z dyskietki.

 

 

.:::Dla niecierpliwych :lol: :::.

 

Ciekawostka: Utworzona liste bad.txt mozna wykorzystac przy formatowaniu w prawie kazdym wazniejszym systemie plików!

 

Ciekawostka 2: W analogiczny sposób tworzymy inne systemy plików na innych napedach (HDD, USB, etc.)

 

Ciekawostka3: Aby uzyskac liste obslugiwanych systemów plików (dostepnych mozliwosci) w menu "podglad" wybieramy "programy" "akcesoria" "WYSZUKAJ PLIKI" (ikona lupy)

 

Po uruchomieniu w polu "nazwa zawiera" wpisujemy 'mk' a w polu "Wyszukiwanie w katalogu" wybieramy "inne" i "sbin", klikamy znajdz...

 

Naszym oczom ukaze sie lista programów (typ Program) sluzacych do zakladania systemu plików (odpowiedniki Windowsowego "Format") dla poszczególnych systemów plików.

 

teraz wpisujemy w polu "nazwa zawiera" 'fsck', reszta bez zmian i klikamy znajdz...

 

Naszym oczom tym razem ukaze sie lista programów (typ Program) sluzacych do sprawdzania danego systemu plików (odpowiedniki Windowsowego "SkanDisk" lub "ChkDsk" dla poszczególnych systemów plików)

 

Wystarczy wpisac 'man' "polecenie z listy" w terminal aby uzyskac opis.

 

 

Podsumowanie:

 

Sposób w Windowsie jest prostszy, bo jednym poleceniem obslugujemy wszystkie dostepne w Windows Systemy plików.

 

Sposób w Linuksie Fedora 17 jest na pozór bardziej zlozony i poczatkujacym uzytkownikom jest raczej ciezko zrozumiec zasade dzialania, lecz po opanowaniu (mysle, ze mój post w tym pomoze) stwarza wielkie mozliwosci, a modulowa budowa (kazdy system plików ma swój program do obslugi) powoduje, ze nie trzeba zmieniac, ulepszac wszystkiego, a tylko to co niezbedne i konieczne. W Windows nie jest mozliwe stworzenie listy badbloków i wykorzystanie jej do kazdego systemu plików, tam trzeba za KAZDYM RAZEM przezywac to na nowo. (Istnieje oczywiscie sposób, aby troche to przyspieszyc, lecz ma swoje ograniczenia).

 

Nawiasem mówiac sposobem tu opisanym udalo mi sie sformatowac dyskietki, które Windows nie byl w stanie nawet ugryzc. (blad sciezki zero) a w Linuksie smigaja, az milo! :)

Postaram sie wkrótce zamiescic kolejne posty na ten temat. Pozdrawiam, Tomek

 

PS.

Licze na uwagi i sugestie w tym temacie, zaznaczam ze jestem poczatkujacym uzytkownikiem Linuksa, wiec prosze sie nie wozic. :P

 

Powyzszy sposób zostal opracowany na podstawie wlasnych prób i bledów a dzialanie komend i wyników ich dzialania wielokrotnie sprawdzone zarówno w systemie Linux Fedora 17 jak i Windows. Nie ponosze jednak odpowiedzialnosci za nie wlasciwe uzytkowanie materialu, który tu zamieszczam, co moze sie wiazac z utrata danych. Kazdy uzytkownik powinien przed uzyciem zapoznac sie z instrukcja kazdej komendy i stosowac sie do nich swiadomie. Powyzszy material powstal dzieki ogólnie dostepnym materialom w internecie, a takze dzieki uprzejmosci ludzi na tym forum.

Odnośnik do komentarza
Udostępnij na innych stronach

Jeśli chcesz dodać odpowiedź, zaloguj się lub zarejestruj nowe konto

Jedynie zarejestrowani użytkownicy mogą komentować zawartość tej strony.

Zarejestruj nowe konto

Załóż nowe konto. To bardzo proste!

Zarejestruj się

Zaloguj się

Posiadasz już konto? Zaloguj się poniżej.

Zaloguj się
×
×
  • Dodaj nową pozycję...