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:
Ä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.
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?
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 ...
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
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.
bra förklaring
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
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
Parabener! Ett antal volt som jag säger med detta ämne är att ge en coa-förklaring. Tacksam Moi.
Bra. Tack.
Äntligen något som verkligen fungerade för mig, tack.
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?.
enkelt och koncist, perfekt alla förklaringar och exempel, det har varit mycket användbart.
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
i mitt fall debian, det borttagbara minnet måste avmonteras ....
fantastiskt, tack
Jag har lyckats återställa flera kampanjutdrag med deras instruktioner
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
accepterar kommandot och visar att det är oskyddat är r = 0, men när jag vill formatera säger det mig skyddad. Tack
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
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.
Utmärkt bidrag, allt blev som du nämnde ... tack
Tack så mycket, mycket användbart, detta brukar hända mycket i usb, lösningen är enkel och snabb.
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