Nëse keni një kartë memorie SD, pendrive ose ndonjë disk ruajtje USB që dëshironi shkruaj mbrojtur, në këtë artikull ne ju tregojmë hap pas hapi dhe në një mënyrë të lehtë se si ta bëni atë. Dhe ka pak mbrojtje kundër shkrimit që lejojnë disa shoferë, të njohur si «shkruaj pak mbrojtje»Në varësi të faktit nëse është aktiv në 1 ose 0, kjo do të lejojë shkrimin në njësi ose jo. Ky bit nuk duhet të ngatërrohet me WP të regjistrave të flamurit të CPU-ve, të cilat parandalojnë mbishkrimin duke krijuar një proces pirrimi në sistemet e ngjashme me UNIX, duke mbrojtur kështu memorien kryesore nga shkrimi i të dhënave. As në skedën tipike të mbrojtjes që gjejmë në disa karta SD ose media ruajtëse. Në këtë rast po i referohemi një mbrojtjeje që zbatohet në mediat sekondare të magazinimit.
Ndërsa kontrolluesi i medium depozitues Karta e kujtesës USB ose SD, ose çfarëdo që të thotë, zbulojnë se kjo bit është aktive, shoferi do të parandalojë që kerneli të porosis një urdhër shkrimi dhe për këtë arsye ai do të jetë në gjendje të lexojë vetëm përmbajtjen. Sigurisht që është shumë praktike kur ruajmë të dhëna që nuk duam të modifikohen, duke shmangur shkrimin ose fshirjen gabimisht. Por nëse një prej këtyre mediave të mbrojtura ka rënë në duart tona dhe ne nuk dimë për ekzistencën e këtij biti, ne mund të humbasim orë të tëra duke menduar se njësia jonë është dëmtuar, ose ngritjen dhe uljen e skedës që disa pendë ose karta SD duhet të mbrojnë ato pa ndonjë rezultat. (Kyç / Zhblloko) ...
Montoni media vetëm për lexim ose vetëm për të shkruar:
Edhe pse nuk është saktësisht ajo që ne po kërkojmë me Bit Protection Protection, ne gjithashtu mund të zbulojmë se një medium ka qenë montohet automatikisht ose manualisht vetëm për lexim, kështu që ne nuk do të kemi aftësinë për të shkruar në të. Diçka që në disa raste mund të jetë shumë e bezdisshme dhe të na ndalojë të modifikojmë ose ruajmë gjërat. Epo, zgjidhja për këtë është shumë e thjeshtë.
Për shembull, nëse në skedarin / etc / fstab pajisja është konfiguruar të montohet automatikisht me opsionin ro (vetëm për lexim) ose nëse e kemi montuar me komandën:
sudo mount -o ro /dev/sda /mnt
Në një rast të tillë mund të lexojmë vetëm pajisjen / dev / sda në këtë rast ajo është montuar në pikën e montimit / mnt. Kështu që ne mund t'i shkruajmë përsëri:
sudo mount -o remount,rw /dev/sda /mnt
Në rast se kjo metodë nuk funksionon për ju, atëherë do të jetë sepse biti për të cilin kemi folur është duke vepruar, dhe kjo është arsyeja pse do të duhet të përdorim mjetin që paraqesim më poshtë.
Çfarë është hdparm?
Komanda hdparm është një mjet i nivelit të ulët i cili vepron si një ndërfaqe midis drejtuesve të ndryshëm të kernelit Linux dhe mediave ruajtëse SATA / PATA / SAS duke përdorur bibliotekën libata, si dhe për mediat e vjetra IDE. Mos harroni se shumë kontrollues të mediave të ruajtjes USB, duke përfshirë lexuesit e kartave të tilla si SD, gjithashtu përdorin këtë lloj kontrollorësh për të funksionuar, prandaj është gjithashtu i pajtueshëm me ta.
Su sintaksa themelore është:
hdparm [opsionet] [pajisja]
Dhe dhurata Shumë opsione me të cilën të punojmë, megjithëse nuk ju rekomandoj t'i përdorni nëse nuk dini se çfarë bëni mirë, pasi që duke qenë një mjet i nivelit të ulët mund të dëmtoni seriozisht pajisjen tuaj, për shembull nëse manipulojmë disa opsione kritike si -B . Por unë do t'ju them se midis opsioneve të tij ka disa mjaft interesante si:
- Merrni konfiguracion të diskut:
sudo hdparm /dev/sdd
- Trego identifikim të diskut:
sudo hdparm -i /dev/sdd
- Kontrolloni kohët e leximit të buffer dhe cache:
sudo hdparm -t /dev/sdd sudo hdparm -T /dev/sdd
Gjithmonë mbani mend ta përdorni privilegjet, domethënë, ekzekutoni ato si përdorues rrënjë ose vendosni sudo para tyre ose ato nuk do të funksionojnë ...
Hiqni dhe vendosni bitin e mbrojtjes së kujtesës me hdparm:
Pasi të njihet mjeti hdparm, mund të përdorim opsionin -r me të cilin mund të kontrollojmë statusin e këtij biti me një komandë të thjeshtë. Për ta bërë këtë, duhet të dimë vetëm emrin fizik të pajisjes sonë të ruajtjes. Për shembull, nëse u thirrën / dev / sdd, në atë rast mund të përdorim:
sudo hdparm -r /dev/sdd
Dhe vlera e bitit në fjalë do të tregohet në ekran. Nëse vlera e tij është 1 kjo do të thotë që modaliteti është aktiv Lexo vetem ose vetëm për të lexuar, ose me fjalë të tjera, metoda e mbrojtjes së shkrimit është aktive dhe nuk do të jeni në gjendje të shkruani asgjë në kujtesë. Për ta çaktivizuar atë ose modifikuar bitin, duhet të bëni sa më poshtë:
sudo hdparm -r0 /dev/sdd
Dhe tani nëse ekzekutojmë komandën e parë dhe konsumojmë gjendjen do të shohim që ajo është kthyer në 0, prandaj modaliteti vetëm për lexim është i fikur ose i çaktivizuar. Në rast se doni ta ktheni atë në gjendje aktive, përdorni opsionin -r1 në vend të -r0 dhe gati. Për shembull:
sudo hdparm -r1 /dev/sdd
Kjo është e thjeshtë aktivizoni ose çaktivizoni këtë bit. Nuk ka shumë mister, por për ata që nuk e dinë këtë mund të jetë një dhimbje koke kur bëhet fjalë për të mos mbrojtur mediat e tyre të ruajtjes.
Shpresoj se të ka ndihmuar dhe tani di të bësh një pendrive të mbrojtur nga shkrimi, mos harro lini komentin tuajs ...
Hello!
Së pari, faleminderit për shënimet! Ata janë gjithmonë shumë të dobishëm.
Unë jam një përdorues i Debian 9.
Në këtë rast të veçantë, unë kam një problem që nuk mund ta zgjidh. Unë kam një stilolaps të “infektuar” me një mbrojtje shkrimi që NUK MUND ta heq. Unë tashmë jam duke menduar se është fizike, sepse kam provuar sinqerisht gjithçka (deri në formatimin e nivelit të ulët në Windows ose disqet e shpëtimit, modifikimin e ndarjeve, etj.) Dhe asgjë.
Mendova se do ta zgjidhja, kur ndoqa hapat e tu, zbulova se mbrojtja e shkrimit të makinës me stilolaps ishte "e ndezur", por sapo e ndryshova në "joaktive", unë ende nuk mund të fshij ose modifikoj asgjë në të.
Cila mund të jetë? A ka ndonjë mënyrë tjetër për ta zgjidhur këtë? (Nuk e kam problem të humbas informacionin që kam brenda)
Faleminderit paraprakisht për ndihmën tuaj.
Hernan
Mirë! Nuk e di nëse ju kanë thënë zgjidhjen apo në fund ju e keni zgjidhur, por unë jam në të njëjtën çështje me ju.
Mund te me keshilloni
Shumë falemnderit.
shpjegim i mire
Përshëndetje Unë kam një USB që sistemi nuk e njeh, unë ju dërgoj informacionin nëse mund të më ndihmoni faleminderit
dmesg
[83384.348839] usb 1-1: pajisje e re USB me shpejtësi të lartë numër 8 duke përdorur ehci-pci
[83384.506219] usb 1-1: U gjet pajisje e re USB, idVendor = 0c76, idProduct = 0005, bcdDevice = 1.00
[83384.506225] usb 1-1: Vargjet e reja të pajisjes USB: Mfr = 1, Produkti = 2, Numri i Serisë = 0
[83384.506228] usb 1-1: Produkti: Ruajtja në masë e USB
[83384.506231] usb 1-1: Prodhuesi: GENERIC
[83384.506848] ruajtje usb 1-1: 1.0: U zbulua pajisja për ruajtjen e masës USB
[83384.508235] host scsi5: usb-magazinim 1-1: 1.0
[83385.524951] scsi 5: 0: 0: 0: Hapësirë ruajtëse USB GENERIC me hyrje të drejtpërdrejtë 1.00 PQ: 0 ANSI: 2
[83385.556757] sd 5: 0: 0: 0: Bashkëngjitur scsi generic sg3 tip 0
[83385.561706] sd 5: 0: 0: 0: [sdc] Disk i lëvizshëm i bashkangjitur SCSI
root @ localhost: # fdisk -l
Disk / dev / sda: 698.7 GiB, 750156374016 bajt, 1465149168 sektorë
Njësitë: sektorët e 1 * 512 = 512 bytes
Madhësia e sektorit (logjik / fizik): 512 bytes / 4096 bytes
Madhësia I / O (minimale / optimale): bytes 4096 / bytes 4096
Lloji disklabel: gpt
Disk identifier: 995F9474-C5F1-4EE9-8FD7-13EA790423DC
Pajisja Fillimi Sektorët Mbarimi Lloji i madhësisë
/ dev / sda1 2048 1050623 1048576 512M Sistemi EFI
/ dev / sda2 1050624 49879039 48828416 23.3G sistemi i skedarëve Linux
/ dev / sda3 49879040 69410815 19531776 9.3G sistemi i skedarëve Linux
/ dev / sda4 69410816 76107775 6696960 3.2G Shkëmbim Linux
/ dev / sda5 76107776 80013311 3905536 1.9G sistemi i skedarëve Linux
/ dev / sda6 80013312 1465147391 1385134080 660.5G sistemi i skedarëve Linux
root @ localhost: # fdisk -l / dev / sdc
fdisk: nuk mund të hapet / dev / sdc: Nuk u gjet asnjë medium
root @ localhost: h # hdparm / dev / sdc
/ dev / sdc:
SG_IO: të dhëna për shqisën e keqe / që mungojnë, 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
shumë llogari = 0 (jo)
vetëm për lexim = 0 (joaktiv)
readahead = 256 (në)
root @ localhost: # hdparm -C / dev / sdc
/ dev / sdc:
gjendja e ngasjes është: gatishmëri
root @ localhost: # hdparm -I / dev / sdc
/ dev / sdc:
SG_IO: të dhëna për shqisën e keqe / që mungojnë, 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
Pajisja ATA, me media jo të lëvizshme
Standardet:
Me gjasë përdoret: 1
Konfigurimi:
Rryma maksimale logjike
cilindra 0 0
kokat 0 0
sektorë / pista 0 0
-
Madhësia e Sektorit Logjik / Fizik: 512 bajt
madhësia e pajisjes me M = 1024 * 1024: 0 MBytes
madhësia e pajisjes me M = 1000 * 1000: 0 MBytes
madhësia e cache / buffer = e panjohur
aftësitë:
IORDY nuk ka gjasa
Nuk mund të kryej IO me dy fjalë
Transferimi i sektorit të shumëfishtë R / W: nuk mbështetet
DMA: nuk mbështetet
IOP: pio0
faleminderit për ndihmën tuaj, tani unë isha në gjendje të dija nëse usb-ja ime ishte kundër shkrimit dhe unë verifikova që nuk ishte kundër shkrimit, kështu që kjo tashmë është një zgjidhje e nivelit të ulët për formatim, duhet të shtoj që virusi bëri që usb të shkëputet në një minutë ose dy dhe jo Ajo lejoi të veprojë, nuk la kohë, kështu që pasi unë tashmë e dija me cilin emër ia caktova, i cili ishte "sdc" në terminal unë vendosa gjithçka si përdorues rrënjë.
# dd nëse = / dev / zero | pv | dd e = / dev / sdc bs = 1 milion këtu ju prisni pak
# dd nëse = / dev / zero | pv | dd e = / dev / sdc bs = 446 numërim = 1 ju merrni jashtë dhe vendosni përsëri usb ju jepni
# mkfs.vfat -F 32 -n "anaconda" / dev / sdc dhe mbarove
Parabene! Një dei volt që unë jap me këtë temë është të jap një shpjegim të COA. Mirënjohës Moi.
Madhe Faleminderit.
Më në fund diçka që vërtet funksionoi për mua, faleminderit.
Përshëndetje kam një memorie 16 GB ADATA të kategorisë 10 mikrosd
Unë bëra procedurën dhe duket se po funksionon, por duke e rivendosur atë dhe rikontrolluar gjendjen e kthen atë vetëm në lexim.
Jam përpjekur ta formatoj por nuk funksionon. Ajo që unë mund të shoh janë skedarët e mi.
ndonjë mjet apo mënyrë tjetër për të zgjidhur problemin?.
e lehtë dhe koncize, e përsosur të gjithë shpjegimin dhe shembujt, ka qenë shumë e dobishme.
Përshëndetje, unë jam një përdorues i Kali Linux në versionin e tij të fundit, unë kam provuar tashmë një miliard teknika (më vjen keq që jam ekzagjeruar) por asnjë prej tyre nuk më jep as në Linux dhe as në Windows
në rastin tim, debian, kujtesa e lëvizshme duhet të hiqet.
madhështore, faleminderit
Unë kam arritur të rimarr disa ekstrakte promovuese me udhëzimet e tyre
Përshëndetje, funksionon por dosja e përdoruesit ndryshon, do të ishte mirë ta sqaroni, por kam një gabim, në komandë më tregon se e modifikoj, por kur dua të vendos një dosje ose çfarëdo tjetër në pendrive tregon mua se është e mbrojtur nga shkrimi. Nëse mund të më ndihmoni ta zgjidh, do të ishte mirë. Pershendetje
pranon komanden dhe e tregon si te pambrojtur eshte r = 0, por kur dua ta formatoj me tregon te mbrojtur. Faleminderit
Pershendetje dite e mire Me këtë nuk kisha provuar por në Windows kam bërë gjithçka dhe asgjë. Pendrive ime është me shkrim të mbrojtur, madje edhe me sudo hdparm -r / dev / sdd jep vlerën 1, por me sudo hdparm -r0 / dev / sdd as nuk mund të hiqte mbrojtjen e shkrimit. Faleminderit dhe përshëndetje nga Venezuela.
Versioni im Linux është openSUSE Tumbleweed 15.3
Informacioni i kaluar me qartësi dhe besueshmëri. Orët e Levei duke testuar një numër gjysmë zgjidhjesh dhe kjo, e paraqitur këtu, është ajo përfundimtare për problemin që i nënshtrohet leximit dhe bllokimit të gravaçãos.
Kontribut i shkëlqyeshëm, gjithçka ka dalë siç e përmendët ... faleminderit
Faleminderit shumë, shumë e dobishme, kjo zakonisht ndodh shumë në usb, zgjidhja është e lehtë dhe e shpejtë.
Faleminderit shumë për kontributin.
Në rastin tim, Ubuntu 23.4 pranon të gjitha komandat, por nuk e zhbllokon bitin e mbrojtjes.
Ndonjë ide?
lorenzo@lorenzo-B85M-D3H:~$ sudo hdparm -r /dev/sdc
Fjalëkalimi [sudo] për Lawrence:
/ dev / sdc:
vetëm për lexim = 1 (aktiv)
lorenzo@lorenzo-B85M-D3H:~$ sudo hdparm -r0 /dev/sdc
/ dev / sdc:
vendosja vetëm për lexim në 0 (off)
vetëm për lexim = 1 (aktiv)
lorenzo@lorenzo-B85M-D3H:~$
Falënderim