Ако имате SD карта с памет, pendrive или който и да е USB диск за съхранение, който искате пиши защита, в тази статия ви казваме стъпка по стъпка и по лесен начин как да го направите. И има малко защита срещу писане, която някои драйвери позволяват, известна като «бит за защита от запис»В зависимост от това дали е активен на 1 или 0, той ще позволи запис в устройството или не. Този бит не бива да се бърка с WP на регистрите на флаговете на процесорите, които предотвратяват презаписването, като създават процес на разклоняване на UNIX-подобни системи, като по този начин защитават основната памет от запис на данни. Нито към типичния раздел за защита, който намираме на някои SD карти или носители за съхранение. В този случай имаме предвид защита, която е внедрена във вторичния носител за съхранение.
Докато контролерът на носител за съхранение USB или SD карта с памет или каквото и да е друго средство, открие, че този бит е активен, драйверът ще попречи на ядрото да нареди поръчка за запис и следователно ще може да чете само съдържанието. Със сигурност е много практично, когато съхраняваме данни, които не искаме да бъдат модифицирани, предотвратявайки писането или изтриването по грешка. Но ако някой от тези защитени носители е попаднал в ръцете ни и ние не знаем за съществуването на този бит, бихме могли да губим часове, мислейки, че нашето устройство е повредено, или да повдигнем и спуснем раздела, който някои висящи устройства или SD карти трябва да защитят без резултат. (Заключване / Отключване) ...
Монтирайте носител само за четене или само за запис:
Въпреки че не е точно това, което търсим с бита за защита срещу запис, можем също така да открием, че носител е бил автоматично или ръчно монтиран само за четене, така че няма да имаме възможността да пишем в него. Нещо, което в някои случаи може да бъде много досадно и да ни попречи да модифицираме или съхраняваме нещата. Е, решението на това е много просто.
Например, ако във файла / etc / fstab устройството е конфигурирано да се монтира автоматично с опцията ro (само за четене) или ако сме го монтирали с командата:
sudo mount -o ro /dev/sda /mnt
В такъв случай можем да прочетем само / dev / sda устройството, в този случай то е монтирано в точката на монтиране / mnt. За да можем да му напишем отново:
sudo mount -o remount,rw /dev/sda /mnt
В случай, че този метод не работи за вас, тогава това ще бъде, защото битът, за който говорихме, действа и затова ще трябва да използваме инструмента, който представяме по-долу.
Какво е hdparm?
Командата hdparm е инструмент на ниско ниво който действа като интерфейс между различни драйвери на ядрото на Linux и носители за съхранение на SATA / PATA / SAS, използвайки библиотеката libata, както и за стари IDE носители. Не забравяйте, че много USB контролери за носители за съхранение, включително четци на карти като SD карти, също използват този тип контролер за работа, следователно той също е съвместим с тях.
Su основен синтаксис е:
hdparm [опции] [устройство]
И подаръци много опции с които да работите, въпреки че не препоръчвам да ги използвате, ако не знаете какво правите добре, тъй като като инструмент на ниско ниво можете сериозно да повредите устройството си, например ако манипулираме някои критични опции като -B . Но ще ви кажа, че сред възможностите му има доста интересни като:
- Вземете конфигурация на диска:
sudo hdparm /dev/sdd
- Покажете идентификация на диска:
sudo hdparm -i /dev/sdd
- Проверете времето за четене на буфер и кеш:
sudo hdparm -t /dev/sdd sudo hdparm -T /dev/sdd
Винаги не забравяйте да използвате привилегиите, тоест стартирайте ги като root потребител или поставете sudo пред тях, иначе няма да работят ...
Премахнете и задайте бита за защита на паметта с hdparm:
След като инструментът hdparm е известен, можем да използваме опцията -r, с която можем да проверим състоянието на този бит с проста команда. За да направим това, трябва само да знаем физическото име на нашето устройство за съхранение. Например, ако / dev / sdd бяха извикани, в този случай бихме могли да използваме:
sudo hdparm -r /dev/sdd
И стойността на споменатия бит ще бъде показана на екрана. Ако стойността му е 1, това означава, че режимът е активен Само за четене или само за четене, или с други думи, методът за защита срещу запис е активен и няма да можете да запишете нищо в паметта. За да го деактивирате или модифицирате бита, просто трябва да направите следното:
sudo hdparm -r0 /dev/sdd
И сега, ако изпълним първата команда и консумираме състоянието, ще видим, че тя се е върнала на 0, следователно режимът само за четене е изключен или деактивиран. В случай, че искате да го върнете в активно състояние, използвайте опцията -r1 вместо -r0 и готов. Например:
sudo hdparm -r1 /dev/sdd
Това е просто активиране или деактивиране на този бит. Той няма твърде много загадка, но за тези, които не знаят това, може да бъде главоболие, когато става въпрос за премахване на защитата на носителите за съхранение.
Надявам се, че ви е помогнало и сега знаете как да направите защитено от писане пендирайв, не забравяйте оставете вашия коментарс…
Здравейте!
Първо, благодаря за бележките! Винаги са много полезни.
Аз съм потребител на Debian 9.
В конкретния случай имам проблем, който не мога да разреша. Имам „заразена“ писалка със защита срещу запис, която НЕ МОГА да премахна. Вече мисля, че е физически, защото честно опитах всичко (до форматиране на ниско ниво в Windows или спасителни дискове, модифициране на дялове и т.н.) и нищо.
Мислех, че се каня да го разреша, когато следвах стъпките ви, установих, че защитата от писане на писалката е „включена“, но след като я промених на „изключена“, все още не мога да изтрия или модифицирам нищо върху нея.
Кое може да бъде? Има ли друг начин да се реши това? (Нямам нищо против да загубя информацията, която имам вътре)
Благодаря Ви предварително за помощта.
Хернан
Добре! Не знам дали са ви казали решението или в крайна сметка сте го решили, но аз съм в същия случай като вас.
Можете ли да ме посъветвате?
Благодаря Ви много.
добро обяснение
Здравейте имам USB, който системата не разпознава, изпращам ви информацията, ако можете да ми помогнете благодаря
dmesg
[83384.348839] usb 1-1: ново високоскоростно USB устройство номер 8, използващо ehci-pci
[83384.506219] usb 1-1: Намерено е ново USB устройство, idVendor = 0c76, idProduct = 0005, bcdDevice = 1.00
[83384.506225] usb 1-1: Нови низове на USB устройства: Mfr = 1, Product = 2, SerialNumber = 0
[83384.506228] usb 1-1: Продукт: USB Mass Storage
[83384.506231] usb 1-1: Производител: GENERIC
[83384.506848] usb-съхранение 1-1: 1.0: USB устройство за масово съхранение е открито
[83384.508235] scsi host5: usb-съхранение 1-1: 1.0
[83385.524951] scsi 5: 0: 0: 0: GENERIC USB Mass Storage с директен достъп 1.00 PQ: 0 ANSI: 2
[83385.556757] sd 5: 0: 0: 0: Прикачен scsi генеричен sg3 тип 0
[83385.561706] sd 5: 0: 0: 0: [sdc] Прикачен SCSI сменяем диск
root @ localhost: ~ # fdisk -l
Диск / dev / sda: 698.7 GiB, 750156374016 байтове, 1465149168 сектори
Единици: сектори на 1 * 512 = 512 байтове
Размер на сектора (логически / физически): 512 байта / 4096 байта
Размер на I / O (минимален / оптимален): 4096 байтове / 4096 байтове
Тип Disklabel: gpt
Disk identifier: 995F9474-C5F1-4EE9-8FD7-13EA790423DC
Устройство Начало Край Сектори Размер Размер
/ dev / sda1 2048 1050623 1048576 512M EFI система
/ dev / sda2 1050624 49879039 48828416 23.3G файлова система Linux
/ dev / sda3 49879040 69410815 19531776 9.3G файлова система Linux
/ dev / sda4 69410816 76107775 6696960 3.2G Linux суап
/ dev / sda5 76107776 80013311 3905536 1.9G файлова система Linux
/ dev / sda6 80013312 1465147391 1385134080 660.5G файлова система Linux
root @ localhost: ~ # fdisk -l / dev / sdc
fdisk: не може да се отвори / dev / sdc: Не е намерен носител
root @ localhost: ~ # hdparm / dev / sdc
/ dev / sdc:
SG_IO: данни за лоши / липсващи усещания, sb []: f0 00 02 00 00 00 00 0 00 00 00 00 3 00a 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
multcount = 0 (изключено)
само за четене = 0 (изключено)
readahead = 256 (включено)
root @ localhost: ~ # hdparm -C / dev / sdc
/ dev / sdc:
състоянието на устройството е: готовност
root @ localhost: ~ # hdparm -I / dev / sdc
/ dev / sdc:
SG_IO: данни за лоши / липсващи усещания, sb []: f0 00 02 00 00 00 00 0 00 00 00 00 3 00a 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
Устройство ATA, с несменяем носител
Стандарти:
Вероятно използвано: 1
Конфигурация:
Логичен максимален ток
цилиндри 0 0
глави 0 0
сектори / писта 0 0
-
Размер на логически / физически сектор: 512 байта
размер на устройството с M = 1024 * 1024: 0 MBytes
размер на устройството с M = 1000 * 1000: 0 MBytes
кеш / размер на буфера = неизвестен
Възможности:
IORDY не е вероятно
Не може да се извърши IO с две думи
R / W многосекторен трансфер: не се поддържа
DMA: не се поддържа
ВОН: pio0
благодаря за вашата помощ, сега успях да разбера дали моят usb е против писането и проверих, че не е против писането, така че това вече е решение за форматиране на ниско ниво, трябва да добавя, че вирусът накара usb да се разкачи за минута или две Позволи да действа, не остави време, тъй като вече знаех с какво име го присвоих, което беше "sdc" в терминала, сложих всичко като root потребител.
# dd ако = / dev / нула | pv | dd от = / dev / sdc bs = 1M тук изчаквате известно време
# dd ако = / dev / нула | pv | dd на = / dev / sdc bs = 446 count = 1 изваждате и поставяте отново usb, който давате
# mkfs.vfat -F 32 -n "anaconda" / dev / sdc и готово
Парабени! Няколко волта, които давам по този въпрос, е да дам обяснение. Благодарен Мой.
Страхотен. Благодаря ти.
И накрая нещо, което наистина работи за мен, благодаря.
Здравейте, имам 16 GB ADATA категория 10 microsd памет
Направих процедурата и тя изглежда работи, но повторното я поставяне и повторна проверка на състоянието я връща обратно само за четене.
Опитах се да го форматирам, но не работи. Това, което мога да видя, са моите файлове.
всеки друг инструмент или начин за решаване на проблема?
лесно и кратко, перфектно всички обяснения и примери, беше много полезно.
Здравейте, аз съм потребител на Kali Linux в последната му версия, вече опитах милиард техники (съжалявам, че съм преувеличен), но никой от тях не ми дава нито в Linux, нито в Windows
в моя случай, debian, сменяемата памет трябва да бъде демонтирана….
превъзходно, благодаря
Успях да възстановя няколко рекламни извлечения с техните инструкции
Здравейте, работи, но папката на потребителя варира, би било добре да я изясня, но имам грешка, в командата ми показва, че я модифицирам, но когато искам да поставя папка или каквото и да е на pendrive, тя казва ми, че е защитен от запис. Ако можете да ми помогнете да го реша, това би било чудесно. Поздравления
приема командата и я показва като незащитена е r = 0, но когато искам да форматирам ми казва защитена. Благодаря ти
Здравей, добър ден. С това не бях опитвал, но в Windows съм направил всичко и нищо. Моят pendrive е защитен от запис, дори със sudo hdparm -r / dev / sdd дава стойност 1, но със sudo hdparm -r0 / dev / sdd също не може да премахне защитата от запис. Благодаря и поздрави от Венецуела.
Моята версия на Linux е openSUSE Tumbleweed 15.3
Миналата информация с яснота и надеждност. Прекарах часове в тестване на няколко решения и това, представено тук, е окончателното за проблема, подлежащ на четене и блокиране на gravação.
Отличен принос, всичко се оказа както споменахте ... благодаря
Благодаря ви много, много полезно, това обикновено се случва много в usb, решението е лесно и бързо.
Благодаря ви много за приноса.
В моя случай Ubuntu 23.4 приема всички команди, но не отключва защитния бит.
Някаква идея?
lorenzo@lorenzo-B85M-D3H:~$ sudo hdparm -r /dev/sdc
[sudo] парола за Lawrence:
/ dev / sdc:
само за четене = 1 (включено)
lorenzo@lorenzo-B85M-D3H:~$ sudo hdparm -r0 /dev/sdc
/ dev / sdc:
настройка само за четене на 0 (изключено)
само за четене = 1 (включено)
lorenzo@lorenzo-B85M-D3H:~$
благодаря