Skriv Protected Pendrive på Linux

skrivebeskyttet pendrive

Hvis du har et SD-minnekort, pendrive eller hvilken som helst USB-lagringsdisk du vil ha skriv beskytt, i denne artikkelen forteller vi deg trinn for trinn og på en enkel måte hvordan du gjør det. Og det er litt anti-skrivebeskyttelse som visse drivere tillater, kjent som «skrivebeskyttelsesbit»Avhengig av om den er aktiv ved 1 eller 0, vil den tillate skriving til enheten eller ikke. Denne biten skal ikke forveksles med WP for CPU-enes flaggeregistre, som forhindrer overskriving ved å lage en gaffelprosess på UNIX-lignende systemer, og dermed beskytte hovedminnet mot dataskriving. Heller ikke til den typiske beskyttelsesfanen som vi finner på noen SD-kort eller lagringsmedier. I dette tilfellet refererer vi til en beskyttelse som er implementert i sekundære lagringsmedier.

Mens kontrolleren til lagringsmedium USB- eller SD-minnekort, eller hva som helst, oppdager at denne biten er aktiv, driveren vil forhindre at kjernen bestiller en skriveordre, og derfor vil den bare kunne lese innholdet. Det er absolutt veldig praktisk når vi lagrer data som vi ikke ønsker å bli endret, og forhindrer skriving eller sletting ved en feiltakelse. Men hvis et av disse beskyttede mediene har falt i hendene på oss og vi ikke vet om eksistensen av denne biten, kan vi kaste bort timer med å tenke at enheten vår er skadet, eller heve og senke tappen som noen pendrives eller SD-kort må beskytte uten resultat. (Lås / Lås opp) ...

Monter skrivebeskyttet eller skrivebeskyttet media:

SD-kort med låsekategori

Selv om det ikke er akkurat det vi leter etter med skrivebeskyttelsesbiten, kan vi også finne ut at et medium har vært monteres automatisk eller manuelt for skrivebeskyttet, så vi vil ikke ha muligheten til å skrive i det. Noe som i noen tilfeller kan være veldig irriterende og hindrer oss i å modifisere eller lagre ting. Vel, løsningen på dette er veldig enkel.

Relatert artikkel:
Deaktiver USB-lagring i Linux

For eksempel, hvis i / etc / fstab-filen er enheten konfigurert til å montere automatisk med alternativet ro (skrivebeskyttet) eller hvis vi har montert den med kommandoen:

sudo mount -o ro /dev/sda /mnt

I et slikt tilfelle kan vi bare lese / dev / sda-enheten i dette tilfellet den er montert på / mnt monteringspunktet. Slik at vi kan skrive til det igjen:

sudo mount -o remount,rw /dev/sda /mnt

I tilfelle denne metoden ikke fungerer for deg, da vil det være fordi biten vi har snakket om handler, og det er derfor vi må bruke verktøyet vi presenterer nedenfor.

Hva er hdparm?

Harddisk med operatører

Kommandoen hdparm er et verktøy på lavt nivå som fungerer som et grensesnitt mellom ulike Linux-kjernedrivere og SATA / PATA / SAS-lagringsmedier ved bruk av libata-biblioteket, så vel som for gamle IDE-medier. Husk at mange USB-lagringsmediekontrollere, inkludert kortlesere som SD, også bruker denne typen kontroller til å betjene, derfor er den også kompatibel med dem.

Su grunnleggende syntaks er:

hdparm [opsjoner] [enhet]

Og gaver mange alternativer å jobbe med, selv om jeg ikke anbefaler at du bruker dem hvis du ikke vet hva du gjør bra, siden du kan være et verktøy på lavt nivå, kan du skade enheten din, for eksempel hvis vi manipulerer noen kritiske alternativer som -B . Men jeg vil fortelle deg at det blant noen av alternativene er ganske interessante som:

  • konfigurasjon på disken:
sudo hdparm /dev/sdd

  • Vis identifikasjon på disken:
 sudo hdparm -i /dev/sdd 
  • Sjekk buffer- og cache-lesetider:
sudo hdparm -t /dev/sdd
sudo hdparm -T /dev/sdd

Husk alltid å bruke privilegiene, det vil si kjøre dem som rotbruker eller sette sudo foran, ellers fungerer de ikke ...

Fjern og still inn minnebeskyttelsesbiten med hdparm:

Når hdparm-verktøyet er kjent, kan vi bruke alternativet -r som vi kan kontrollere statusen til denne biten med med en enkel kommando. For å gjøre dette trenger vi bare å vite det fysiske navnet på lagringsenheten vår. For eksempel, hvis / dev / sdd ble kalt, i så fall kunne vi bruke:

 sudo hdparm -r /dev/sdd 

Og verdien av nevnte bit vises på skjermen. Hvis verdien er 1, betyr det at modusen er aktiv bare lese eller skrivebeskyttet, eller med andre ord, skrivebeskyttelsesmetoden er aktiv, og du vil ikke kunne skrive noe til minnet. For å deaktivere den eller endre biten, trenger du bare å gjøre følgende:

sudo hdparm -r0 /dev/sdd

Og nå hvis vi utfører den første kommandoen og bruker tilstanden, vil vi se at den har returnert til 0, og derfor er den readonly-modusen slått av eller deaktivert. Hvis du vil returnere den til aktiv tilstand, bruk alternativet -r1 i stedet for -r0 og klar. For eksempel:

sudo hdparm -r1 /dev/sdd

Så enkelt er det aktivere eller deaktivere denne biten. Det har ikke for mye mysterium, men for de som ikke vet dette, kan det være hodepine når det gjelder å beskytte lagringsmediet.

Jeg håper det har hjulpet deg, og nå vet du hvordan du lager en skrivebeskyttet pendrive, ikke glem legg igjen kommentaren dins ...


Legg igjen kommentaren

Din e-postadresse vil ikke bli publisert. Obligatoriske felt er merket med *

*

*

  1. Ansvarlig for dataene: AB Internet Networks 2008 SL
  2. Formålet med dataene: Kontroller SPAM, kommentaradministrasjon.
  3. Legitimering: Ditt samtykke
  4. Kommunikasjon av dataene: Dataene vil ikke bli kommunisert til tredjeparter bortsett fra ved juridisk forpliktelse.
  5. Datalagring: Database vert for Occentus Networks (EU)
  6. Rettigheter: Når som helst kan du begrense, gjenopprette og slette informasjonen din.

  1.   Hernán sa

    Hei!
    Først av alt, takk for notatene! De er alltid veldig nyttige.

    Jeg er en Debian 9-bruker.
    I dette spesielle tilfellet har jeg et problem som jeg ikke kan løse. Jeg har en "infisert" penn med skrivebeskyttelse som jeg IKKE KAN fjerne. Jeg tenker allerede at det er fysisk fordi jeg ærlig talt har prøvd alt (ned til lavt nivåformatering i Windows eller redningsdisker, modifisering av partisjoner osv.) Og ingenting.

    Jeg trodde jeg var i ferd med å løse det, da jeg fulgte trinnene dine, fant jeg ut at pennstasjonens skrivebeskyttelse var "på", men når jeg endret den til "av", kan jeg fortsatt ikke slette eller endre noe på den.

    Hvilket kan være? Er det noen annen måte å løse dette på? (Jeg har ikke noe imot å miste informasjonen jeg har inni)

    På forhånd takk for hjelpen.

    Hernán

    1.    paco sa

      God! Jeg vet ikke om de fortalte deg løsningen eller til slutt du løste den, men jeg er i samme tilfelle som deg.
      Kan du gi meg råd?
      Tusen takk.

  2.   salte willians sa

    god forklaring

  3.   Sergio sa

    Hei, jeg har en USB som systemet ikke gjenkjenner, jeg sender deg informasjonen hvis du kan hjelpe meg takk

    dmesg

    [83384.348839] usb 1-1: nytt høyhastighets USB-enhet nummer 8 ved bruk av ehci-pci
    [83384.506219] usb 1-1: Ny USB-enhet funnet, idVendor = 0c76, idProduct = 0005, bcdDevice = 1.00
    [83384.506225] usb 1-1: Nye USB-enhetsstrenger: Mfr = 1, Produkt = 2, Serienummer = 0
    [83384.506228] usb 1-1: Produkt: USB-masselagring
    [83384.506231] usb 1-1: Produsent: GENERIC
    [83384.506848] usb-lagring 1-1: 1.0: USB masselagringsenhet oppdaget
    [83384.508235] scsi host5: usb-lagring 1-1: 1.0
    [83385.524951] scsi 5: 0: 0: 0: GENERISK USB-masselagring 1.00 PQ: 0 ANSI: 2 med direkte tilgang
    [83385.556757] sd 5: 0: 0: 0: Vedlagt scsi generisk sg3 type 0
    [83385.561706] sd 5: 0: 0: 0: [sdc] Vedlagt SCSI flyttbar disk

    root @ localhost: ~ # fdisk -l
    Disk / dev / sda: 698.7 GiB, 750156374016 bytes, 1465149168 sektorer
    Enheter: sektorer av 1 * 512 = 512 bytes
    Sektorstørrelse (logisk / fysisk): 512 bytes / 4096 bytes
    I / O-størrelse (minimum / optimal): 4096 bytes / 4096 bytes
    Disketikettype: gpt
    Disk identifier: 995F9474-C5F1-4EE9-8FD7-13EA790423DC

    Enhetsstart endesektorer Størrelse Type
    / dev / sda1 2048 1050623 1048576 512M EFI System
    / dev / sda2 1050624 49879039 48828416 23.3G Linux-filsystem
    / dev / sda3 49879040 69410815 19531776 9.3G Linux-filsystem
    / dev / sda4 69410816 76107775 6696960 3.2G Linux-bytte
    / dev / sda5 76107776 80013311 3905536 1.9G Linux-filsystem
    / dev / sda6 80013312 1465147391 1385134080 660.5G Linux-filsystem

    root @ localhost: ~ # fdisk -l / dev / sdc
    fdisk: kan ikke åpne / dev / sdc: Ingen medium funnet

    root @ localhost: ~ # hdparm / dev / sdc

    / dev / sdc:
    SG_IO: feil / manglende sansedata, sb []: f0 00 02 00 00 00 00 0b 00 00 00 00a 3 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
    flertall = 0 (av)
    skrivebeskyttet = 0 (av)
    readahead = 256 (på)

    root @ localhost: ~ # hdparm -C / dev / sdc

    / dev / sdc:
    stasjonstilstand er: standby

    root @ localhost: ~ # hdparm -I / dev / sdc

    / dev / sdc:
    SG_IO: feil / manglende sansedata, sb []: f0 00 02 00 00 00 00 0b 00 00 00 00a 3 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00

    ATA-enhet, med ikke-flyttbare medier
    Standarder:
    Brukes sannsynligvis: 1
    konfigurasjon:
    Logisk maks strøm
    sylindere 0 0
    hoder 0 0
    sektorer / spor 0 0
    -
    Logisk / fysisk sektorstørrelse: 512 byte
    enhetsstørrelse med M = 1024 * 1024: 0 MBytes
    enhetsstørrelse med M = 1000 * 1000: 0 MBytes
    cache / buffer størrelse = ukjent
    muligheter:
    IORDY ikke sannsynlig
    Kan ikke utføre IO med to ord
    R / W flere sektoroverføring: støttes ikke
    DMA: støttes ikke
    IOP: pio0

  4.   dekstre sa

    takk for hjelpen din, nå kunne jeg vite om USB-en min var imot å skrive og jeg bekreftet at det ikke var imot å skrive, så dette er allerede en formateringsløsning på lavt nivå, jeg må legge til at viruset fikk USB-en til å koble fra på et minutt eller to og ikke Det tillot å handle, det ga ikke tid, så siden jeg allerede visste med hvilket navn jeg tildelte det, som var "sdc" i terminalen, satte jeg alt som rotbruker.
    # dd hvis = / dev / null | pv | dd av = / dev / sdc bs = 1M her venter du en stund
    # dd hvis = / dev / null | pv | dd av = / dev / sdc bs = 446 count = 1 du tar ut og setter igjen USB-en du gir
    # mkfs.vfat -F 32 -n "anaconda" / dev / sdc og du er ferdig

  5.   MGTMer sa

    Parabener! En rekke voltas jeg gir med dette emnet er å gi en coa-forklaring. Takknemlig Moi.

  6.   Victor sa

    Flott. Takk skal du ha.

  7.   Iori sa

    Endelig noe som virkelig fungerte for meg, takk.

  8.   opphøre sa

    Hei, jeg har et 16 GB ADATA kategori 10 microsd-minne

    Jeg utførte prosedyren, og det ser ut til å fungere, men å sette den inn på nytt og kontrollere staten på nytt, setter den tilbake til skrivebeskyttet.

    Jeg har prøvd å formatere det, men det fungerer ikke. Det jeg kan se er filene mine.

    noe annet verktøy eller måte å løse problemet på?

  9.   Jose sa

    enkelt og kortfattet, perfekt all forklaring og eksempler, det har vært veldig nyttig.

  10.   Miguel Angel sa

    Hei, jeg er en Kali Linux-bruker i den siste versjonen, jeg har allerede prøvd en milliard teknikker (beklager at jeg er overdrevet), men ingen av dem gir meg verken i Linux eller i Windows

  11.   danikardone sa

    i mitt tilfelle, debian, må det flyttbare minnet demonteres….

  12.   JR sa

    suveren, takk
    Jeg har klart å gjenopprette flere salgsfremmende utdrag med deres instruksjoner

  13.   jero sa

    Hei, det fungerer, men brukerens mappe varierer, det ville være greit å avklare den, men jeg har en feil, i kommandoen viser den meg at jeg endrer den, men når jeg vil legge en mappe eller hva som helst på pendrive forteller den meg at den er skrivebeskyttet. Hvis du kan hjelpe meg med å løse det, ville det vært bra. Hilsener

  14.   Oriel sa

    aksepterer kommandoen og viser den som ubeskyttet er den r = 0, men når jeg vil formatere, forteller den meg beskyttet. Takk skal du ha

  15.   William R Larreal G sa

    Hei, god dag. Med dette hadde jeg ikke prøvd, men i Windows har jeg gjort alt og ingenting. Min pendrive er skrivebeskyttet, selv med sudo hdparm -r / dev / sdd gir den verdi 1, men med sudo hdparm -r0 / dev / sdd kunne den heller ikke fjerne skrivebeskyttelsen. Takk og hilsener fra Venezuela.
    Min Linux-versjon er openSUSE Tumbleweed 15.3

  16.   Carlos AG Ramos sa

    Tidligere informasjon med klarhet og pålitelighet. Levei -timer med å teste et halvt antall løsninger, og dette, presentert her, er definitivt for problemet som skal leses og blokkeres av gravação.

  17.   LUIS sa

    Utmerket bidrag, alt har blitt som du nevnte ... takk

  18.   uziel sa

    Tusen takk, veldig nyttig, dette skjer vanligvis mye i usb, løsningen er enkel og rask.

  19.   Lorenzo sa

    Tusen takk for bidraget.
    I mitt tilfelle godtar Ubuntu 23.4 alle kommandoene, men låser ikke opp beskyttelsesbiten.
    Noen ideer?

    lorenzo@lorenzo-B85M-D3H:~$ sudo hdparm -r /dev/sdc
    [sudo] passord for Lawrence:

    / dev / sdc:
    skrivebeskyttet = 1 (på)
    lorenzo@lorenzo-B85M-D3H:~$ sudo hdparm -r0 /dev/sdc

    / dev / sdc:
    sette skrivebeskyttet til 0 (av)
    skrivebeskyttet = 1 (på)
    lorenzo@lorenzo-B85M-D3H:~$

    Takk