Skriv Protected Pendrive på Linux

skrivskyddad pendrive

Om du har ett SD-minneskort, pendrive eller någon USB-lagringsdisk du vill ha Skrivskydda, i den här artikeln berättar vi steg för steg och på ett enkelt sätt hur man gör det. Och det finns lite anti-skrivskydd som vissa drivrutiner tillåter, känt som «skrivskyddsbit»Beroende på om den är aktiv vid 1 eller 0, kan du skriva till enheten eller inte. Denna bit ska inte förväxlas med WP för CPU: s flaggregister, som förhindrar överskrivning genom att skapa en gaffelprocess på UNIX-liknande system, vilket skyddar huvudminnet från dataskrivning. Inte heller till den typiska skyddsfliken som vi hittar i vissa SD-kort eller lagringsmedier. I det här fallet hänvisar vi till ett skydd som implementeras i sekundärt lagringsmedia.

Medan kontrollen av lagringsmedium USB- eller SD-minneskort, eller vad som helst, upptäcker att den här biten är aktiv, drivrutinen kommer att hindra kärnan från att beställa en skrivorder och därför kommer den bara att kunna läsa innehållet. Det är verkligen väldigt praktiskt när vi lagrar data som vi inte vill ändra, vilket förhindrar skrivning eller radering av misstag. Men om ett av dessa skyddade medier har fallit i våra händer och vi inte vet om det finns denna bit, kan vi slösa timmar med att tänka att vår enhet är skadad, eller höja och sänka fliken som vissa pendrives eller SD-kort måste skydda dem utan resultat. (Lås / Lås upp) ...

Montera skrivskyddat eller skrivbart media:

SD-kort med låsflik

Även om det inte är precis vad vi letar efter med skrivskyddsbiten kan vi också upptäcka att ett medium har varit monteras automatiskt eller manuellt för skrivskyddad, så vi kommer inte att kunna skriva i det. Något som i vissa fall kan vara mycket irriterande och hindrar oss från att modifiera eller lagra saker. Lösningen på detta är väldigt enkel.

Relaterad artikel:
Inaktivera USB-lagring i Linux

Till exempel, om i filen / etc / fstab är enheten konfigurerad att monteras automatiskt med alternativet ro (skrivskyddad) eller om vi har monterat det med kommandot:

sudo mount -o ro /dev/sda /mnt

I ett sådant fall kan vi bara läsa / dev / sda-enheten i det här fallet har den monterats på / mnt-monteringspunkten. Så att vi kan skriva till det igen:

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

Om den här metoden inte fungerar för dig, då kommer det att bero på att den bit som vi har pratat om agerar, och det är därför vi måste använda verktyget som vi presenterar nedan.

Vad är hdparm?

Hårddisk med operatörer

Kommandot hdparm är ett lågnivåverktyg som fungerar som ett gränssnitt mellan olika Linux-kärndrivrutiner och SATA / PATA / SAS-lagringsmedier med libata-biblioteket, liksom för gamla IDE-media. Kom ihåg att många USB-lagringsmediekontrollanter, inklusive kortläsare som SD, också använder denna typ av styrenhet för att fungera, därför är den också kompatibel med dem.

Su grundläggande syntax är:

hdparm [alternativ] [enhet]

Och presenter många alternativ att arbeta med, även om jag inte rekommenderar att du använder dem om du inte vet vad du gör bra, eftersom du kan vara ett lågnivåverktyg kan du allvarligt skada din enhet, till exempel om vi manipulerar några kritiska alternativ som -B . Men jag kommer att berätta att bland dess alternativ finns det några ganska intressanta som:

  • Hämta konfiguration på skivan:
sudo hdparm /dev/sdd

  • Visa identifiering på skivan:
 sudo hdparm -i /dev/sdd 
  • Kontrollera buffert- och cacheläsningstider:
sudo hdparm -t /dev/sdd
sudo hdparm -T /dev/sdd

Kom ihåg att använda privilegierna, det vill säga, kör dem som root-användare eller sätt sudo framför dem annars fungerar de inte ...

Ta bort och ställ in minnesskyddsbiten med hdparm:

När hdparm-verktyget är känt kan vi använda alternativet -r med vilket vi kan kontrollera status för denna bit med ett enkelt kommando. För att göra detta behöver vi bara veta det fysiska namnet på vår lagringsenhet. Till exempel, om / dev / sdd anropades, skulle vi i så fall kunna använda:

 sudo hdparm -r /dev/sdd 

Och värdet på nämnda bit kommer att visas på skärmen. Om värdet är 1 betyder det att läget är aktivt läsbart eller skrivskyddad, eller med andra ord, skrivskyddsmetoden är aktiv och du kan inte skriva någonting till minnet. För att inaktivera eller ändra biten behöver du bara göra följande:

sudo hdparm -r0 /dev/sdd

Och nu om vi utför det första kommandot och konsumerar tillståndet kommer vi att se att det har återgått till 0, därför är det läsläget av eller inaktiverat. Om du vill återställa det till det aktiva tillståndet, använd alternativet -r1 istället för -r0 och redo. Till exempel:

sudo hdparm -r1 /dev/sdd

Så enkelt är det aktivera eller inaktivera den här biten. Det har inte för mycket mysterium men för dem som inte vet det kan det vara huvudvärk när det gäller att skydda lagringsmediet.

Jag hoppas att det har hjälpt dig och nu vet du hur man skapar en skrivskyddad pendrive, glöm inte lämna din kommentars ...


Lämna din kommentar

Din e-postadress kommer inte att publiceras. Obligatoriska fält är markerade med *

*

*

  1. Ansvarig för data: AB Internet Networks 2008 SL
  2. Syftet med uppgifterna: Kontrollera skräppost, kommentarhantering.
  3. Legitimering: Ditt samtycke
  4. Kommunikation av uppgifterna: Uppgifterna kommer inte att kommuniceras till tredje part förutom enligt laglig skyldighet.
  5. Datalagring: databas värd för Occentus Networks (EU)
  6. Rättigheter: När som helst kan du begränsa, återställa och radera din information.

  1.   Hernán sade

    Hej!
    Först och främst tack för anteckningarna! De är alltid mycket användbara.

    Jag är en Debian 9-användare.
    I det här specifika fallet har jag ett problem som jag inte kan lösa. Jag har en "infekterad" penna med ett skrivskydd som jag inte kan ta bort. Jag tänker redan att det är fysiskt eftersom jag ärligt talat har provat allt (ner till lågnivåformatering i Windows eller räddningsskivor, modifiering av partitioner etc.) och ingenting.

    Jag trodde att jag skulle lösa det när jag följde dina steg och upptäckte att pennanhetens skrivskydd var "på", men när jag ändrade det till "av" kan jag fortfarande inte ta bort eller ändra något på det.

    Vilket kan vara? Finns det något annat sätt att lösa detta? (Jag har inget emot att förlora den information jag har inuti)

    Tack på förhand för din hjälp.

    Hernán

    1.    paco sade

      Bra! Jag vet inte om de berättade för dig lösningen eller till slut löste du den, men jag är i samma fall som du.
      Kan du ge mig råd?
      Tack så mycket.

  2.   salta willians sade

    bra förklaring

  3.   Sergio sade

    Hej jag har en USB som systemet inte känner igen, jag skickar informationen om du kan hjälpa mig tack

    dmesg

    [83384.348839] usb 1-1: nytt höghastighets USB-enhet nummer 8 med ehci-pci
    [83384.506219] usb 1-1: Ny USB-enhet hittades, idVendor = 0c76, idProduct = 0005, bcdDevice = 1.00
    [83384.506225] usb 1-1: Nya USB-enhetssträngar: Mfr = 1, Produkt = 2, Serienummer = 0
    [83384.506228] usb 1-1: Produkt: USB-masslagring
    [83384.506231] usb 1-1: Tillverkare: GENERIC
    [83384.506848] USB-lagring 1-1: 1.0: USB-masslagringsenhet upptäckt
    [83384.508235] scsi host5: USB-lagring 1-1: 1.0
    [83385.524951] scsi 5: 0: 0: 0: Direktåtkomst GENERISK USB-masslagring 1.00 PQ: 0 ANSI: 2
    [83385.556757] sd 5: 0: 0: 0: Bifogad scsi generisk sg3 typ 0
    [83385.561706] sd 5: 0: 0: 0: [sdc] Bifogad SCSI-flyttbar disk

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

    Enhetsstartslutsektorer Storlekstyp
    / 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 swap
    / 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 inte öppna / dev / sdc: Inget medium hittades

    root @ localhost: ~ # hdparm / dev / sdc

    / dev / sdc:
    SG_IO: felaktiga / saknade sinnesdata, 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 00
    multcount = 0 (av)
    readonly = 0 (av)
    readahead = 256 (on)

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

    / dev / sdc:
    enhetens tillstånd är: standby

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

    / dev / sdc:
    SG_IO: felaktiga / saknade sinnesdata, 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 00

    ATA-enhet med icke-avtagbart media
    Standarder:
    Används troligen: 1
    konfiguration:
    Logisk maxström
    cylindrar 0 0
    huvud 0 0
    sektorer / spår 0 0
    -
    Logisk / fysisk sektorstorlek: 512 byte
    enhetsstorlek med M = 1024 * 1024: 0 MBytes
    enhetsstorlek med M = 1000 * 1000: 0 MBytes
    cache / buffertstorlek = okänd
    Förmågor:
    IORDY inte troligt
    Kan inte utföra dubbelordet IO
    R / W multipel sektoröverföring: stöds inte
    DMA: stöds inte
    IOP: pio0

  4.   dextre sade

    tack för din hjälp, nu kunde jag veta om min USB var emot att skriva och jag verifierade att det inte var emot att skriva så det här är redan en formateringslösning på låg nivå, jag måste lägga till att viruset gjorde att USB-enheten kopplades bort på en minut eller två Det tillät att agera, det lämnade inte tid så eftersom jag redan visste med vilket namn jag tilldelade det, vilket var "sdc" i terminalen satte jag allt som root-användare.
    # dd om = / dev / zero | pv | dd = = / dev / sdc bs = 1M här väntar du en stund
    # dd om = / dev / zero | pv | dd av = / dev / sdc bs = 446 count = 1 du tar ut och sätter igen den USB du ger
    # mkfs.vfat -F 32 -n "anaconda" / dev / sdc och du är klar

  5.   MGT sade

    Parabener! Ett antal volt som jag säger med detta ämne är att ge en coa-förklaring. Tacksam Moi.

  6.   Victor sade

    Bra. Tack.

  7.   iori sade

    Äntligen något som verkligen fungerade för mig, tack.

  8.   upphöra sade

    Hej, jag har ett 16 GB ADATA kategori 10 microsd-minne

    Jag gjorde proceduren och det verkar fungera, men om du sätter in den igen och kontrollerar tillståndet återställs den till skrivskyddad.

    Jag har försökt att formatera det men det fungerar inte. Vad jag kan se är mina filer.

    något annat verktyg eller sätt att lösa problemet?.

  9.   Jose sade

    enkelt och koncist, perfekt alla förklaringar och exempel, det har varit mycket användbart.

  10.   Miguel Angel sade

    Hej, jag är en Kali Linux-användare i sin senaste version, jag har redan provat en miljard tekniker (ledsen för att vara överdriven) men ingen av dem ger mig varken i Linux eller Windows

  11.   danikardon sade

    i mitt fall debian, det borttagbara minnet måste avmonteras ....

  12.   JR sade

    fantastiskt, tack
    Jag har lyckats återställa flera kampanjutdrag med deras instruktioner

  13.   Jero sade

    Hej, det fungerar men användarens mapp varierar, det skulle vara bra att klargöra det, men jag har ett fel, i kommandot visar det mig att jag ändrar det, men när jag vill sätta en mapp eller vad som helst på pendrive säger det mig att det är skrivskyddat. Om du kan hjälpa mig att lösa det skulle det vara bra. Hälsningar

  14.   burspråk sade

    accepterar kommandot och visar att det är oskyddat är r = 0, men när jag vill formatera säger det mig skyddad. Tack

  15.   William R Larreal G sade

    Hej god dag. Med detta hade jag inte provat men i Windows har jag gjort allt och ingenting. Min pendrive är skrivskyddad, även med sudo hdparm -r / dev / sdd ger det värde 1, men med sudo hdparm -r0 / dev / sdd kunde det inte heller ta bort skrivskyddet. Tack och hälsningar från Venezuela.
    Min Linux-version är openSUSE Tumbleweed 15.3

  16.   Carlos AG Ramos sade

    Tidigare information med tydlighet och tillförlitlighet. Levei timmar testar ett antal lösningar och detta, som presenteras här, är den definitiva för problemet som läser och blockerar gravação.

  17.   LUIS sade

    Utmärkt bidrag, allt blev som du nämnde ... tack

  18.   Uziel sade

    Tack så mycket, mycket användbart, detta brukar hända mycket i usb, lösningen är enkel och snabb.

  19.   Lorenzo sade

    Tack så mycket för bidraget.
    I mitt fall accepterar Ubuntu 23.4 alla kommandon men låser inte upp skyddsbiten.
    Några idéer?

    lorenzo@lorenzo-B85M-D3H:~$ sudo hdparm -r /dev/sdc
    [sudo] lösenord för Lawrence:

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

    / dev / sdc:
    inställning av skrivskyddad till 0 (av)
    skrivskyddad = 1 (på)
    lorenzo@lorenzo-B85M-D3H:~$

    tack