USB отключить защиту от записи
У меня есть USB, который защищен от записи:
dmesg | tail
[10098.126089] sd 7:0:0:0: [sdb] Write Protect is on
[10098.126098] sd 7:0:0:0: [sdb] Mode Sense: 23 00 80 00
[10098.126779] sd 7:0:0:0: [sdb] No Caching mode page present
[10098.126788] sd 7:0:0:0: [sdb] Assuming drive cache: write through
[10098.131418] sd 7:0:0:0: [sdb] No Caching mode page present
[10098.131425] sd 7:0:0:0: [sdb] Assuming drive cache: write through
[10098.133335] sdb: sdb1
[10098.135509] sd 7:0:0:0: [sdb] No Caching mode page present
[10098.135515] sd 7:0:0:0: [sdb] Assuming drive cache: write through
[10098.135521] sd 7:0:0:0: [sdb] Attached SCSI removable disk
Как отключить защиту от записи?
Что я пробовал
- Проверял, есть ли у него аппаратный переключатель - нет
- Пытался отформатировать его на windows и на Linux (через терминал тоже)
- Пытался
fdisk
|chmod
- Попытался исправить это с помощью нескольких инструментов из программного центра Ubuntu
- Использовал Google и видел около 10000 обсуждений по этой проблеме, но они так и не были решены
Дополнительная информация
fsck -n /dev/sdb1
fsck from util-linux 2.19.1
dosfsck 3.0.9, 31 Jan 2010, FAT32, LFN
There are differences between boot sector and its backup.
Differences: (offset:original/backup)
65:01/00
Not automatically fixing this.
Free cluster summary wrong (968250 vs. really 911911)
Auto-correcting.
Leaving file system unchanged.
/dev/sdb1: 50 files, 93653/1005564 clusters
fdisk -l
Device boot. Start End Blocks Id System
/dev/sdb1 32 8060927 4030448 b W95 FAT32
umount /dev/sdb1
mkfs -t vfat /dev/sdb1
mkfs.vfat 3.0.9 (31 Jan 2010)
mkfs.vfat: unable to open /dev/sdb1
8 ответов
Чтобы отключить защиту от записи дискового устройства, мы используем низкоуровневую системную утилиту hdparm, например:
sudo hdparm -r0 /dev/sdb
где мы предполагаем, что /dev/sdb
устройство физического диска, над которым мы работаем Если устройство имеет разделы, которые монтируются только для чтения, вы должны перемонтировать их для чтения-записи, чтобы записать в них данные.
Надеюсь, это поможет.
После изучения вашего вопроса выясняется, что это не слишком редкая проблема с некоторыми марками USB-накопителей (некоторые более старые модели Samsung, модели Kingston), которые по сути просто "дурачатся" по неизвестной причине. Люди пытались открыть их и перепрыгнуть через два провода (может быть, из-за ненадежного переключателя?) Безрезультатно. Если у вас все еще есть этот диск, и он все еще в гарантии, я верну его и получу замену.
Я не хочу сообщать вам плохие новости =\, но в этой ситуации вам не повезло, поскольку все, что я прочитал, указывает на сбой оборудования.
Редактировать 27.05.2016: У меня недавно возникла проблема с флешкой В моем случае это был Corsair Flash Voyager 128 ГБ, который начал сильно замедляться. Хотя здесь не было признаков, отмеченных здесь, время от времени он не устанавливался и показывался как устройство "Silicon Power". Это было результатом накопления накопителем большого количества поврежденных секторов и перехода в режим диагностики / программирования. Поскольку это один из моих самых популярных ответов, и он также относится к категории "неисправных флешек", я решил включить его сюда для справки.
Ни один из приведенных ответов не является правильным.
Чтобы реально заставить его работать, вы можете переопределить обнаружение USB-диска, объявив его доступным только для чтения, с помощью параметра USB-причуд. Вот как это работает.
1) Подключите USB-устройство и выполните lsusb
, пример:
$ lsusb
Bus 002 Device 012: ID 0781:5583 SanDisk Corp.
2) Обратите внимание на эти два кода между двоеточием (называемый idVendor
а также idProduct
). Отключите USB-устройство.
3) Удалить usb_storage
модуль ядра (при условии, что он скомпилирован как модуль)
$ sudo modprobe -r $(lsmod | sed -n 's:,: :g ; s,^usb_storage[ 0-9]*,,p') usb_storage
4) Теперь мы вернем модуль в режим настройки "причуд", чтобы отменить обнаружение флага "только для записи" устройства.
Из исходных текстов / drivers / usb / storage / usb.C# L572, взятых из v4.19, вы можете увидеть, что настройка режима quirks, которую мы ищем, w
, Вот как мы перезагрузим модуль ядра:
$ sudo modprobe usb_storage quirks=0781:5583:w
Замените числа между двоеточиями теми, которые вы видели в шаге (1) сверху.
5) снова подключите USB-накопитель. Теперь мы можем подтвердить с помощью dmesg, что это сработало:
До:
Также после ввода команды монтирования вы увидите:
/dev/sdb1 on /usb type ext4 (rw,relatime)
А теперь иди и убери свои вещи с диска немедленно, он не работает.
С помощью fdisk -l
найдите диск, то есть: /dev/sdc1
сейчас
umount /dev/sdc1
Наконец переформатируем флешку
sudo mkfs -t vfat /dev/sdc1
Я нашел это быстро и легко. Обязательно размонтируйте диск перед попыткой форматирования.
Ответ Ангела хорош, но фактические команды были не так просты для меня. Вот что сработало: подключите карту (у меня SD-карта с ручным переключателем защиты от записи, но переключатель выключен, и он доступен для записи на компьютере с Windows). Ubuntu автоматически смонтировал его на /media/andrew/6AB0-1FD91, и dmesg показал, что раздел был /dev/sdb1.
Размонтируйте его и сделайте доступным для записи
sudo umount /dev/sdb1
sudo hdparm -r0 /dev/sdb
Создайте новую точку монтирования и смонтируйте ее там (мой userID из /etc/passwd равен 1000)
sudo mkdir /media/andrew/temp
sudo mount -o uid=1000 /dev/sdb1 /media/andrew/temp
он по-прежнему будет жаловаться, что доступен только для чтения. Я не знаю, почему мне пришлось менять этот флаг до и после монтажа, но это единственный способ, который сработал для меня. Установите его для записи снова и перемонтируйте в том же месте
sudo hdparm -r0 /dev/sdb1
sudo mount -o remount,rw /dev/sdb1
Теперь я могу записать на диск как мой обычный пользователь. Я очень осторожен с ним на случай, если он действительно потерпит неудачу, но эти команды позволили мне закончить то, что я делал.
Это происходит, когда файл ISO был записан на usb с помощью команды DD или любого из «стандартных» инструментов.
Если он создан таким образом, нет никакого способа сделать его доступным для записи.
Это можно сделать, записав ISO-образ с помощью какого-нибудь инструмента, такого как unetbootin (linux) или Roofus (Windows).
Ну, это немного облом.
Я попробовал все здесь и в других местах, и ничего не получалось.
Отформатировал его на ноутбуке Windows друга - теперь работает нормально. FFS!
Вздох....(интересно сейчас, смогу ли я вместо этого исправить это в моей Win 7 VM на моем рабочем столе Mint?).
Вставьте карту памяти и начните gparted. Выберите его с помощью кнопки в правом верхнем углу. Это должно быть очевидно, если вы проверяете свою карту памяти (размер - хорошая подсказка). Выберите Раздел -> Размонтировать.
Выберите "Устройство" вверху, затем "Создать таблицу разделов" и выберите значение по умолчанию, которое является msdos.
Теперь вы сможете создать новый раздел и отформатировать его в F32. Если вы не можете, это, вероятно, перебор.
НТН