Jeśli masz kartę pamięci SD, pendrive lub dowolny dysk USB ochrona przed zapisem, w tym artykule pokażemy Ci krok po kroku i w prosty sposób, jak to zrobić. Jest też pewna ochrona przed zapisem, na którą pozwalają niektóre sterowniki, znana jako «bit ochrony przed zapisem»W zależności od tego, czy jest aktywny na 1 czy 0, pozwoli na zapisywanie do urządzenia lub nie. Tego bitu nie należy mylić z WP rejestrów flag procesorów, które zapobiegają nadpisywaniu poprzez tworzenie procesu rozwidlania w systemach typu UNIX, chroniąc w ten sposób pamięć główną przed zapisem danych. Ani do typowej zakładki ochronnej, którą znajdujemy na niektórych kartach SD lub nośnikach pamięci. W tym przypadku mamy na myśli ochronę zaimplementowaną na dodatkowych nośnikach pamięci.
Podczas gdy kontroler nośnik danych Karta pamięci USB lub SD, lub cokolwiek oznacza, wykryje, że ten bit jest aktywny, sterownik uniemożliwi jądru zamówienie kolejności zapisu i dlatego może tylko odczytać zawartość. Z pewnością jest to bardzo praktyczne, gdy przechowujemy dane, których nie chcemy modyfikować, zapobiegając omyłkowemu zapisaniu lub usunięciu. Ale jeśli któryś z tych chronionych nośników wpadł w nasze ręce i nie wiemy o istnieniu tego kawałka, moglibyśmy tracić godziny na myślenie, że nasza jednostka jest uszkodzona lub podnoszenie i opuszczanie małej zakładki, którą muszą mieć niektóre pendrive'y lub karty SD chronić je bez żadnego rezultatu. (Zablokuj / Odblokuj) ...
Zamontuj nośnik tylko do odczytu lub tylko do zapisu:
Chociaż nie jest to dokładnie to, czego szukamy w przypadku bitu ochrony przed zapisem, możemy również stwierdzić, że był to nośnik automatycznie lub ręcznie montowane tylko do odczytu, więc nie będziemy mogli w nim pisać. Coś, co w niektórych przypadkach może być bardzo denerwujące i uniemożliwić nam modyfikowanie lub przechowywanie rzeczy. Cóż, rozwiązanie tego jest bardzo proste.
Na przykład, jeśli w pliku / etc / fstab urządzenie jest skonfigurowane do automatycznego montowania z opcją ro (tylko do odczytu) lub jeśli zamontowaliśmy go poleceniem:
sudo mount -o ro /dev/sda /mnt
W takim przypadku możemy tylko odczytać urządzenie / dev / sda, w tym przypadku zostało ono zamontowane w punkcie montowania / mnt. Abyśmy mogli ponownie do niego napisać:
sudo mount -o remount,rw /dev/sda /mnt
W przypadku, gdy ta metoda nie działa dla Ciebie, to będzie dlatego, że to, o czym rozmawialiśmy, jest działaniem i dlatego będziemy musieli użyć narzędzia, które prezentujemy poniżej.
Co to jest hdparm?
Polecenie hdparm to narzędzie niskiego poziomu który działa jako interfejs między różnymi sterownikami jądra Linuksa i nośnikami pamięci SATA / PATA / SAS przy użyciu biblioteki libata, jak również dla starych nośników IDE. Pamiętaj, że wiele kontrolerów nośników pamięci USB, w tym czytniki kart, takie jak karty SD, również używa tego typu kontrolera do obsługi, dlatego też jest z nimi kompatybilny.
Su podstawowa składnia jest:
hdparm [opcje] [urządzenie]
I prezenty Dużo opcji z którymi pracować, chociaż nie polecam ich używania, jeśli nie wiesz, co robisz dobrze, ponieważ będąc narzędziem niskiego poziomu, możesz poważnie uszkodzić swoje urządzenie, na przykład, jeśli manipulujemy niektórymi krytycznymi opcjami, takimi jak -B. Ale powiem ci, że wśród jego opcji jest kilka całkiem interesujących, takich jak:
- Pobierz konfiguracja dysku:
sudo hdparm /dev/sdd
- Pokaż identyfikacja dysku:
sudo hdparm -i /dev/sdd
- Sprawdź czasy odczytu bufora i pamięci podręcznej:
sudo hdparm -t /dev/sdd sudo hdparm -T /dev/sdd
Zawsze pamiętaj o użyciu przywilejeczyli uruchom je jako użytkownik root lub postaw przed nimi sudo albo nie będą działać ...
Usuń i ustaw bit ochrony pamięci za pomocą hdparm:
Gdy narzędzie hdparm jest znane, możemy użyć opcji -r, za pomocą której możemy sprawdzić stan tego bitu za pomocą prostego polecenia. Aby to zrobić, musimy tylko znać fizyczną nazwę naszego urządzenia pamięci masowej. Na przykład, gdyby wywołano / dev / sdd, w takim przypadku moglibyśmy użyć:
sudo hdparm -r /dev/sdd
Wartość tego bitu zostanie wyświetlona na ekranie. Jeśli jego wartość wynosi 1, oznacza to, że tryb jest aktywny tylko czytać lub tylko do odczytu, czyli innymi słowy, metoda ochrony przed zapisem jest aktywna i nie będziesz w stanie niczego zapisać w pamięci. Aby go dezaktywować lub zmodyfikować bit, wystarczy wykonać następujące czynności:
sudo hdparm -r0 /dev/sdd
A teraz, jeśli wykonamy pierwsze polecenie i wykorzystamy stan, zobaczymy, że wrócił do 0, dlatego tryb tylko do odczytu jest wyłączony lub dezaktywowany. Jeśli chcesz przywrócić go do stanu aktywnego, skorzystaj z opcji -r1 zamiast -r0 i gotowy. Na przykład:
sudo hdparm -r1 /dev/sdd
To proste włącz lub wyłącz ten bit. Nie ma zbyt wiele tajemnic, ale dla tych, którzy tego nie wiedzą, może to być ból głowy, jeśli chodzi o odblokowanie nośnika pamięci.
Mam nadzieję, że ci to pomogło i teraz wiesz, jak zrobić pendrive z zabezpieczeniem przed zapisem, nie zapomnij Zostaw swój komentarzs ...
Witaj!
Przede wszystkim dzięki za uwagi! Są zawsze bardzo przydatne.
Jestem użytkownikiem Debiana 9.
W tym konkretnym przypadku mam problem, którego nie mogę rozwiązać. Mam „zainfekowane” pióro z ochroną przed zapisem, której NIE MOGĘ usunąć. Już myślę, że to fizyczne, ponieważ szczerze próbowałem wszystkiego (aż do formatowania niskiego poziomu w systemie Windows lub dysków ratunkowych, modyfikowania partycji itp.) I nic.
Myślałem, że mam zamiar go rozwiązać, gdy podążałem za twoimi krokami, stwierdziłem, że ochrona przed zapisem w pendrive jest włączona, ale kiedy zmieniłem ją na „wyłączona”, nadal nie mogę niczego usunąć ani zmodyfikować.
Które może być? Czy jest jakiś inny sposób rozwiązania tego problemu? (Nie mam nic przeciwko utracie informacji, które mam w środku)
Z góry dziękuję za pomoc.
Hernán
Dobrze! Nie wiem, czy podali Ci rozwiązanie, czy w końcu je rozwiązałeś, ale jestem w tej samej sprawie co Ty.
Czy możesz mi doradzić?
Dziękuję bardzo.
dobre wytłumaczenie
Witam mam USB którego system nie rozpoznaje, przesyłam informację jeśli możecie mi pomóc dzięki
dmesg
[83384.348839] usb 1-1: nowe szybkie urządzenie USB numer 8 korzystające z ehci-pci
[83384.506219] usb 1-1: Znaleziono nowe urządzenie USB, idVendor = 0c76, idProduct = 0005, bcdDevice = 1.00
[83384.506225] usb 1-1: nowe ciągi urządzeń USB: Mfr = 1, produkt = 2, numer seryjny = 0
[83384.506228] usb 1-1: Produkt: Pamięć masowa USB
[83384.506231] usb 1-1: Producent: GENERIC
[83384.506848] pamięć USB 1-1: 1.0: Wykryto urządzenie pamięci masowej USB
[83384.508235] scsi host5: pamięć USB 1-1: 1.0
[83385.524951] scsi 5: 0: 0: 0: Dostęp bezpośredni GENERIC Pamięć masowa USB 1.00 PQ: 0 ANSI: 2
[83385.556757] sd 5: 0: 0: 0: Załączony ogólny scsi sg3 typ 0
[83385.561706] sd 5: 0: 0: 0: [sdc] Dołączony wymienny dysk SCSI
root @ localhost: ~ # fdisk -l
Dysk / dev / sda: 698.7 GiB, 750156374016 bajtów, sektory 1465149168
Jednostki: sektory 1 * 512 = 512 bajtów
Rozmiar sektora (logiczny / fizyczny): 512 bajtów / 4096 bajtów
Rozmiar I / O (minimalny / optymalny): 4096 bajtów / 4096 bajtów
Typ etykiety dysku: gpt
Disk identifier: 995F9474-C5F1-4EE9-8FD7-13EA790423DC
Urządzenie Początek Koniec Sektory Rozmiar Typ
/ dev / sda1 2048 1050623 1048576 512M System EFI
/ dev / sda2 1050624 49879039 48828416 23.3G Linuksowy system plików
/ dev / sda3 49879040 69410815 19531776 9.3G Linuksowy system plików
/ dev / sda4 69410816 76107775 6696960 3.2G Linux swap
/ dev / sda5 76107776 80013311 3905536 1.9G Linuksowy system plików
/ dev / sda6 80013312 1465147391 1385134080 660.5G Linuksowy system plików
root @ localhost: ~ # fdisk -l / dev / sdc
fdisk: nie można otworzyć / dev / sdc: nie znaleziono nośnika
root @ localhost: ~ # hdparm / dev / sdc
/ dev / sdc:
SG_IO: złe / brakujące dane sensu, sb []: f0 00 02 00 00 00 00 0b 00 00 00 00 3a 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
multcount = 0 (wyłączone)
readonly = 0 (wyłączone)
readahead = 256 (wł.)
root @ localhost: ~ # hdparm -C / dev / sdc
/ dev / sdc:
stan dysku to: czuwanie
root @ localhost: ~ # hdparm -I / dev / sdc
/ dev / sdc:
SG_IO: złe / brakujące dane sensu, sb []: f0 00 02 00 00 00 00 0b 00 00 00 00 3a 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
Urządzenie ATA z niewymiennym nośnikiem
Normy:
Prawdopodobnie używane: 1
Konfiguracja:
Logiczny maksymalny prąd
cylindry 0 0
głowice 0 0
sektory / ścieżka 0 0
-
Rozmiar sektora logicznego / fizycznego: 512 bajtów
rozmiar urządzenia z M = 1024 * 1024: 0 MB
rozmiar urządzenia z M = 1000 * 1000: 0 MB
rozmiar pamięci podręcznej / bufora = nieznany
Możliwości:
IORDY raczej nie
Nie można wykonać operacji we / wy z dwoma słowami
R / W transfer wielu sektorów: nieobsługiwane
DMA: nieobsługiwane
IOP: pio0
dziękuję za pomoc, teraz mogłem wiedzieć czy moje usb jest przeciwne pisaniu i sprawdziłem czy nie jest przeciwne pisaniu więc to już jest rozwiązanie do formatowania niskiego poziomu, muszę dodać że wirus rozłączył usb w minutę czy dwa i nie Pozwalało działać, nie dawało czasu więc skoro już wiedziałem jaką nazwę mu nadałem, czyli "sdc" w terminalu umieściłem wszystko jako użytkownik root.
# dd if = / dev / zero | pv | dd of = / dev / sdc bs = 1M tutaj poczekaj chwilę
# dd if = / dev / zero | pv | dd of = / dev / sdc bs = 446 count = 1 wyjmujesz i ponownie wkładasz usb, które dajesz
# mkfs.vfat -F 32 -n "anaconda" / dev / sdc i gotowe
Parabeny! Szereg woltów, które określam w tym temacie, ma na celu wyjaśnienie coa. Wdzięczny Moi.
Wspaniały. Dziękuję Ci.
W końcu coś, co naprawdę mi pomogło, dzięki.
Witam Mam 16 GB pamięci microSD kategorii 10 firmy ADATA
Wykonałem procedurę i wygląda na to, że działa, ale ponowne włożenie go i ponowne sprawdzenie stanu przywraca tryb tylko do odczytu.
Próbowałem go sformatować, ale to nie działa. Widzę moje pliki.
jakiekolwiek inne narzędzie lub sposób rozwiązania problemu?
łatwe i zwięzłe, doskonałe wszystkie wyjaśnienia i przykłady, było bardzo przydatne.
Witam, jestem użytkownikiem Kali Linux w najnowszej wersji, wypróbowałem już miliard technik (przepraszam za przesadę), ale żadna z nich nie daje mi ani w Linuksie, ani w Windowsie
w moim przypadku, debianie, pamięć wymienna musi być odmontowana….
wspaniale, dzięki
Udało mi się odzyskać kilka promocyjnych fragmentów z ich instrukcjami
Witam, działa ale folder użytkownika jest różny, dobrze by było to wyjaśnić, ale mam błąd, w poleceniu pokazuje mi, że go modyfikuję, ale jak chcę włożyć folder lub cokolwiek na pendrive to mówi mnie, że jest chroniony przed zapisem. Byłoby wspaniale, gdybyś mógł mi pomóc rozwiązać ten problem. Pozdrowienia
akceptuje polecenie i wyświetla je jako niezabezpieczone, to jest r = 0, ale kiedy chcę sformatować, mówi mi, że jest chronione. Dziękuję Ci
Cześć miłego dnia. Z tym nie próbowałem, ale w Windows zrobiłem wszystko i nic. Mój pendrive jest chroniony przed zapisem, nawet z sudo hdparm -r / dev / sdd daje wartość 1, ale z sudo hdparm -r0 / dev / sdd też nie mógł usunąć ochrony przed zapisem. Podziękowania i pozdrowienia z Wenezueli.
Moja wersja Linuksa to openSUSE Tumbleweed 15.3
Przeszłe informacje z jasnością i rzetelnością. Levei godzin testuje sem liczbę rozwiązań i to, przedstawione tutaj, jest definitywne dla problemu podlegającego odczytaniu i zablokowaniu gravação.
Znakomity wkład, wszystko potoczyło się tak jak wspomniałeś... dzięki
Dziękuję bardzo, bardzo przydatne, w usb to zwykle dużo się zdarza, rozwiązanie jest łatwe i szybkie.
Dziękuję bardzo za wkład.
W moim przypadku Ubuntu 23.4 akceptuje wszystkie polecenia, ale nie odblokowuje bitu ochrony.
Jakieś pomysły?
lorenzo@lorenzo-B85M-D3H:~$ sudo hdparm -r /dev/sdc
[sudo] hasło dla Lawrence'a:
/ dev / sdc:
tylko do odczytu = 1 (wł.)
lorenzo@lorenzo-B85M-D3H:~$ sudo hdparm -r0 /dev/sdc
/ dev / sdc:
ustawienie tylko do odczytu na 0 (wyłączone)
tylko do odczytu = 1 (wł.)
lorenzo@lorenzo-B85M-D3H:~$
dzięki