Napisz chroniony pendrive w systemie Linux

pendrive z ochroną przed zapisem

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:

Karta SD z blokadą

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.

Podobne artykuł:
Wyłącz pamięć USB w systemie Linux

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?

Dysk twardy z operatorami

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 ...


Zostaw swój komentarz

Twój adres e-mail nie zostanie opublikowany. Wymagane pola są oznaczone *

*

*

  1. Odpowiedzialny za dane: AB Internet Networks 2008 SL
  2. Cel danych: kontrola spamu, zarządzanie komentarzami.
  3. Legitymacja: Twoja zgoda
  4. Przekazywanie danych: Dane nie będą przekazywane stronom trzecim, z wyjątkiem obowiązku prawnego.
  5. Przechowywanie danych: baza danych hostowana przez Occentus Networks (UE)
  6. Prawa: w dowolnym momencie możesz ograniczyć, odzyskać i usunąć swoje dane.

  1.   Hernán powiedział

    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

    1.    paco powiedział

      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.

  2.   słone willians powiedział

    dobre wytłumaczenie

  3.   Sergio powiedział

    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

  4.   zręczność powiedział

    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

  5.   MGT powiedział

    Parabeny! Szereg woltów, które określam w tym temacie, ma na celu wyjaśnienie coa. Wdzięczny Moi.

  6.   Zwycięzca powiedział

    Wspaniały. Dziękuję Ci.

  7.   Iori powiedział

    W końcu coś, co naprawdę mi pomogło, dzięki.

  8.   zaprzestać powiedział

    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?

  9.   Jose powiedział

    łatwe i zwięzłe, doskonałe wszystkie wyjaśnienia i przykłady, było bardzo przydatne.

  10.   Michelangelo powiedział

    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

  11.   danikardon powiedział

    w moim przypadku, debianie, pamięć wymienna musi być odmontowana….

  12.   JR powiedział

    wspaniale, dzięki
    Udało mi się odzyskać kilka promocyjnych fragmentów z ich instrukcjami

  13.   Jero powiedział

    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

  14.   wykusz powiedział

    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

  15.   William R. Larreal G powiedział

    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

  16.   Carlos AG Ramos powiedział

    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.

  17.   LUIS powiedział

    Znakomity wkład, wszystko potoczyło się tak jak wspomniałeś... dzięki

  18.   uziel powiedział

    Dziękuję bardzo, bardzo przydatne, w usb to zwykle dużo się zdarza, rozwiązanie jest łatwe i szybkie.

  19.   Lorenzo powiedział

    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