Nagle zacząłem pojawiać się błędy podczas kopiowania plików na zewnętrzny dysk twardy. Jest dużo wolnego miejsca: 1,64 TB bez 3,63 TB. Udało mi się ukończyć kopiowanie pliku, wykonując jedną z dwóch czynności:
- Najpierw należy usunąć niektóre duże pliki z zewnętrznego dysku twardego
- LUB umieszczenie dysku twardego w innej obudowie USB
Ponadto narzędzie do sprawdzania błędów systemu Windows 8 nie powiedzie się z błędem, chyba że zostanie użyta inna obudowa USB (w tym przypadku usunięcie dużych plików nie pomaga). Narzędzie wiersza polecenia CHKDSK zawsze działa i nie zgłasza błędów na dysku.
Jak mogę potwierdzić, że obudowa dysku twardego USB była przyczyną problemu? (Chciałbym potwierdzić, że problem nie dotyczy mojego dysku twardego i można z niego bezpiecznie korzystać.) I jak mogę określić pojemność obsługiwaną przez obudowę dysku twardego USB?
szczegółowe informacje:
Błąd podczas kopiowania dużego pliku:
- Kod 0x80070057 wydaje się być dość ogólnym kodem.
- Zaraz po otrzymaniu tego błędu pomyślnie skopiowałem plik 2 GB. Próbowałem ponownie skopiować ten sam plik (łącznie 4 TB) i otrzymałem ten sam błąd.
- W dziennikach zdarzeń systemowych wydaje się, że jest to rejestrowane za każdym razem, gdy kopia kończy się niepowodzeniem: „Kopie w tle woluminu D: zostały przerwane z powodu awarii operacji we / wy woluminu D:”.
Błąd narzędzia sprawdzania błędów systemu Windows 8:
- Po awarii otwiera przeglądarkę zdarzeń Windows z pewnym błędem związanym z kopiowaniem woluminu w tle. (Zapomniałem zapisać szczegóły na ten temat)
Sprzęt komputerowy:
- Obudowa dysku twardego Enermax Jazz 3.5 USB (ta powoduje błędy; jest to dość stary model).
- Stacja dokująca USB HDD Leto DATACLONE3.0 (Ten wydaje się nie zawierać błędów; znacznie nowszy model.)
- Dysk twardy Western Digital 4 TB ZIELONY WD40EZRX
System plików:
- GPT (dysk 2 MB MBR został sklonowany na dysk 4 TB, a następnie tablica partycji przekonwertowana na GPT)
- NTFS
System:
- Windows 8
- Laptop Lenovo X1 Carbon
aktualizacja: Więcej szczegółów z zarejestrowanego zdarzenia „Kopie w tle woluminu D: zostały przerwane ...”:
System - dostawca [Nazwa] volsnap - EventID 14 [Kwalifikatory] 49158 Poziom 2 Zadanie 0 Słowa kluczowe 0x80000000000000 - TimeCreated [SystemTime] 2015-01-24T21: 23: 54.296013300Z EventRecordID 1063256374 System kanałów Komputer X1-Carbon Bezpieczeństwo - EventData \ Device \ HarddiskVolumeShadowCopy6 RE: RE: 0000000003003000000000000E0006C00A0000000D0000C002000000000000000000000000000000
aktualizacja 2:
Błąd montażu napędu 4 TB w Ubuntu ze stacją dokującą działającą w systemie Windows:
Błąd montowania / dev / sdc1 at / media / daniel / DeskStar: Wiersz polecenia `mount -t" ntfs "-o" uhelper = udisks2, nodev, nosuid, uid = 1000, gid = 1000, dmask = 0077, fmask = 0177 Wyjście „” / dev / sdc1 ”„ / media / daniel / DeskStar ”z niezerowym statusem wyjścia 13: ntfs_attr_pread_i: ntfs_pread nie powiodło się: Błąd wejścia / wyjścia Nie można odczytać mapy bitowej NTFS $: Błąd wejścia / wyjścia NTFS jest albo niespójny, albo występuje awaria sprzętowa, albo jest Sprzęt SoftRAID / FakeRAID. W pierwszym przypadku uruchom polecenie chkdsk / f w systemie Windows następnie dwukrotnie uruchom ponownie system Windows. Zastosowanie parametru / f jest bardzo duże ważny! Jeśli urządzeniem jest SoftRAID / FakeRAID, najpierw aktywuj i zamontuj inne urządzenie w katalogu / dev / mapper /, (np / dev / mapper / nvidia_eahaabcc1). Zobacz dokumentację „dmraid” po więcej szczegółów.
Dysk nie jest wymieniony na fdisk -l
, więc nie mogę spróbować dd
... Próbowałem ponownie podłączyć się do systemu Windows: nie ma problemu; Narzędzie do sprawdzania błędów właściwości dysku systemu Windows nie zgłasza błędów.
Również:
Próbowałem użyć dd
na (problem?) Obudowie z innym dyskiem twardym 2 TB:
- Brak odczytu błędu
skip=0
- Brak odczytu błędu
skip=SOMEWHERE_NEAR_MIDDLE_OF_DRIVE
- Błędy odczytu sektorów na końcu lub blisko końca dysku:
daniel @ computer: ~ $ sudo dd bs = 512 if = / dev / sdb1 of = test skip = 3907026942 count = 1 dd: '/ dev / sdb1': nie można pominąć: niepoprawny argument 0 + 0 rekordów w 0 + 0 zapisów 0 bajtów (0 B) skopiowanych, 0,000210598 s, 0,0 kB / s
źródło
HKEY_LOCAL_MACHINE\Software\Microsoft\Windows NT\CurrentVersion\SPP
, nowy DWORD o nazwieCreateTimeout
, wartość 12000000 (2 * 10 * 60 * 1000 = 20 minut) w systemie dziesiętnym, a następnie uruchom ponownie.Odpowiedzi:
Jeśli jest to dysk USB i jest on związany z rozmiarem, oznacza to, że dysk USB nie przetwarza poprawnie żądania zapisu sektora (i prawdopodobnie również odczytu). Rozmiar pliku nie ma znaczenia. Przyczyną jest to, że większy plik ma „części” wychodzące poza adresowalną granicę.
Ze względu na fragmentację dysku trudno jest potwierdzić lub odrzucić tę hipotezę, ale można wypróbować dowolne narzędzie, które wyświetla mapę fragmentacji dysku. Powinno to wyświetlić duży dysk z początkiem, który się zapełnia, i nic poza pewnym punktem. Zwłaszcza na końcu.
Na dysku FAT32 można spróbować wypełnić dysk małymi plikami, każdy o wielkości 8 KB, dopóki obszar „osiągalny” nie zostanie zapełniony, a dysk stanie się niemożliwy do zapisu. Ale dysk to NTFS, ale metoda nie jest tak naprawdę bardzo precyzyjna ani pewna.
Jeśli to w ogóle możliwe, zamontowałbym dysk w dystrybucji Linux na żywo. W tym momencie możesz spróbować odczytać dysk po jednym sektorze na raz:
powie ci, ile 512-bajtowych bloków znajduje się na dysku zewnętrznym. Następnie
zażąda odczytu sektora NNNNN (one-based :-)).
Jeśli chodzi o ograniczenie do NNNNN, zauważysz, że:
...
więc możesz zacząć od klasycznego algorytmu bisekcji i ustalić, gdzie znajduje się sektor krytyczny „C” (każdy sektor przed C jest czytelny, a później nie). Jeśli taki sektor istnieje, masz albo niesamowicie dziwne uszkodzenie sprzętu, albo dowód, którego szukałeś, od winy obudowy.
Aktualizacja - znalezienie granicy przez podzielenie na dwie części: przykład
Powiedzmy, że dysk ma pojemność 4 TB, czyli 8 000 000 000 sektorów. Wiemy, że sektor 1 jest czytelny, a sektor 8 miliardów nie. Niech READABLE będzie równa 1, niech UNREADABLE będzie równa 8. Wówczas algorytm:
Wyobraźmy sobie, że granica leży w sektorze 3.151.592.653 z powodu jakiegoś dziwnego błędu w obudowie.
W ten sposób CZYTELNY i NIEDOSTĘPNY zbliża się bliżej nieznanej granicy z obu kierunków. Gdy są wystarczająco blisko, możesz nawet przejść do wszystkich sektorów pomiędzy.
Aby zlokalizować granicę, należy odczytać tylko log2 (max - min) = log2 (4 TB - 0) = log2 (4 TB) = log2 (2 40 ) = 40 (właściwie myślę, że 42) sektorów. Biorąc pod uwagę 30-calowe opóźnienie resetu na obudowie, gdy wystąpi błąd odczytu, powinno to wynosić najwyżej 20 minut; prawdopodobnie znacznie mniej.
Gdy masz już granicę B, aby potwierdzić, że jest to granica, możesz wykonać sekwencyjny odczyt dużych fragmentów przed B (nie potrwa to zbyt długo), może jeden megabajt na każdy gigabajt; a następnie losowe próbkowanie sektorów poza B. Na przykład pierwsze 4 * 63 sektory poza granicą, następnie jeden sektor co 3905 (lub każdy RAND (4000, 4100)), aby uniknąć uderzenia zawsze w ten sam talerz magnetyczny.
Ale tak naprawdę, jeśli znajdziesz zachowanie podobne do granicy i potwierdzisz, że przy innej klauzuli nie ma takiej granicy - cóż, ogłosiłbym (zamkniętą) sprawę.
źródło
CHKDSK /r
ponieważ zajęło to kilka tygodni.) Ponadto: Boję się nieokreślonego zachowania obudowy teraz, gdy trudne dysk ma dane przekraczające hipotetyczny limit adresowalny.dd
czyta pusty sektor? Czym różni się od błędu podczas odczytu prawidłowego sektora (ale nie można go rozwiązać przez kontroler obudowy). BTWdd
(„niszczyciel dysku”) brzmi jak niebezpieczne polecenie: SError: attempt to access beyond end of device
bez zwłoki. Jeśli zagranie zagra faul, prawdopodobnie dostanieszend_request: I/O error, dev sdc, sector 3141592700
opóźnienie.dd
(tak naprawdę to dumper dyskowy :-)), jest to niebezpieczne, do cholery - może czytać z dysku, ale może także pisać , całkowicie nadpisując wszystko, co znajdzie. Zawsze upewnij się, że „if =” wskazuje na coś, co chcesz przeczytać, a „of =” wyświetla coś, co możesz wygodnie zastąpić, na przykład plik lub/dev/null
.OK, chyba to wymyśliłem:
dmesg
dziennik, aby zweryfikować pamięć adresowalną obsługiwaną przez urządzenie USB.Ten sam napęd, różne obudowy dają dwie różne zgłaszane pojemności:
7814037168 512-byte logical blocks: (4.00 TB/3.63 TiB)
3519069872 512-byte logical blocks:(1.80 TB/1.63 TiB)
Pełne szczegóły:
1.
dmesg
przy podłączaniu „nowoczesnej” stacji dokującej z napędem 4 TB:2.
dmesg
przy podłączaniu starszej obudowy z napędem 4 TB:źródło
Istnieje kilka sposobów przetestowania dysku twardego. Pobierz oprogramowanie o nazwie „HDTune”. Jest to program płatny, ale ma wersję próbną, która działa przez 30 dni z pełną funkcjonalnością. Możesz go używać do sprawdzania uszkodzonych sektorów, sprawdzania stanu dysku twardego. W każdym razie miałeś złe sektory, możesz spróbować naprawić to za pomocą Regeneratorów HDD, Pobierz Hirens, których osobiście używam.
Upewnij się, że nie masz żadnych dysków twardych umieszczonych poza tym, który chcesz przetestować. jest bootowalny, możesz go wypalić na dysku CD lub USB.
następnie sugeruję sprawdzenie kabli. Zwłaszcza na dyskach zewnętrznych, zwykle te błędy są spowodowane brakiem zasilania, spróbuj podłączyć go do innego komputera lub zmienić kable, jeśli masz dodatki, a następnie sprawdź, czy nadal nie działa.
źródło
Dziwne, że generuje błąd przy plikach powyżej 4 GB. Ponieważ FS to NTFS, ograniczenie jest wykluczone.
Podejrzewam, że to błąd braku synchronizacji bufora.
Spróbuj: przejdź do regedit ->
HKEY_LOCAL_MACHINE\SOFTWARE\Policies\Microsoft\System
Utwórz nową wartość DWORD o nazwieCopyFileBufferedSynchronousIo
. Zmień jego wartość z domyślnej 0 na 1.Inne kwestie do rozważenia: Czy masz bardzo duże ścieżki i nazwy plików (na przykład ponad 255 znaków)? Czy używasz dodatkowych języków w systemie operacyjnym lub innych niż domyślne ustawienie formatu regionalnego / klawiatury lub formatu godziny / daty? (Choć to dziwne, może to zepsuć wystarczająco dużo rzeczy w oknach). Alternatywnie kontroler dysku zewnętrznego może nie być w stanie zająć więcej niż 2,0 TB. -edit- Czy możesz opublikować zrzut ekranu z dokładnie używaną obecnie przestrzenią?
źródło