Czy Ubuntu uszkadza dyski USB?

74

Za każdym razem, gdy odłączam dysk USB za pomocą Nautilus i podłączam go do komputera z systemem Windows, otrzymuję ostrzeżenie, że dysk wymaga naprawy.


(ta sama wiadomość jak na tym zrzucie ekranu)

Przez ponad 10 lat pracy z systemem Windows nigdy nie miałem uszkodzonego lub uszkodzonego napędu USB, ale w ciągu ostatnich dwóch lat trzy z moich napędów USB przestały działać, więc nie mogę tego udowodnić, ale oczywiste jest, że jest to związane z (nie) montażem Ubuntu .

Znajomy powiedział mi, że mogę zapobiec takim uszkodzeniom za pomocą udisk i synchronizacji, ale mam nadzieję, że nie w ten sposób można to zrobić, montując dyski za pomocą poleceń powłoki w 2016 roku.

jan6352781
źródło
1
Wypróbuję dwa testy, aby ustalić przyczynę: 1) Czy możesz zapobiec pojawianiu się błędu, jeśli wywołasz syncpowłokę przed odmontowaniem w Ubuntu? (mało prawdopodobne) 2) Spróbuj zapisać tylko jeden plik na raz, odmontuj, a następnie sprawdź, czy plik ten można odczytać w systemie Windows, a jego zawartość jest aktualna, pomimo zobaczenia tego ostrzeżenia. 2) oznacza, że ​​problem najprawdopodobniej polega na tym, że Windows jest wybredny, mówiąc „znaleźliśmy błędy” na temat nierealnego problemu.
arielf
2
Nie wierz ludziom, kiedy mówią ci, że Linux nie uszkodzi twoich dysków. To może. Na Ubuntu 15 zwykła kopia pliku, a następnie ponowne uruchomienie konsekwentnie dawały mi błędy w chkdsk w następujący sposób:Stage 2: Examining file name linkage ... Found corrupt basic file structure for "<0x32,0x1e63>" ... queued for offline repair. Found an unneeded link ($FILE_NAME: ???) in index "$I30" of directory "\ <0x5,0x5>" ... queued for offline repair. Found missing Index entry for file "<0x32,0x1e63>" from index "\??\D:\found.000" of directory "$I30" ... queued for offline repair.
Mehrdad
1
^ ... nie wspominając, to nie było nawet na dysku flash, to było na moim głównym dysku SSD. Zupełnie nowy dysk SSD. I zdarzało się to za każdym razem , gdy nie dodałem ton dodatkowych I / O po skopiowaniu pliku. Innymi słowy, implementacja systemu plików NTFS w Linuksie jest zepsuta, ponieważ fani będą chcieli temu zaprzeczyć i nie uwierzą.
Mehrdad
12
Czy to jest system plików NTFS? FAT32? Czy potrafisz to rzetelnie odtworzyć?
Braiam
2
Co jest złego w montowaniu dysków za pomocą poleceń powłoki ? ¯\(o_o)/¯
ulidtko

Odpowiedzi:

104

Nie martw się, Ubuntu nie uszkodziło dysku USB. Ale nie używamy źle udokumentowanych flag bitowych systemu plików FAT32, FAT16 lub NTFS. W systemie Windows flagi te wskazują na prawdopodobnie uszkodzony system plików, gdy nie odmontowaliśmy poprawnie napędu lub wystąpił błąd we / wy.

Te bity znajdują się w zarezerwowanym wpisie tablicy partycji FAT. Według wewnętrznego dokumentu Microsoft z 2004 r . Celem tych bitów jest:

  • ClnShutBitMask:
    Jeśli bit ma wartość 1, głośność jest „czysta”. Wolumin można zamontować w celu uzyskania dostępu. Jeśli bit ma wartość 0, wolumin jest „brudny”, co wskazuje, że sterownik systemu plików FAT nie był w stanie prawidłowo odinstalować woluminu (podczas poprzedniej operacji montowania). Zawartość woluminu powinna zostać przeskanowana pod kątem uszkodzeń metadanych systemu plików.
  • HrdErrBitMask:
    Jeśli ten bit ma wartość 1, nie napotkano błędów odczytu / zapisu dysku. Jeśli ten bit ma wartość 0, implementacja sterownika systemu plików napotkała błąd We / Wy dysku na woluminie przy ostatnim podłączeniu, co wskazuje, że niektóre sektory mogły się zepsuć. Zawartość woluminu należy przeskanować za pomocą narzędzia do naprawy dysku, które wykonuje na nim analizę powierzchni w poszukiwaniu nowych uszkodzonych sektorów.

Kilka lat temu była dyskusja z programistami systemu plików jądra, jak to rozwiązać, ale nie byłem w stanie śledzić wyników. Najwyraźniej nie przeszedł do najnowszych jąder.

Ponieważ w grę wchodzi tylko niewielka flaga, ale generalnie nasze dane powinny być w idealnym stanie, możemy zignorować ostrzeżenia dotyczące systemu Windows na dyskach, których wcześniej używaliśmy w Ubuntu.

Takkat
źródło
3
Nigdy nie miałem tych błędów na tych dyskach, kiedy faktycznie bezpiecznie odmontowałem dyski - czy na pewno brakuje obsługi tych bitów?
Thomas Ward
5
@ThomasW. Te bity są dość niejasne, ale czasami mam te błędy w moich dyskach USB sformatowanych w systemie Ubuntu w moim miejscu pracy Windows 7. Do tej pory nie widziałem żadnego pomocnego wzorca. Mogę tylko powiedzieć, że zawsze prawidłowo odmontowuję / wysuwam dyski. Testowanie nie jest łatwe, ponieważ w domu bez systemu Windows, w pracy bez Ubuntu.
Takkat
Nagłówek jest fałszywy.
MatthewRock
@MatthewRock: lepiej?
Takkat
Tak, jest lepiej.
MatthewRock
74

Jest to głównie problem z systemem Windows. Uważa, że ​​jest to jedyny system operacyjny na świecie i działa, jeśli wykryje coś, czego nie rozumie.

To, że Windows mówi, że musisz naprawić dysk, nie jest prawdą.

Każdy z moich dysków używanych z Ubuntu otrzymuje ten komunikat z Windows, po prostu mówię noi działają dobrze z Windows.

Krótko mówiąc, nie ma nic złego w napędzie, jest po prostu coś, czego Windows nie rozumie, a jego reakcją jest zniszczenie go.

Nie repairdysk, sformatuje go bez powiadomienia, a stracisz wszystkie dane na dysku.

Mark Kirby
źródło
40
1. Naprawa nie formatuje, naprawa zapisuje przydzielone dane w folderze. Wydaje mi się, że Ubuntu nie kończy poprawnie procesu zapisu.
jan6352781
10
2. Większość napędów USB ma format FAT32, który został opracowany przez Microsoft, więc dlaczego Windows miałby być jedynym systemem, który „czegoś nie rozumie”?
jan6352781
17
-1, ponieważ jest to nieuzasadnione i złe. Widziałem, jak Ubuntu 15 psuje mój wolumin NTFS (tak, wiem, że mi nie uwierzysz, ale widziałem to na własne oczy i odtworzyłem przynajmniej 3-4 razy z rzędu, zanim sam w to uwierzę), i to zdarzyło się nawet pomimo tego, że wyraźnie zsynchronizowałem wszystkie bufory. Zgadzam się z @ jan6352781, że również podejrzewałem, że było to spowodowane nieukończeniem procesu zapisu i nadal tak robię. W rzeczywistości, jeśli zaczekasz wystarczająco długo po zapisaniu przed ponownym uruchomieniem Ubuntu, działa dobrze. Nie mamy żadnego powodu, aby sądzić, że Windows jest winny, i każdy powód, by sądzić, że Ubuntu jest.
Mehrdad
7
Naprawienie dysku nie powoduje jego sformatowania. Działa w chkdsk. Nie formatuje więcej dysku niż fsck formatuje dysk.
Journeyman Geek
16
Ta cała odpowiedź to tylko Windows Rant z zerowymi dowodami (z wyjątkiem niepotwierdzonych).
Millie Smith,
18

Jak zasugerowałeś w komentarzu, jest to prawdopodobnie związane z tym, że Ubuntu nie kończy procesu zapisu przed usunięciem dysku flash. Ubuntu zapisuje pliki do pamięci RAM podczas procesu kopiowania i zapisuje je z bufora na dysku USB w tle po zamknięciu okna dialogowego kopiowania. Jest inna odpowiedźsugeruje to, że jest to szczególnie problem w przypadku komputerów z dużą ilością pamięci, ale prawdopodobne jest, że wyjmiesz dysk przed zakończeniem zapisu w tle. Po wysunięciu dysku wymusza to zapisanie bufora na dysku, ale trudno jest stwierdzić, kiedy zapis jest faktycznie zakończony. W nowszych wersjach jest wyskakujące okienko (na pewno 15.10, ewentualnie 15.04), które ma temu zaradzić - po pewnym (zwykle krótkim) czasie pojawia się fioletowy alert, który mówi, że coś w stylu „[Dysk] można teraz usunąć” raz zapis jest zakończony.

Jest to prawdopodobnie powód, dla którego twój przyjaciel zaproponował synchronizację. Uruchomienie syncw terminalu wymusza zapisanie wszystkich buforowanych danych na dysk i powinno powrócić dopiero po zakończeniu zapisu (zobacz tę odpowiedź ). W tej odpowiedzi znajdziesz narzędzie, które pomoże ci ustalić, czy to rzeczywiście problem.

alex_d
źródło
Otrzymuję wyskakujące okienko w 14.04 (edycja Linux Mint KDE) za każdym razem, gdy wysuwam dysk USB, a także moje maszyny 15.10 Kubuntu. Nie jestem pewien co do 15.04, ale zakładam, że tak.
Jon Bentley,
1
GUI naprawdę nie czyni tego oczywistym? Używam ejectw terminalu od dłuższego czasu i zauważalne jest opóźnienie, zanim powróci, jeśli właśnie skopiowałem duży plik.
Izkata
1
@Izkata W waniliowym Ubuntu 14.04, kliknięcie symbolu wysuwania w Nautilusie natychmiast znika. Jednak w przeciwieństwie do napędów wewnętrznych, dyski USB znikają całkowicie z paska bocznego po całkowitym odmontowaniu (tzn. Zapis jest zakończony), więc jest trochę czasu, w którym dysk USB jest zapisywany, ale wydaje się, że został wysunięty.
alex_d
5

Widziałem wiele napędów USB, zwłaszcza kart flash (SD itp.) W adapterach USB, z systemami plików FAT (praktycznie każdy napęd USB jest wstępnie sformatowany z FAT32), które ulegają uszkodzeniu podczas używania dystrybucji Ubuntu i Ubuntu. Było to prawie regularne zjawisko co kilka miesięcy regularnego codziennego stosowania.

Jeśli byłby to problem sprzętowy, formatowanie partycji za pomocą ext3 (lub 4) nie powinno pomóc, ale ext3 / 4 sprawia, że ​​systemy plików są praktycznie kuloodporne. (ext2 również został uszkodzony przez kilka miesięcy, gdy go wypróbowałem; miał mieć mniej zapisów, więc dłuższą żywotność dysków flash, głównie z braku dziennika).

Tak więc Ubuntu nie powinno fizycznie uszkadzać samych napędów USB, ale nadal nie ufam mu w 100% z systemami plików FAT.

Myślę, że najlepiej można uniknąć uszkodzenia systemu plików poprzez:

  • Nigdy nie odłączaj napędu USB, dopóki nie zostanie on odmontowany / umount/ wysunięty. Nawet jeśli dysk w tej chwili nic nie pisze (jeśli ma lampkę, nie miga), a nawet jeśli zrobiłeś syncsystem plików, może nadal
  • Poczekaj co najmniej kilka sekund po umount/ wysunięciu przed odłączeniem go. Wygląda na to, że nawet po umountaktywności dysku lampka może czasami migać przez chwilę. Inni użytkownicy, tacy jak ten facet, twierdzą, że może to potrwać nawet minutę.
  • Nie polegaj tylko na jednym z syncnich, na przykład na facecie, który dostał uszkodzenie pliku.

Powiązane (ogólnie) linki:

Xen2050
źródło
3

Nie ma to wiele wspólnego z żadnym systemem operacyjnym. Jest to błąd systemu plików, który w większości przypadków wskazuje, że dysk nie został odmontowany prawidłowo (błąd użytkownika). Nie jest to bezwzględne wskazanie uszkodzenia, wskazuje jedynie na możliwość uszkodzenia. Jeśli jest obecny, uszkodzenie zwykle ogranicza się do ostatniego zapisanego pliku (ów). Polecenie „Napraw” systemu Windows w tym przypadku skanuje dysk w poszukiwaniu sektorów oznaczonych jako „zajęte”, ale nieprzypisane do żadnego pliku, a następnie przypisuje skrawki i fragmenty do nowych plików.

Ten błąd można również utworzyć w systemie Windows, jeśli po prostu wyciągniesz dysk podczas zapisywania bez uprzedniego odmontowania go (w systemie Windows polecenie „Wysuń” wykonuje odmontowanie).

Widzenie tego komunikatu oznacza, że ​​dysk nie został odmontowany poprawnie.

Możesz samodzielnie sprawdzić, czy system plików był naprawdę uszkodzony, czy jest to po prostu fałszywie pozytywny: jeśli po uruchomieniu polecenia „Napraw” pojawi się nowy folder o nazwie „znaleziony” z niektórymi plikami, oznacza to, że naprawdę nie został ukończony został przerwany. Niektóre z Twoich danych zostały utracone i jest to problem.

Agent_L
źródło
2

Używam kilku lat Ubuntu i Windows z podwójnym uruchomieniem, a kiedy odmontowuję dysk w prawidłowy sposób, w systemie Windows zawsze wyświetla się komunikat o błędzie, ale nigdy nie był błąd na dysku USB. W W10 możesz wyłączyć ten wyskakujący komunikat o błędzie.

wprowadź opis zdjęcia tutaj

tviragh
źródło
1

Prawie nie ma sposobu, aby jakikolwiek system operacyjny mógł uszkodzić dysk USB, po normalnym formacie (nie szybkim) nie powinno być śladu, że dysk był kiedykolwiek używany z Ubuntu.

Sprawdź dyski za pomocą „H2testw” lub „USB Flash Drive Tester” - złe sektory mogą być źródłem wielu dziwnych błędów.

użytkownik158037
źródło
4
OP jest źle sformułowany, ale oznacza „system plików”, a nie „flash ROM”.
wizzwizz4,
Wygląda na to, że OP może oznaczać faktyczne uszkodzenie dysku USB , mówią: „Nigdy nie miałem uszkodzonego lub uszkodzonego dysku USB, ale w ciągu ostatnich dwóch lat trzy moje dyski USB przestały działać ”. Gdyby mieli na myśli tylko uszkodzenie, prawdopodobnie powiedziałby, że jest uszkodzony, zamiast „niedziałający” @ wizzwizz4
Xen2050
3
@ Xen2050 Jednak wszystkie pozostałe odpowiedzi i komentarze w wątkach, w tym jan6352781, sugerują lub stwierdzają, że problemem jest system plików, a „uszkodzone urządzenie” jest ekstrapolacją ich nieprawidłowego działania.
wizzwizz4
@ wizzwizz4 Cóż, w odpowiedzi Marka Kirby, OP komentuje „3. W ostatnich latach prawie codziennie pomijałem naprawę, kończąc na uszkodzonych plikach i dyskach USB .” Zgaduję, że to tylko stare dyski, które zawiodłyby, Windows lub nie, ale OP wciąż to powiedział
Xen2050
@ Xen2050 A może OP odnosił się do starego komunikatu „Urządzenie jest uszkodzone. Czy chcesz, aby system Windows to naprawił?” (parafrazowany), który czasem pojawia się, gdy inny dll obsługuje ten problem. (Sam to się pojawiło, chociaż nie jestem pewien, czy ostatnie zdanie jest poprawne.)
wizzwizz4,
1

Nie mogę powiedzieć, czy dysk był „uszkodzony”, może tak było, a może nie. Ale jako ktoś, kto może powiedzieć to samo: „Od ponad 10 lat pracuje w systemie Windows ...”, mogę powiedzieć, że jeśli używasz systemu Windows 10, może to być przyczyną twoich nowych problemów. Pierwszego dnia natknąłem się na nowy problem 10: na 10 tworzona jest baza danych dla napędów zewnętrznych (może to być baza indeksująca, nie pamiętam). Jeśli ta baza danych nie pasuje do dysku, powie Ci, że dysk jest uszkodzony, czasem możesz zignorować to ostrzeżenie, a czasem nie (patrz anegdota). Uruchomienie „naprawy” naprawi bazę danych.

Anegdota:

Nie pamiętam, gdzie znalazłem te informacje, ale dowiedziałem się o nich, gdy przeniosłem folder Music. Skarżył się, że dysk został uszkodzony zamiast tylko narzekać, że folder, którego szukał, już nie istnieje. Przed uruchomieniem naprawy nowa lokalizacja pojawiła się na Ubuntu i stara lokalizacja na Windows 10 ... ale wszystkie pliki nie mogły zostać otwarte na 10. Po uruchomieniu naprawy nowa lokalizacja folderu Music pojawiła się w systemie Windows, stary folder zniknął i znów działał na Windowsie.

Bieganie syncteż nie jest złym pomysłem.

czarny
źródło