Zanim doradzisz mi opcję zapisywania moich plików i formatowania dysku za pomocą gparted , proszę zrozumieć, że mogłem zrobić te godziny wstecz i zajęłoby to tylko kilka minut. Właściwie to chcę zrozumieć, co się tu naprawdę dzieje. Sytuacja niszczy wszystkie moje doświadczenia zdobyte przez lata.
Miałem wrażenie, że jeśli włożę zainfekowany wirusem dysk flash do mojego komputera z systemem Ubuntu, wszystko, co muszę zrobić, to po prostu usunąć pliki wirusów i jestem gotowy.
Dzisiaj zebrałem niektóre pliki w sformatowanym dysku flash NTFS z komputera z systemem Windows, w pełni wiedząc, że komputer jest zainfekowany wirusem. Po włożeniu dysku flash do mojego komputera stwierdziłem, że rzeczywiście zgromadził on wiele plików i folderów. Usunąłem większość z nich. Jedynym wykazującym twardą odporność jest katalog RECYCLER (i jego podkatalogi).
Atrybuty tego katalogu.
drwx------ 1 masroor masroor 4.0K May 7 16:01 RECYCLER/
Jeśli wykonam rm
polecenie,
sudo rm -rvf RECYCLER/
Dostaję długi wynik w linii,
rm: cannot remove `RECYCLER/S-2-4-27-3777257131-1806073332-421880436-8537/OagFrAIX.exe': Input/output error
rm: cannot remove `RECYCLER/S-2-4-27-3777257131-1806073332-421880436-8537/viJbcvrJ.cpl': Input/output error
<rest snipped>
Co ciekawe, wyżej wymienione pliki są wyświetlane przez ls
komendę z niezliczonym zestawem atrybutów.
ls -l RECYCLER/S-2-4-27-3777257131-1806073332-421880436-8537/
ls: cannot access RECYCLER/S-2-4-27-3777257131-1806073332-421880436-8537/OagFrAIX.exe: Input/output error
ls: cannot access RECYCLER/S-2-4-27-3777257131-1806073332-421880436-8537/viJbcvrJ.cpl: Input/output error
total 0
-????????? ? ? ? ? ? OagFrAIX.exe
-????????? ? ? ? ? ? viJbcvrJ.cpl
Jeśli spróbujesz znaleźć atrybuty tych szkodliwych folderów,
ls -dl RECYCLER/S-2-4-27-3777257131-1806073332-421880436-8537/
Dostaję,
drwx------ 1 masroor masroor 4096 May 7 15:58 RECYCLER/S-2-4-27-3777257131-1806073332-421880436-8537/
Polecenie, chmod
aby świat RECYCLER był zapisywalny w świecie, kończy się niepowodzeniem.
sudo chmod -vR ugo+w RECYCLER/
Dane wyjściowe są w wierszu.
mode of `RECYCLER/' changed from 0700 (rwx------) to 0722 (rwx-w--w-)
mode of `RECYCLER/S-2-4-27-3777257131-1806073332-421880436-8537' changed from 0700 (rwx------) to 0722 (rwx-w--w-)
chmod: cannot access `RECYCLER/S-2-4-27-3777257131-1806073332-421880436-8537/OagFrAIX.exe': Input/output error
<snipped>
Te foldery zawierały wiele .exe
innych plików, z których większość już pomyślnie usunąłem (oprócz wyżej wymienionych).
Jeśli sprawdzę atrybuty jednego z tych folderów,
lsattr -ad RECYCLER/S-2-4-27-3777257131-1806073332-421880436-8537/
dostaję
lsattr: Inappropriate ioctl for device While reading flags on RECYCLER/S-2-4-27-3777257131-1806073332-421880436-8537/
Uruchomiłem clamtk
na tym urządzeniu, jak sugerowano tutaj . Jednak nie znajduje zagrożenia.
Rozumiem, że mogę po prostu zapisać gdzieś zawartość dysku flash, a następnie sformatować ją. Jednak jestem bardziej zainteresowany ustaleniem, które atrybuty zostały ustawione w tych folderach, które są odporne na dalsze zmiany. (I zdecydowanie chcę też wyleczyć mój dysk flash.)
AKTUALIZACJA 1
W nawiązaniu do komentarza Patro .
- Gdy foldery są odwiedzane, pliki z niezliczonymi atrybutami nie są wyświetlane, nawet gdy próbuję wyświetlić je jako pliki ukryte.
- Usunięcie tych plików kończy się niepowodzeniem. Komenda
rm -rvf *
w kataloguS-2-4-27-3777257131-1806073332-421880436-8537
kończy się niepowodzeniem z błędem wejścia / wyjścia.
AKTUALIZACJA 2
Po komentarzach od soulsource i girardengo próbowałem uruchomić
ntfsck
i ntfsfix
. Również ta kwestia pomogło.
Oto wyniki.
ntfsck
sudo ntfsck /dev/sdc1
Unsupported: replay_log()
Unsupported: check_volume()
Checking 7796 MFT records.
Unsupported cases found.
ntfsfix
sudo ntfsfix -d /dev/sdc1
Mounting volume... OK
Processing of $MFT and $MFTMirr completed successfully.
NTFS volume version is 3.1.
NTFS partition /dev/sdc1 was processed successfully.
Ale początkowa sytuacja nadal się utrzymuje. Nie było żadnej poprawy.
AKTUALIZACJA 3 (ROZWIĄZANE)
Jak zalecono w tym poście , włożyłem dysk do komputera z systemem Windows i uruchomiłem (z terminala),
chkdsk <drive letter> /R
Było mnóstwo działań dotyczących sprawdzania i naprawy. Pojawiły się również wiadomości dotyczące złych sektorów. Zadanie zostało ukończone w mniej niż minutę. Potem odkryłem, że dla odzyskanych obszarów utworzono kilka nowych folderów.
Ponownie włożyłem dysk flash do komputera z systemem Linux, a folder RECYCLER można usunąć bez problemu.
Jako dodatkowy krok, sformatowałem teraz dysk (używając gparted do NTFS), ponieważ uważam, że uzyskałem wgląd.
Wygląda na to, że wirus rzeczywiście może powodować (tymczasowy / miękki) problem sprzętowy. Szczegółowe wyjaśnienie techniczne znajduje się w wyżej wymienionym poście .
ntfsfix
aby spróbować poprawić błędy.Odpowiedzi:
Ok muszę wyjaśnić kilka rzeczy tutaj:
Część dotycząca inżynierii wstecznej na temat NTFS nie ma tutaj zastosowania, szczególnie w przypadku sformatowanego dysku flash NTFS. Nawet gdyby tak się stało, byłoby to coś naprawdę nietypowego. Pracowałem z wieloma dyskami flash sformatowanymi w systemie NTFS, sformatowanymi w systemie Windows XP, Vista, 7 i 8.
Problem z Linuksem, który nie wykrywa poprawnie NTFS, nie jest. proyect NTFS-3G nie jest powolny ani niezgodny z tym poziomem, widać nawet, że ostatnia aktualizacja miała miejsce kilka miesięcy temu w tym samym roku . Z pewnością ma od czasu do czasu kilka problemów, takich jak obsługa buforowania i ogromne obciążenie procesora, ale jak powiedziałem, w przypadku dysku flash byłoby to bardzo mało prawdopodobne lub miałoby bardzo małą szansę ..
Miałem podobne problemy z dyskami Flash pokazującymi albo ????? symbole lub po prostu niewłaściwe symbole (np .:! @ #% $ @% # @ zamiast nazwy pliku). Niektórzy użytkownicy zalecają używanie
ntfsfix
lub,ntfck
ale jeśli nie można ich naprawić za pomocą tego polecenia, uruchom polecenie chkdsk w systemie Windows na dysku. Rekord / system plików rozruchu może mieć pewne problemy.Właściciel pliku / folderu nie ma znaczenia, dopóki używa
sudo
. Może to być dowolny użytkownik, ale gdy użyjesudo
poleceniarm
, usunie je bez względu na to, kto jest jego właścicielem. Ponownie dotyczy to tego sformatowanego dysku flash NTFS.Kiedy po raz pierwszy zobaczyłem pytanie, zamierzałem zadać polecenie,
sudo
ale przeczytałem, że już to zrobiłeś. Potem miał zasugerować narzędzia do naprawy NTFS, ale już to zrobiłeś. potem zobaczyłem błąd wejścia / wyjścia na końcu. To i zobaczenie, jak wyglądała nazwa plików, wszystko popsuło, po prostu powiedziało mi, że istnieje rzeczywisty problem z systemem plików, który można naprawić tylko:Korzystanie z narzędzia chkdsk w systemie Windows. Ani
ntfsfix
teżntfsck
nie naprawi kilku problemów, które chkdsk może tylko naprawić.W tej chwili nie wygląda to na problem sprzętowy, a bardziej na problem z systemem plików. Jeśli polecenie chkdsk nie działa, jedynym rozwiązaniem jest ponowne sformatowanie dysku flash (nie ma potrzeby niskiego poziomu). W przypadku, gdy prosty format nie pomaga (i przetestowany w systemie Windows i gparted), wtedy patrzymy na problem sprzętowy.
Jeśli wirus rzeczywiście musiałby cokolwiek zrobić z tym problemem, to dlatego, że wpłynął / związał się z tabelą systemu plików (MFT). Powoduje to problemy, takie jak widzenie części systemu plików OK i innych wad. Nie widzę plików w jednym systemie i nie widzę ich w innym. Widzenie wszystkich plików lub niektórych uszkodzonych (np.!! # #! #! LOL! @ #!) I innych dziwnych rzeczy, które mogą się zdarzyć, jeśli tabela systemu plików jest uszkodzona. Może to być tak proste, jak wirus zmieniający jedno z pól w tabeli systemu plików lub może być tak okropne, jak wirus zmieniający rozmiar MFT lub kilku plików.
Pomijając wirusa, powinieneś wiedzieć, że jeśli problem jest tak poważny, że nie możesz sformatować dysku (świeżego systemu plików), co rzadko zdarza się, aby wirus to robił, to jest bardziej prawdopodobne, że masz problem ze sprzętem na dysku flash spowodowany przez ciepło, uderzenie itp.
W przypadku uszkodzenia danych na dysku flash lub w dowolnym urządzeniu pamięci masowej, a zwłaszcza na dyskach flash, przyczyną w wielu przypadkach jest usunięcie urządzenia przed prawidłowym zapisaniem wszystkich informacji. Może się to zdarzyć zarówno w systemie Windows, jak i Linux, jeśli użytkownik usunie dysk flash, nie upewniając się, że wszystko zakończyło się, a sesja dla urządzenia została zamknięta.
W przypadku systemu Linux zaczniesz otrzymywać ostrzeżenia o niedozwolonych operacjach odczytu / zapisu na całym dysku flash lub w plikach (np. Filmach), w których brakuje 50% całego rozmiaru (jak film o pojemności 1,2 GB i wadze zaledwie 500 MB i wszystko w nim zawarte zepsuty). fsck może to naprawić w większości przypadków. W przypadku systemu Windows wyświetli błędy wejścia / wyjścia i może doprowadzić do uszkodzenia całej jednostki, ponieważ MFT nie zapisał poprawnie informacji. Dlatego zaleca się albo poczekać, aż sesja się zakończy, albo użyć opcji „bezpiecznie usuń”, jeśli jest dostępna.
źródło
Myślę, że problem polega na tym, że implementacja NTFS w Linuksie jest poddana inżynierii wstecznej i nie jest kompletna --- zapytaj Microsoft o kod źródłowy ;-).
Masz podpowiedzi z ostrzeżeniem „Znaleziono nieobsługiwaną sprawę”. Prawdopodobnie program antywirusowy systemu Windows używał pewnych zaawansowanych / niejasnych cech systemu plików NTFS, których sterownik Linux nie jest w stanie zrozumieć.
Powinieneś wykonywać niskopoziomowe zarządzanie systemem plików tylko w systemie macierzystym (wyszukaj tutaj, jak często gparted zmieniał rozmiar partycji NTFS tylko po to, aby system nie mógł zostać uruchomiony ...).
Zobacz także główną stronę NTFS-3g , a zwłaszcza najczęściej zadawane pytania .
źródło