Jos sinulla on SD-muistikortti, pendrive tai mikä tahansa haluamasi USB-muistilevy kirjoitussuoja, tässä artikkelissa kerromme sinulle askel askeleelta ja helpolla tavalla, miten se tehdään. Ja tietyt ohjaimet sallivat jonkin verran kirjoitussuojausta, joka tunnetaan nimellä «kirjoitussuojabitti»Riippuen siitä, onko se aktiivinen 1 tai 0, se sallii kirjoittamisen yksikköön vai ei. Tätä bittiä ei pidä sekoittaa CPU: n lippurekistereiden WP: hen, jotka estävät ylikirjoituksen luomalla haaroitusprosessin UNIX-tyyppisille järjestelmille, mikä suojaa päämuistia datan kirjoittamiselta. Eikä tyypilliselle suojausvälilehdelle, jonka löydämme joistakin SD-korteista tai tallennusvälineistä. Tässä tapauksessa tarkoitamme suojausta, joka on toteutettu toissijaisessa tallennusvälineessä.
Vaikka ohjain tallennusväline USB- tai SD-muistikortti tai mikä tahansa tapa havaitsee, että tämä bitti on aktiivinen, ohjain estää ydintä tilaamasta kirjoitusjärjestystä ja siksi se pystyy lukemaan vain sisältöä. Se on varmasti hyvin käytännöllistä, kun tallennamme tietoja, joita emme halua muuttaa, estäen kirjoittamisen tai poistamisen vahingossa. Mutta jos jokin näistä suojatuista materiaaleista on pudonnut käsissämme emmekä tiedä tämän bitin olemassaoloa, voimme tuhlata tunteja ajatellessamme, että yksikkömme on vahingoittunut, tai nostamalla ja laskemalla välilehteä, jota joidenkin pendriveiden tai SD-korttien on suojattava (lukitse / avaa) ...
Asenna vain luku- tai kirjoitusmedia:
Vaikka se ei ole juuri sitä, mitä etsimme kirjoitussuojabitin avulla, voimme myös huomata, että väline on ollut asennetaan automaattisesti tai manuaalisesti vain luku -tilaan, joten meillä ei ole kykyä kirjoittaa siihen. Jotain, joka joissakin tapauksissa voi olla hyvin ärsyttävää ja estää meitä muokkaamasta tai tallentamasta asioita. No, ratkaisu tähän on hyvin yksinkertainen.
Esimerkiksi, jos / etc / fstab-tiedostossa laite on määritetty asennettavaksi automaattisesti vaihtoehdolla ro (vain luku) tai jos olemme asentaneet sen komennolla:
sudo mount -o ro /dev/sda /mnt
Tällöin voimme lukea vain / dev / sda -laitteen, tässä tapauksessa se on asennettu / mnt -asennuskohtaan. Jotta voimme kirjoittaa sille uudelleen:
sudo mount -o remount,rw /dev/sda /mnt
Jos tämä menetelmä ei toimi sinulle, niin se johtuu siitä, että vähän, josta olemme puhuneet, toimii, ja siksi meidän on käytettävä alla olevaa työkalua.
Mikä on hdparm?
Komento hdparm on matalan tason työkalu joka toimii liitäntänä erilaisten Linux-ytimen ohjainten ja SATA / PATA / SAS-tallennusvälineiden välillä libata-kirjastoa sekä vanhoja IDE-medioita varten. Muista, että monet USB-tallennusvälineiden ohjaimet, mukaan lukien kortinlukijat, kuten SD, käyttävät myös tämän tyyppisiä ohjaimia toimiakseen, joten se on myös yhteensopiva niiden kanssa.
Su perussyntaksi on:
hdparm [asetukset] [laite]
Ja lahjoja Monet vaihtoehdot työskennellä, vaikka en suosittele niiden käyttöä, jos et tiedä mitä teet hyvin, koska matalan tason työkalu voi vahingoittaa laitettasi vakavasti, esimerkiksi jos manipuloimme joitain kriittisiä vaihtoehtoja, kuten -B . Mutta kerron teille, että sen vaihtoehtojen joukossa on joitain varsin mielenkiintoisia, kuten:
- Hanki kokoonpano levyn levy:
sudo hdparm /dev/sdd
- Näytä tunnistaminen levyn levy:
sudo hdparm -i /dev/sdd
- Tarkista puskurin ja välimuistin lukuajat:
sudo hdparm -t /dev/sdd sudo hdparm -T /dev/sdd
Muista aina käyttää etuoikeuksia, eli ajaa ne pääkäyttäjänä tai laita sudo heidän edessään, muuten ne eivät toimi ...
Poista ja aseta muistisuojabitti hdparmilla:
Kun hdparm-työkalu on tiedossa, voimme käyttää -r-vaihtoehtoa, jolla voimme tarkistaa tämän bitin tilan yksinkertaisella komennolla. Tätä varten meidän on tiedettävä vain tallennuslaitteemme fyysinen nimi. Esimerkiksi, jos / dev / sdd kutsutaan, siinä tapauksessa voimme käyttää:
sudo hdparm -r /dev/sdd
Ja mainitun bitin arvo näkyy näytöllä. Jos sen arvo on 1, se tarkoittaa, että tila on aktiivinen Lue ainoastaan tai vain luku -tai toisin sanoen kirjoitussuojausmenetelmä on aktiivinen, etkä voi kirjoittaa mitään muistiin. Voit poistaa sen käytöstä tai muokata bittiä vain tekemällä seuraavat toimet:
sudo hdparm -r0 /dev/sdd
Ja nyt, kun suoritamme ensimmäisen komennon ja kulutamme tilan, näemme, että se on palannut 0: een, joten vain luku -tila on pois päältä tai pois käytöstä. Käytä vaihtoehtoa, jos haluat palauttaa sen aktiiviseen tilaan -r1 eikä -r0 ja valmis. Esimerkiksi:
sudo hdparm -r1 /dev/sdd
Se on yksinkertaista ota tämä bitti käyttöön tai poista se käytöstä. Sillä ei ole liikaa mysteeriä, mutta niille, jotka eivät sitä tiedä, se voi olla päänsärky, kun on kyse niiden tallennusvälineiden suojaamisesta.
Toivon, että se on auttanut sinua ja nyt tiedät, miten tehdä kirjoitussuojattu USB-tikku, älä unohda jätä kommenttisis ...
Hei!
Ensinnäkin kiitos muistiinpanoista! Ne ovat aina erittäin hyödyllisiä.
Olen Debian 9 -käyttäjä.
Tässä erityistapauksessa minulla on ongelma, jota en voi ratkaista. Minulla on "tartunnan saanut" kynä, jolla on kirjoitussuoja, jota en voi poistaa. Ajattelen jo, että se on fyysinen, koska olen kokeillut rehellisesti kaikkea (aina matalan tason muotoiluun Windowsissa tai pelastuslevyihin, osioiden muokkaamiseen jne.) En mitään.
Luulin, että olin ratkaisemassa sen, kun seurasin vaiheitasi, huomasin, että kynäaseman kirjoitussuoja oli "päällä", mutta kun vaihdoin sen "pois" -tilaan, en silti voi poistaa tai muokata mitään sen sisältöä.
Mikä voi olla? Onko jokin muu tapa ratkaista tämä? (En välitä menettämästä tietoja, jotka minulla on sisällä)
Kiitos avustasi jo etukäteen.
Hernán
Hyvä! En tiedä, kertoivatko he sinulle ratkaisun vai lopulta ratkaisitko sen, mutta olen samassa tapauksessa kuin sinäkin.
Voitteko neuvoa minua?
Paljon kiitoksia.
hyvä selitys
Hei, minulla on USB, jota järjestelmä ei tunnista. Lähetän sinulle tiedot, jos voit auttaa minua kiitos
dmesg
[83384.348839] usb 1-1: uusi nopea USB-laite numero 8 käyttäen ehci-pci: tä
[83384.506219] usb 1-1: Uusi USB-laite löydetty, idVendor = 0c76, idProduct = 0005, bcdDevice = 1.00
[83384.506225] usb 1-1: Uudet USB-laitteen merkkijonot: Valmistajan = 1, Tuote = 2, Sarjanumero = 0
[83384.506228] usb 1-1: Tuote: USB-massamuisti
[83384.506231] usb 1-1: Valmistaja: GENERIC
[83384.506848] usb-tallennus 1-1: 1.0: USB-massamuistilaite havaittu
[83384.508235] scsi host5: usb-tallennus 1-1: 1.0
[83385.524951] scsi 5: 0: 0: 0: Direct-Access GENERIC USB Mass Storage 1.00 PQ: 0 ANSI: 2
[83385.556757] sd 5: 0: 0: 0: Liitteenä oleva scsi generic sg3 type 0
[83385.561706] sd 5: 0: 0: 0: [sdc] Liitetty SCSI-irrotettava levy
root @ localhost: ~ # fdisk -l
Levy / dev / sda: 698.7 GiB, 750156374016 tavut, 1465149168-sektorit
Yksiköt: 1 * 512 = 512 tavujen sektorit
Alakoko (looginen / fyysinen): 512 bytes / 4096 tavua
I / O-koko (minimi / optimaalinen): 4096 bytes / 4096 tavua
Levytyypin tyyppi: gpt
Disk identifier: 995F9474-C5F1-4EE9-8FD7-13EA790423DC
Laitteen aloituspään sektorien kokotyyppi
/ dev / sda1 2048 1050623 1048576 512M EFI-järjestelmä
/ dev / sda2 1050624 49879039 48828416 23.3G Linux-tiedostojärjestelmä
/ dev / sda3 49879040 69410815 19531776 9.3G Linux-tiedostojärjestelmä
/ dev / sda4 69410816 76107775 6696960 3.2G Linux -vaihto
/ dev / sda5 76107776 80013311 3905536 1.9G Linux-tiedostojärjestelmä
/ dev / sda6 80013312 1465147391 1385134080 660.5G Linux-tiedostojärjestelmä
root @ localhost: ~ # fdisk -l / dev / sdc
fdisk: ei voi avata / dev / sdc: Mediumia ei löydy
root @ localhost: ~ # hdparm / dev / sdc
/ dev / sdc:
SG_IO: huono / puuttuva aistitieto, 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 00 XNUMX
moniluku = 0 (pois päältä)
vain luku = 0 (pois päältä)
readahead = 256 (päällä)
root @ localhost: ~ # hdparm -C / dev / sdc
/ dev / sdc:
aseman tila on: valmiustila
root @ localhost: ~ # hdparm -I / dev / sdc
/ dev / sdc:
SG_IO: huono / puuttuva aistitieto, 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 00 XNUMX
ATA-laite, jossa ei ole irrotettavaa tietovälinettä
Standardit:
Todennäköisesti käytetty: 1
kokoonpano:
Looginen maksimivirta
sylinterit 0 0
päät 0 0
sektorit / kappale 0 0
-
Loogisen / fyysisen sektorin koko: 512 tavua
laitteen koko, M = 1024 * 1024: 0 Mt
laitteen koko, M = 1000 * 1000: 0 Mt
välimuisti / puskurikoko = tuntematon
ominaisuudet:
IORDY ei todennäköisesti
Kaksisanaisen IO: n suorittaminen ei onnistu
R / W monen sektorin siirto: ei tueta
DMA: ei tueta
IOP: pio0
kiitos avustasi, sain nyt tietää, vastustiko USB-muistini kirjoitusta ja varmistin, ettei se ollut kirjoitusta vastaan, joten tämä on jo matalan tason muotoiluratkaisu, minun on lisättävä, että virus sai USB-yhteyden katkaisemaan minuutissa tai kaksi ja ei Se ei antanut toimia, se ei jättänyt aikaa, joten koska tiesin jo jollain nimellä, mikä oli "sdc" terminaalissa, laitoin kaiken pääkäyttäjäksi.
# dd jos = / dev / nolla | pv | dd = / dev / sdc bs = 1M tässä odotat hetken
# dd jos = / dev / nolla | pv | dd = / dev / sdc bs = 446 count = 1 otat ulos ja laitat takaisin antamasi USB-kaapelin
# mkfs.vfat -F 32 -n "anaconda" / dev / sdc ja olet valmis
Parabeenit! Dei voltas, jonka annan tämän aiheen kanssa, on antaa coa-selitys. Kiitos Moi.
Loistava. Kiitos.
Lopuksi jotain, joka todella toimi minulle, kiitos.
Hei, minulla on 16 Gt: n ADATA-luokan 10 microsd-muisti
Tein menettelyn ja se näyttää toimivan, mutta asettamalla se takaisin ja tarkistamalla valtio palautetaan se vain luku -tilaan.
Olen yrittänyt muotoilla sitä, mutta se ei toimi. Mitä näen, ovat tiedostoni.
mikä tahansa muu työkalu tai tapa ongelman ratkaisemiseksi?
helppo ja ytimekäs, täydellinen kaikki selitykset ja esimerkit, se on ollut erittäin hyödyllinen.
Hei, olen Kali Linux -käyttäjä viimeisimmässä versiossaan, olen jo kokeillut miljardia tekniikkaa (anteeksi liioittelusta), mutta yksikään niistä ei anna minulle Linuxissa eikä Windowsissa
minun tapauksessani, debian, siirrettävä muisti on irrotettava….
loistava, kiitos
Olen onnistunut palauttamaan useita mainosotteita heidän ohjeineen
Hei, se toimii, mutta käyttäjän kansio vaihtelee, olisi hyvä selventää se, mutta minulla on virhe, komennossa se osoittaa minulle, että muokkaan sitä, mutta kun haluan laittaa kansion tai mitä tahansa sen ilmoittamaan pendriveen minulle, että se on kirjoitussuojattu. Jos voit auttaa minua ratkaisemaan sen, se olisi hienoa. Terveisiä
hyväksyy komennon ja näyttää sen suojaamattomana, se on r = 0, mutta kun haluan alustaa, se kertoo minulle suojatun. Kiitos
Hei, hyvää päivää. Tällä en ollut kokeillut, mutta Windowsissa olen tehnyt kaiken eikä mitään. Oma pendrive on kirjoitussuojattu, jopa sudo hdparm -r / dev / sdd: llä se antaa arvon 1, mutta sudo hdparm -r0 / dev / sdd: llä se ei voinut poistaa kirjoitussuojaa. Kiitos ja terveisiä Venezuelasta.
Linux-versioni on openSUSE Tumbleweed 15.3
Aiempi tieto selkeästi ja luotettavasti. Levei tuntia testataan useita ratkaisuja, ja tämä, tässä esitetty, on lopullinen gravaçãon lukemiseen ja estämiseen liittyvälle ongelmalle.
Erinomainen panos, kaikki on mennyt kuten mainitsit ... kiitos
Paljon kiitoksia, erittäin hyödyllistä, tätä tapahtuu yleensä paljon usb: ssä, ratkaisu on helppo ja nopea.
Paljon kiitoksia panoksesta.
Minun tapauksessani Ubuntu 23.4 hyväksyy kaikki komennot, mutta ei avaa suojabittiä.
Onko ideoita?
lorenzo@lorenzo-B85M-D3H: ~$ sudo hdparm -r /dev/sdc
Lawrencen [sudo] salasana:
/ dev / sdc:
vain luku = 1 (päällä)
lorenzo@lorenzo-B85M-D3H: ~$ sudo hdparm -r0 /dev/sdc
/ dev / sdc:
vain luku -asetukseksi 0 (pois päältä)
vain luku = 1 (päällä)
lorenzo@lorenzo-B85M-D3H:~$
kiitos