Podejrzewam, że na dysku może znajdować się zły sektor. Użyłem systemu plików ext3.
Jakie narzędzie jest najlepszym odpowiednikiem narzędzia do sprawdzania błędów w systemie Windows?
Podejrzewam, że na dysku może znajdować się zły sektor. Użyłem systemu plików ext3.
Jakie narzędzie jest najlepszym odpowiednikiem narzędzia do sprawdzania błędów w systemie Windows?
Odpowiedzi:
Aby sprawdzić uszkodzone sektory, sprawdź dane SMART, prawdopodobnie najlepiej dostępne, uruchamiając narzędzie Dyski ( Palimpsest ). Nawet jeśli nie widzisz żadnych złych bloków, uruchom autotest, aby się upewnić.
Program jest zawarty w gnome-disk-utility
pakiecie. Biegaćgksudo gnome-disks
Lub w wersji Ubuntu 16.04 (3.18):
Możesz także użyć badblocks
sudo badblocks -sv /dev/sda
aby tylko sprawdzić lub najpierw sprawdzić i naprawić, zapisz wynik do pliku tymczasowego:
sudo badblocks -sv /dev/sda > bad-blocks-result
sudo fsck -t ext4 -l bad-blocks-result /dev/sda1
sprawdzi cały dysk i wydrukuje wszystkie złe bloki napotkane na / dev / sda .
Z badblocks
instrukcji:
Ważna uwaga: jeśli dane wyjściowe złych bloków mają być podawane do programów e2fsck lub mke2fs, ważne jest prawidłowe określenie rozmiaru bloku, ponieważ generowane numery bloków są bardzo zależne od rozmiaru bloku używanego przez system plików . Z tego powodu zdecydowanie zaleca się, aby użytkownicy nie uruchamiali Badblocks bezpośrednio, ale raczej używali opcji -c programów e2fsck i mke2fs.
fsck
fsck
samo w sobie nie pomoże ci znaleźć złych sektorów, a co gorsza, jeśli jest wiele złych sektorów, może jeszcze bardziej uszkodzić twoje dane. Używaj go tylko wtedy, gdy dysk jest w dobrej kondycji.
W tej odpowiedzi założę, że dysk pamięci pojawia się jako urządzenie blokowe na ścieżce /dev/sdc
. Aby znaleźć ścieżkę dysku do przechowywania danych w naszej bieżącej konfiguracji, użyj:
palimpsest
), jeśli GUI jest dostępny, lublsblk
i ls -l /dev/disk/by-id
i starają się znaleźć właściwe urządzenie według rozmiarów, partycjonowania, producenta i nazwą modelu.Czasami nośnik pamięci po prostu w ogóle nie chce działać. Nadal pojawia się jako urządzenie blokujące jądro i menedżer dysku, ale jego pierwszy sektor zawierający tablicę partycji nie jest czytelny. Można to łatwo zweryfikować za pomocą:
sudo dd if=/dev/sdc of=/dev/null count=1
Jeśli to polecenie spowoduje wyświetlenie komunikatu o „błędzie wejścia / wyjścia”, oznacza to, że dysk jest uszkodzony lub w inny sposób nie działa zgodnie z oczekiwaniami z jądrem systemu Linux. W tym pierwszym przypadku, przy odrobinie szczęścia, specjalista ds. Odzyskiwania danych z odpowiednio wyposażonym laboratorium może uratować jego zawartość. W tym drugim przypadku warto wypróbować inny system operacyjny. (Natknąłem się na dyski USB, które działają w systemie Windows bez specjalnych sterowników, ale nie w systemie Linux lub OS X.)
Urządzenia, które go obsługują, można zapytać o ich stan zdrowia za pomocą SMART lub poinstruować je o przeprowadzeniu autotestów integralności o różnej dokładności. Jest to zazwyczaj najlepsza opcja, ale zwykle dostępna tylko na (nie starożytnych) dyskach twardych i dyskach SSD. Większość wymiennych nośników flash nie obsługuje tego.
Dalsze zasoby i instrukcje:
Aby przetestować integralność odczytu całego urządzenia bez zapisywania na nim, możemy użyć w badblocks(8)
następujący sposób:
sudo badblocks -b 4096 -c 4096 -s /dev/sdc
Ta operacja może zająć dużo czasu, zwłaszcza jeśli dysk pamięci faktycznie jest uszkodzony. Jeśli liczba błędów wzrośnie powyżej zera, będziemy wiedzieć, że jest zły blok. Możemy bezpiecznie przerwać operację w dowolnym momencie (nawet na siłę podczas awarii zasilania), jeśli nie jesteśmy zainteresowani dokładną ilością (i być może lokalizacją) złych bloków. Z opcją możliwe jest przerywanie automatycznie po błędzie -e 1
.
Uwaga dla zaawansowanych zastosowań: jeśli chcemy ponownie wykorzystać dane wyjściowe e2fsck
, musimy ustawić rozmiar bloku ( -b
) na taki, jaki zawiera system plików. Możemy również dostosować ilość danych ( -c
w blokach) testowanych jednocześnie, aby poprawić przepustowość; 16 MiB powinno być w porządku dla większości urządzeń.
Czasami - szczególnie w przypadku Flash Media - błąd pojawia się tylko podczas próby zapisu. (Nie będzie to niezawodnie wykryć (flash) mediów, które reklamują większy rozmiar, niż faktycznie mają; zamiast tego użyj Fight Flash Fraud .)
NIGDY nie używaj tego na dysku z zamontowanymi systemami plików ! badblocks
i tak odmawia działania na nich, chyba że wymusisz to.
Nie przerywaj tej operacji na siłę ! Ctrl+ C(SIGINT / SIGTERM) i oczekiwanie na wdzięczne przedwczesne zakończenie jest w porządku, ale killall -9 badblocks
(SIGKILL) nie. Po wymuszonym zakończeniu badblocks
nie może przywrócić oryginalnej zawartości aktualnie testowanego zakresu bloków i pozostawi nadpisane niepotrzebne dane i może uszkodzić system plików.
Aby użyć nieniszczących kontroli odczytu i zapisu, dodaj -n
opcję do powyższego badblocks
polecenia.
Jak wyżej, ale bez przywracania poprzedniej zawartości dysku po wykonaniu testu zapisu, dlatego jest nieco szybszy. Ponieważ dane i tak są usuwane, wymuszone zakończenie pozostaje bez (dodatkowych) negatywnych konsekwencji.
Aby użyć destrukcyjnych kontroli odczytu i zapisu, dodaj -w
opcję do powyższego badblocks
polecenia.
fsck - sprawdź i napraw system plików Linux. Wywołaj za pomocą
fsck /dev/sda1
gdzie / dev / sda1 to dysk, który chcesz sprawdzić. Aby uzyskać więcej informacji, zobacz „man fsck”.
Istnieje również polecenie „badblocks”, które sprawdza urządzenie pod kątem, zgadłeś, złych bloków.
Po zaznaczeniu dysk musi zostać odmontowany, więc aby sprawdzić partycję główną, należy utworzyć plik „forcefsck” w katalogu głównym partycji i zrestartować komputer. Urządzenie zostanie sprawdzone przy następnym uruchomieniu:
sudo touch /forcefsck
sudo reboot
Alternatywnie możesz uruchomić komputer z Live CD i uruchomić stamtąd sprawdzanie.
sudo dumpe2fs -b /dev/sda9
. Ale myślę, że lepiej jest, jeśli dysk zajmuje się uszkodzonymi sektorami, a nie systemem plików (SMART, złe bloki itp., Zobacz mój post).
Możesz sprawdzić, czy nie ma uszkodzonych bloków uruchamiających polecenie
sudo badblocks -nsv /dev/[device-partition] > bad-blocks-result
do nieniszczącego testu odczytu i zapisu. To wygeneruje plik wywołany bad-blocks-result
z uszkodzonymi sektorami.
-n Użyj nieniszczącego trybu odczytu i zapisu. Domyślnie wykonywany jest tylko nieniszczący test tylko do odczytu.
-s Pokaż postęp skanowania, zapisując przybliżone procentowe ukończenie bieżącego przejścia z błędami przez dysk.
-v Tryb pełny.
sudo fsck -t ext3 -l bad-blocks-result /dev/[device-partition]
aby powiedzieć systemowi plików, gdzie znajdują się uszkodzone sektory i przenieść dane, jeśli to możliwe.Więcej informacji na ten temat można znaleźć tutaj .
fsck
Polecenia nie powiedzie się z btrfs
systemów plików.
IMO smartctl jest lepszym narzędziem. Najpierw prawdopodobnie musisz go zainstalować
sudo apt-get install smartmontools
Następnie
sudo smartctl -a /dev/sda | less
aby wydrukować dane o kondycji dysku, atrybuty i dostępne wyniki testu. Aby rzucić mniej, wpisz q
. Alternatywnie
sudo smartctl -H /dev/sda
po prostu wydrukować dane dotyczące zdrowia.
Aby rozpocząć nowy krótki (kilka minut) lub długi (do wielu godzin) autotest w tle:
sudo smartctl -t [short|long]
GSsmartControl ( strona główna ) i Dyski Gnome są graficznymi nakładkami, jeśli wolisz.
smartctl
zgłoszono: „Nieznany most USB”, „Proszę podać typ urządzenia za pomocą opcji -d”. Potrzebne mi dane znalazłem na: smartmontools.org/wiki/Supported_USB-Devices .
F3 (Fight Flash Fraud) to kolejna opcja, która powinna dodatkowo wykrywać fałszywe dyski flash (dyski flash, których faktyczna pojemność stanowi ułamek pojemności reklamowanej):
Zainstaluj F3
sudo apt install f3
Włóż dysk
Zapisz dane testowe w wolnym miejscu na dysku (sprawdź, gdzie jest zamontowany dysk lsblk
)
f3write /media/$USER/D871-DD7C/
Przeczytaj dane testowe
f3read /media/$USER/D871-DD7C/
Odniesienie:
Badblocks działa dobrze, ale nie jest przeznaczony do wykrywania fałszywych dysków flash i może nie zgłaszać żadnych błędów .
badblocks
z -w
lub z fsck
zaznaczonymi sektorami jako złe / uszkodzone, więc nie są używane. f3 może zwrócić coś takiego Corrupted: 16.01 MB (32784 sectors)
, ale czy oznacza to jako złe sektory? Czy nadal potrzebujemy do tego wad? Próbuję zdumpe2fs -b
i wydaje się, że id nie oznacza.
Możesz przetestować-odczytać cały dysk, pokazując wskaźnik postępu:
time sudo pv /dev/sdc >/dev/null
Pewne problemy z dyskami objawiają się jako zgłaszane błędy we / wy. Jest to nieco ładniejsze niż dd
ze względu na wskaźnik postępu i ponieważ interfejs wiersza poleceń jest nieco bardziej standardowy i nieco mniej podatny na literówki . Zauważ, że pv
jest to w zasadzie ulepszona wersja cat
. Może nie być instalowany domyślnie, ale można go zainstalować za pomocą sudo apt-get install pv
.
Podobne podejście polega na odczytywaniu dysku za pomocą jednego z kilku dostępnych narzędzi, które są szczególnie świadome błędów we / wy dysku - i mają funkcję „trudnego ratowania danych”. Wyszukaj ddrescue
w menedżerze pakietów.
dd count=1
jest również dość szybki, chyba że nośnik pamięci jest całkowicie uszkodzony (lub nieobsługiwany).
ddrescueview
dd
ma wskaźnik postępu z status=progress
.
Jeśli masz partycję, której NIE MOŻNA UTRACIĆ DANYCH, wykonaj następujące kroki
$fdisk -l commnd
Załóżmy, że partycja do sprawdzenia nazywa się / dev / sdPTC (partycja do sprawdzenia) i że masz inną partycję do przechowywania wyników zamontowanych w folderze / scan / resultPath /
2. Następnie możesz uruchomić to polecenie
$sudo badblocks -v /dev/sdPTC > /scan/resultPath/badsectors.txt
który określi złe bloki danego urządzenia i zapisze je w pliku o nazwie badsectors.txt
fsck
polecenia, aby powiedzieć Ubuntu, aby nie używał uszkodzonych sektorów wymienionych w pliku badsectors.txt.$sudo fsck -l /scan_result/badsectors.txt /dev/sda
W ten sposób życie dysku twardego jest nieco zwiększane, dopóki nie pojawi się nowy do wymiany.
Jeśli masz kompletną partycję, którą chcesz sprawdzić pod kątem wadliwych sektorów fizycznych i MOŻESZ POPRAWIĆ WSZYSTKIE DANE na tej partycji lub PUSTY, wykonaj następujące kroki
$sudo apt-get install gnome-disk-utility
$sudo gnome-disks
Sprawdź i dokładnie sprawdź, czy na tej partycji nie ma ważnych danych
Używanie gnome-disks
DELETE / REMOVE partycji ręcznie za pomocą znaku „-”
Za pomocą gnome-disks
UTWÓRZ nową partycję i wybierz opcję „powolną”, która sprawdzi podane miejsce pod kątem błędów
bionic beaver
obsługuje kontrole dysku inaczej?