Якщо у вас є карта пам'яті SD, накопичувач або будь-який потрібний диск для зберігання 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
Завжди пам’ятайте про використання привілеї, тобто запустіть їх як кореневого користувача або поставте перед ними 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
Це просто увімкнути або вимкнути цей біт - -. У ньому не надто багато таємниць, але для тих, хто цього не знає, це може бути головний біль, коли справа стосується зняття захисту своїх носіїв інформації.
Сподіваюся, це допомогло вам, і тепер ви знаєте, як зробити захищений від запису пендрів, не забувайте залиште свій коментарs ...
Здрастуйте!
Перш за все, дякую за нотатки! Вони завжди дуже корисні.
Я користувач 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-накопичувач
[83384.506231] usb 1-1: Виробник: GENERIC
[83384.506848] usb-сховище 1-1: 1.0: виявлено USB-накопичувач
[83384.508235] scsi host5: usb-storage 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: Прикріплений загальний ssi тип 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
Розмір вводу-виводу (мінімальний / оптимальний): байти 4096 / 4096
Тип диска: 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 (вимкнено)
читання = 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 МБ
розмір пристрою з M = 1000 * 1000: 0 МБ
кеш / розмір буфера = невідомо
Можливості:
IORDY малоймовірно
Не вдається виконати подвійне введення слова
Передача кількох секторів у форматі R / W: не підтримується
DMA: не підтримується
ВГД: pio0
дякую за вашу допомогу, тепер я зміг дізнатися, чи мій usb був проти написання, і я переконався, що це не проти писання, тому це вже рішення низького рівня для форматування, я повинен додати, що вірус змусив USB відключитися за хвилину або два і не Це дозволило діяти, це не залишило часу, тому, оскільки я вже знав, з яким ім'ям я його присвоїв, що було "sdc" в терміналі, я помістив все як кореневий користувач.
# 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 ГБ пам'яті ADATA категорії 10 мкс
Я зробив процедуру, і вона, здається, працює, але повторна вставка та перевірка стану повертає її лише для читання.
Я намагався відформатувати його, але це не працює. Я бачу свої файли.
будь-який інший інструмент або спосіб вирішення проблеми?
легко та стисло, довершив усі пояснення та приклади, це було дуже корисно.
Привіт, я користувач Kali Linux у його останній версії, я вже випробував мільярд методів (вибачте за перебільшення), але жоден з них не дає мені ні в Linux, ні в Windows
у моєму випадку, debian, знімна пам'ять повинна бути відключена….
щиро дякую
Мені вдалося відновити кілька рекламних витягів з їх інструкціями
Привіт, це працює, але папка користувача змінюється, було б непогано це пояснити, але у мене помилка, в команді вона показує мені, що я її модифікую, але коли я хочу помістити папку або що-небудь на маятник, це повідомляє мені що це захищено від запису. Якщо ви можете допомогти мені вирішити це, це було б чудово. Привітання
приймає команду і показує її незахищеною, це r = 0, але коли я хочу відформатувати, вона повідомляє мені захищений. Дякую
Привіт добрий день. З цим я не пробував, але в Windows я зробив все і нічого. Мій pendrive захищений від запису, навіть з sudo hdparm -r / dev / sdd він дає значення 1, але з sudo hdparm -r0 / dev / sdd він також не може зняти захист від запису. Подяки та вітання від Венесуели.
Моя версія Linux - openSUSE Tumbleweed 15.3
Минула інформація з ясністю та достовірністю. Години Levei випробовують певну кількість рішень, і це, представлене тут, є остаточним для проблеми, що підлягає зчитуванню та блокуванню 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:~$
Грекіас