Mój przyjaciel miał problemy z dyskiem flash USB i zasugerowałem, aby zrobił format niskiego poziomu. Potem przyszło mi do głowy, że nawet nie wiem, jak to zrobić w Linuksie. Więc ... jak mogę zapisać pamięć flash w formacie niskiego poziomu w systemie Linux? Mój przyjaciel wypróbował „pełny format” na dysku w systemie Windows i nie powiodło się.
źródło
mkfs
jest to jego jedyna opcja? Co jeśli to nie zadziała? Nie ma nic innego, czego mógłby spróbować?fsck
, odpowiednik doschkdsk
.mkfs
zawiedzie,fsck
nie pomoże.f3
pewności, że nie jest zepsuta.Formatowanie niskiego poziomu oznacza wiele różnych rzeczy dla różnych osób i w różnych kontekstach.
Pierwotne znaczenie było krokiem w formatowaniu dysków - napędy dyskowe wymagają nagłówka, synchronizacji i innych wzorców zapisanych na nośniku, zanim będzie mógł przechowywać na nim dane. W ten sposób głowica może wykryć, kiedy znajduje się A) na torze i B) gdzie jest na torze. Formatowanie niskiego poziomu dyskietki przygotowuje dysk do odczytu i zapisu bloków. Wczesne dyski twarde PC MFM i RLL można sformatować na niskim poziomie, często przy użyciu narzędzia wbudowanego w ROM kontrolera dysku twardego (karta ISA). Nowoczesne dyski twarde IDE i SATA są również sformatowane niskopoziomowo, ale tylko fabrycznie.
Różne inne znaczenia obejmują zapisywanie zer do wszystkich bloków, konfigurowanie napędu w celu wyłączenia „ukrytych” obszarów, takich jak HPA i DCO, a następnie zerowanie wszystkich bloków lub inne rzeczy bardziej związane z partycjonowaniem niż formatowaniem.
Surowy flash wymaga innego wstępnego kroku przygotowawczego w fabryce - każdy „kasujący blok” flasha (analogicznie do „bloku” na dyskach) musi zostać przetestowany i oznaczony jako zły, jeśli rzeczywiście jest zły. Każdy „eraseblock” ma dodatkowy mały blok „OOB”, który zawiera informacje o korekcji błędów - i właśnie tam jest oznaczony jako zły. NIE chcesz powtarzać tego kroku, ponieważ pisanie do złego bloku może uniemożliwić ponowne ustawienie tego konkretnego bitu, który identyfikuje go jako zły.
Ale nie masz do czynienia z surowym flashem. Masz do czynienia z dyskiem flash USB. We wszystkich dyskach flash znajduje się układ kontrolera, który przyjmuje polecenia USB od hosta i rozmawia z surową pamięcią flash w imieniu hosta. Niektóre z tych układów kontrolerów można skonfigurować tak, aby zgłaszały część pamięci flash jako oddzielną partycję CD-ROM lub działały jak dwa oddzielne urządzenia pamięci USB. W zależności od marki i modelu układu kontrolera możesz znaleźć narzędzie do odzyskiwania lub konfiguracji (prawdopodobnie tylko system Windows), które może zresetować ten układ kontrolera. Zaczynasz od otwarcia dysku flash, szukania mniejszego (prawdopodobnie) dwóch układów znajdujących się na małej płytce drukowanej i zrobienia Google'a. Marka i model wydrukowany na zewnątrz obudowy raczej nie pomogą ci ustalić, kto w niej umieścił kontroler.
źródło
Nie ma możliwości zrobienia formatu niskiego poziomu na większości urządzeń flash, ponieważ mają one dodatkową warstwę tłumaczenia z USB / ATA / SD / itp. na MTD, który przesłania niskopoziomowe urządzenia MTD (które można sformatować na niskim poziomie, jeśli dojdzie się bezpośrednio [czego nie można]).
źródło
użyj
dd
do tego poleceniadd if=/dev/zero of=/dev/hda
Spowoduje to zniszczenie WSZYSTKICH danych na dysku twardym, wszystkich informacji o sektorze rozruchowym i wszystkich danych na wszystkich partycjach. Nie spowoduje to jednak, że dysk będzie bezużyteczny, po prostu masz czysty dysk, który wymaga tylko utworzenia partycji i zainstalowania nowego sektora rozruchowego, co nastąpi po zainstalowaniu dowolnego systemu operacyjnego, w tym Linux lub Windows. Jest to dobry sposób na usunięcie wszelkich złych partycji, wirusów, nieudanych instalacji lub danych, których nie chcesz widzieć.
źródło
/dev/zero
, aby usunąć urządzenie pamięci flash. Zobacz wpis na moim blogu: fakkelbrigade.eu/chris/blog/2012/01/...badblocks -s -w -t 0xff /dev/?d??
. Otrzymasz wszystkie 1 napisane i przetestowane.mkfs.vfat /dev/hda1
wykona odpowiednik polecenia „format” MSDOS.źródło
W przeszłości spotkałem się z urządzeniami (choć nie przez jakiś czas), które implementują polecenie SCSI FORMAT UNIT - z Linuksa możesz użyć:
sg_format --format / dev / sdX
aby zresetować te urządzenia do stanu fabrycznego (specyfikacja pamięci USB pochodzi ze starszych standardów SCSI).
Wierzę, że niektóre nowsze urządzenia USB 3 również implementują polecenia bezpieczeństwa ATA, więc możesz użyć https://ata.wiki.kernel.org/index.php/ATA_Secure_Erase, co może skutkować zresetowaniem warstwy translacji Flash do jej fabryki stan (jak zwykle w przypadku dysków SSD).
źródło
Istnieje coś takiego jak niskopoziomowy format pamięci Flash, ale odbywa się to w fabrykach z oprogramowaniem specyficznym dla dostawcy.
Aby to zrobić - musisz porozmawiać bezpośrednio z układem kontrolera pamięci. Niestety nie mogłem znaleźć programów, które mogłyby to zrobić w systemie Linux.
Istnieją narzędzia producenta, które przeprowadzają formatowanie niskiego poziomu i mogą zapisywać niektóre ustawienia (takie jak zachowanie diody LED, czyniąc dysk tylko do odczytu) i dane (takie jak nazwa producenta, nazwa modelu, numer seryjny) na chipsecie kontrolera pamięci, ale narzędzia te zwykle są tworzone tylko dla systemu Windows i często są w języku chińskim.
Jedno z takich narzędzi nosi nazwę „FC MP Tools”. O ile wiem, są one zaprojektowane przez Alcor Micro i wyprodukowane przez FirstChip (FC). Najwyraźniej „MP” oznacza „masową produkcję”.
Korzystam z wersji, którą znalazłem tutaj: http://down.upantool.com/file/software/mass/FristChip/2018/iTe_MpTools_20171130.zip
Inne linki, które możesz śledzić: https://repusb.cubava.cu/?page_id=2052 https://www.rmprepusb.com/tutorials/repair-your-usb-flash-drive http://reboot.pro/topic / 20865-alcor-micro-usb-pen-drive-repair / http://reboot.pro/topic/19901-no-alcor-mptool-is-recognizing-my-usb/ https://www.elektroda.pl /rtvforum/topic3145335.html http://flashboot.ru/files/file/30/ http://www.flashdrive-repair.com/2014/05/download-fc-mptool-v402-for-fixing.html https : //www.cdrinfo.pl/download/356133849
Działa w Wine, ale nie wykrywa chipsetów napędu (prawdopodobnie potrzebuje bezpośredniego dostępu do kontrolera USB, aby to zrobić).
Ponadto - aby to działało, musisz mieć napęd flash z określonym obsługiwanym mikroukładem Alcor. Znowu - każdy sprzedawca ma własne oprogramowanie, które komunikuje się z układami kontrolera przez USB.
Mam to:
Zanotuj numer części chipsetu w mikrokontrolerze: FC1178 BC1 Program FC MP Tools rozpozna to jako chipset 1178BC :
A oprogramowanie, które podłączyłem, działa z nim pod Windows XP i 10. Jednak - zawiesi się, jeśli przełączysz program na język angielski! Ustaw preferencje w języku angielskim, a następnie uruchom ponownie program i nie zmieniaj języka - powinien on działać. Może zostanie to naprawione w nowszej wersji.
W każdym razie - różni dostawcy mają różne narzędzia, jest to królicza dziura, nie ma tutaj standardu AFAIK i (przynajmniej to narzędzie) niestety działa tylko w systemie Windows.
Z tego, co mogę powiedzieć, to przetestuje układ pamięci i zapisze mapę uszkodzonego sektora do układu kontrolera, aby mógł prezentować tylko dobrą pamięć dla systemu operacyjnego. W ten sposób można używać i sprzedawać nawet częściowo uszkodzone wióry. Prawdopodobnie są one sortowane w fabryce według jakości i niskiego poziomu sformatowane do różnych pojemności. Nazywa się to binowaniem.
Może jeśli ktoś może zebrać wiele z tych narzędzi, poddać je inżynierii wstecznej i stworzyć uniwersalne narzędzie open source dla Linuksa, możemy to zrobić - w przeciwnym razie nie widzę tego.
źródło
Chociaż formatowanie niskiego poziomu w sposób, w jaki zostało to zrobione na dyskach twardych i dyskietkach, nie ma sensu w przypadku dysku flash, istnieją specjalne narzędzia producenta do dysków flash „niskiego poziomu”: Jest to przykład: narzędzie do formatowania niskiego poziomu Alcor
Zadałem sobie to pytanie, szukając takiego narzędzia, które działałoby w systemie Linux. Wydaje się jednak, że producenci dysków flash nie dbają o to, aby nas uszczęśliwić.
źródło