Как удалить iso 9660 с USB?

22

Мне каким-то образом удалось записать образ ISO 9660 на мой USB-накопитель, что заставляет весь мой компьютер думать, что устройство на самом деле является CD. Я пробовал различные способы удаления этого раздела, но, похоже, ничего не работает. Я пытался fdisk, который говорит

$ fdisk -l / dev / sdb
Не удается открыть / dev / sdb
parted падает, когда я пытаюсь использовать его на этом устройстве.

Я даже пытался

$ dd if = / dev / zero of = / dev / sdb
но он просто висит без вывода (ни на экране, ни на диске). Однако, когда я подключаю USB, он монтируется, и я могу просматривать (но не редактировать) файлы на нем.

редактировать : теперь результат

$ dd if = / dev / zero of = / dev / sdb
dd: открытие `/ dev / sdb ': файловая система только для чтения

Я также попытался переформатировать его в Windows, но он доходит до конца процесса форматирования и затем говорит: «Не удалось отформатировать диск».

Как я могу удалить этот раздел и вернуть весь USB-накопитель в нормальное состояние?

РЕДАКТИРОВАТЬ 1 : Попытка простого mkfsне работает:

$ sudo mkfs -t vfat / dev / sdb
mkfs.vfat 3.0.0 (28 сентября 2008 г.)
mkfs.vfat: не будет пытаться создать файловую систему на устройстве с полным диском '/ dev / sdb' (используйте -I, если хотите)
Я не могу сделать mkfsна /dev/sdb1потому , что нет такого раздела, как показано на рисунке:
$ ls / dev | grep sdb
SDB

РЕДАКТИРОВАТЬ 2 : Это информация, опубликованная dmesg, когда я подключаю устройство:

$ dmesg
,
, (Надрез)
,
USB 2-1: найдено новое USB-устройство, idVendor = 058f, idProduct = 6387
usb 2-1: Новые строки USB-устройств: Mfr = 1, Product = 2, SerialNumber = 3
USB 2-1: Продукт: Mass Storage
USB 2-1: Производитель: Generic
USB 2-1: серийный номер: G0905000000000010885
USB-накопитель: устройство найдено на 4
usb-storage: ожидание устройства для установки перед сканированием
USB-накопитель: сканирование устройства завершено
scsi 6: 0: 0: 0: флэш-накопитель прямого доступа AU_USB20 8.07 PQ: 0 ANSI: 2
SD 6: 0: 0: 0: [SDB] 4069376 512-байтовых аппаратных секторов (2084 МБ)
SD 6: 0: 0: 0: [SDB] Защита от записи отключена
SD 6: 0: 0: 0: [SDB] Режим Sense: 03 00 00 00
SD 6: 0: 0: 0: [SDB] Предполагается, кэш диска: запись через
SD 6: 0: 0: 0: [SDB] 4069376 512-байтовых аппаратных секторов (2084 МБ)
SD 6: 0: 0: 0: [SDB] Защита от записи отключена
SD 6: 0: 0: 0: [SDB] Режим Sense: 03 00 00 00
SD 6: 0: 0: 0: [SDB] Предполагается, кэш диска: запись через
 SDB: неизвестная таблица разделов
SD 6: 0: 0: 0: [SDB] Подключенный съемный диск SCSI
SD 6: 0: 0: 0: Прикрепленный scsi универсальный тип sg2 0
Расширения ISO 9660: Microsoft Joliet, уровень 3
Расширения ISO 9660: RRIP_1991A
SELinux: инициализирован (dev sdb, тип iso9660), использует genfs_contexts
CE: hpet увеличение min_delta_ns до 15000 нс
Это показывает , что устройство отформатированные , как ISO 9660 , и что он находится /dev/sdb .

РЕДАКТИРОВАТЬ 3 : Это сообщение, которое я нахожу в нижней части dmesgпосле запуска cfdiskи записи новой таблицы разделов на диск:

SELinux: инициализирован (dev sdb, тип iso9660), использует genfs_contexts
sd 17: 0: 0: 0: [sdb] Устройство не готово: Sense Key: Not Ready [текущий] 
SD 17: 0: 0: 0: [SDB] Устройство не готово: <> ASC = 0xff ASCQ = 0xffASC = 0xff <> ASCQ = 0xff
end_request: ошибка ввода / вывода, dev sdb, сектор 0
Ошибка ввода-вывода в буфер на устройстве SDB, логический блок 0
запись на потерянную страницу из-за ошибки ввода-вывода на SDB

a_m0d
источник
Вы уверены, что он всегда загружается в / dev / sdb? Если вы посмотрите в конец / var / log / messages после установки устройства, вы увидите сообщения журнала, относящиеся к его автомонтированию.
Мас
3
Вы уверены, что в настоящее время он не подключен с помощью cdfs или аналогичного?
RBerteig
1
@ Slink84: Я думаю, что только что ушел sudo dd if=some.iso of=/dev/sdb- я не могу вспомнить, чтобы я делал что-то еще, что могло бы сделать это
a_m0d
1
Изображение было изображением стандарта eeebuntu-3.0.0 - не знаю, кто делает устройство, но я думаю, что это Toshiba
a_m0d
1
Из пары VID / PID она сделана компанией «Alcor Micro Corp.» и представляет собой «Transcend JetFlash Flash Drive». Я использую список на linux-usb.org/usb.ids, чтобы найти эти вещи.
RBerteig

Ответы:

8

Хорошо, оказывается, что в этом случае что-то (возможно, когда я записал файловую систему iso-9660 на диск) вызвало некоторую форму внутренней защиты от записи на диске. Есть не внешняя защита от записи / удержания переключается, но все же это выход в dmesgпри запуске

dd if=/dev/zero of=/dev/sdb

как корень:

SD 9: 0: 0: 0: [SDB] Add. Смысл: запись защищена
end_request: ошибка ввода / вывода, dev sdb, сектор 4028744
SD 9: 0: 0: 0: [SDB] Результат: hostbyte = DID_OK driverbyte = DRIVER_SENSE, SUGGEST_OK
SD 9: 0: 0: 0: [SDB] Sense Key: защита данных [текущий] 
Инфо поля = 0x0

Обратите внимание на комментарии там о защите! Однако, когда я подключаю устройство, я получаю,

scsi 10: 0: 0: 0: флэш-накопитель прямого доступа AU_USB20 8.07 PQ: 0 ANSI: 2
SD 10: 0: 0: 0: [SDB] 4069376 512-байтовых аппаратных секторов (2084 МБ)
SD 10: 0: 0: 0: [SDB] Защита от записи отключена
SD 10: 0: 0: 0: [SDB] Режим Sense: 03 00 00 00
SD 10: 0: 0: 0: [SDB] Предполагается, кэш диска: запись через
SD 10: 0: 0: 0: [SDB] 4069376 512-байтовых аппаратных секторов (2084 МБ)
SD 10: 0: 0: 0: [SDB] Защита от записи отключена
SD 10: 0: 0: 0: [SDB] Режим Sense: 03 00 00 00
SD 10: 0: 0: 0: [SDB] Предполагается, кэш диска: запись через

Обратите внимание, что это сообщение говорит о том, что устройство не защищено от записи! Так что, к сожалению, похоже, что диск был (т.е. капут ).

a_m0d
источник
В прошлом я слышал об устройствах флэш-памяти, которые становились кирпичными, если вы когда-либо использовали с ними файловую систему, отличную от FAT (потому что они использовали FAT, чтобы узнать, какие блоки не использовались и могут быть сброшены). Я давно не слышал об этом, и я не смог ничего найти по этому поводу с помощью быстрого поиска в Google.
CesarB
До сих пор я нашел одного человека, упоминающего зависимость FAT: linux.derkeiler.com/Mailing-Lists/Debian/2008-08/msg00761.html
CesarB
Жаль слышать, что он мертв ... Хех, я был бы рад, что мне не удалось воспроизвести вашу проблему:] Хотя я пробовал ее на старом «одноразовом» диске, все равно было бы грустно потерять его, что путь.
Кирилл Стрижак
да, тем более, что ему было всего около недели! да ладно ...
a_m0d
1
Нашел то, что искал: lkml.org/lkml/2009/3/16/363 («Некоторые производители SDD (я не знаю, кто из них) на самом деле изучают таблицу разделов и делают разные вещи. Я знаю это, потому что они постоянно блокируется, если кто-то пишет неверную таблицу разделов. ")
CesarB
6

Я новичок в этой системе администрирования Linux, поэтому, когда у меня возникла точно такая же проблема, я без сумасшествия ткнул и подтолкнул свой метод, но сумел удалить iso9660 fs и вернуть флэш-накопитель.

sudo fdisk -l  /dev/sdb1

возвращенный

Disk /dev/sdb1: 16.0 GB, 16037969920 bytes
64 heads, 32 sectors/track, 15295 cylinders, total 31324160 sectors
Units = sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I>/O size (minimum/optimal): 512 bytes / 512 bytes
Disk identifier: 0x57155aa7

     Device Boot      Start         End      Blocks   Id  System
/dev/sdb1p1            2048    31324159    15661056    5  Extended

Поэтому я тогда попробовал

sudo fdisk /dev/sdb1

Command (m for help): m
Command action
  . . .

с последующим

Command (m for help): d Extended
Selected partition 1

Command (m for help): v
Remaining 31324159 unallocated 512-byte sectors

Затем при появлении запроса снова выберите fdisk для создания пустой таблицы разделов DOS (что-то, что я решил, я могу перезаписать с тем, что я хочу позже)

Command (m for help): v
Remaining 31324159 unallocated 512-byte sectors

Command (m for help): o
Building a new DOS disklabel with disk identifier 0xea06616f.
Changes will remain in memory only, until you decide to write them.
After that, of course, the previous content won't be recoverable.

Warning: invalid flag 0x0000 of partition table 4 will be corrected by w(rite)

Command (m for help): w
The partition table has been altered!

Calling ioctl() to re-read partition table.

WARNING: Re-reading the partition table failed with error 22: Invalid argument.
The kernel still uses the old table. The new table will be used at
the next reboot or after you run partprobe(8) or kpartx(8)
Syncing disks.

Я принял возвращенные сообщения, чтобы означать, что я по крайней мере "сломал" iso9660 fs, поэтому продолжал пробовать mkfs

sudo mkfs /dev/sdb1

mke2fs 1.41.14 (22-Dec-2010)
Filesystem label=
OS type: Linux
Block size=4096 (log=2)
Fragment size=4096 (log=2)
Stride=0 blocks, Stripe width=0 blocks
979200 inodes, 3915520 blocks
.195776 blocks (5.00%) reserved for the super user
First data block=0
.Maximum filesystem blocks=4009754624
120 block groups
32768 blocks per group, 32768 fragments per group
8160 inodes per group
Superblock backups stored on blocks: 
    32768, 98304, 163840, 229376, 294912, 819200, 884736, 1605632, 2654208

Writing inode tables: done                            
Writing superblocks and filesystem accounting information: done

This filesystem will be automatically checked every 28 mounts or
180 days, whichever comes first.  Use tune2fs -c or -i to override.

Все это оставило меня с каталогом «lost + found» на флэшке.

sudo mount /dev/sdb1 /media/
ls /media/
lost+found

Наконец, я зашел на сайт Ubuntu ( http://www.ubuntu.com/download/ubuntu/download , раздел 2) и использовал флешку для создания загрузочного образа Ubuntu для пробного использования, и он позволил мне. Прелесть образов Ubuntu, сделанных на флешке, заключается в том, что их можно легко удалить, а флешку утилизировать для другого использования.

Я упоминаю этот самый последний шаг, потому что, оглядываясь назад, мне интересно, если бы я сделал именно это, во-первых, это сработало бы, я не знаю. Как уже упоминалось, я новичок в этом материале для Linux и пробую разные дистрибутивы (например, Fedora, Ubuntu и т. Д.) На живых компакт-дисках с любыми носителями, которые наиболее удобны, и я уверен, что по пути сломаю много вещей.

Дэвид Кантвелл
источник
Я хотел бы попробовать ваши шаги, чтобы увидеть, исправит ли это это, но у меня, кажется, больше нет палки, поэтому, к сожалению, я не знаю, помогут ли они. Тем не менее, это все еще может быть полезно для других с той же проблемой.
a_m0d
5
mkdosfs -I /dev/sdb

создаст файловую систему vfat на диске. Ключ -I должен быть передан, если вы хотите, чтобы файловая система создавалась на всем диске, а не на разделе. Если вы хотите сначала разбить диск, используйте fdisk. Конечно, fdisk не может прочитать диск сейчас, потому что у него нет разделов. Но я уверен, что он сможет написать в него.

Ким
источник
Не работает - просто печатает номер версии и выходит. Кроме того, fdisk «Невозможно записать / dev / sdb»
a_m0d
Я только что попробовал команду, и она пишет на указанное устройство. Также печатается только номер версии. Вы можете проверить это с обычным файлом, который вы создали с помощью dd. Вы можете увидеть изменения, которые он вносит с помощью od. Я предполагаю, что это аппаратная проблема.
Ким
1
это помогло мне удалить загрузочный образ Centos, когда все вышеперечисленные решения потерпели неудачу.
ღ uі
2

Глядя на dmesgфрагмент, кажется, что что-то автоматически монтирует диск (проверьте с помощью mount). Прежде чем делать что-либо с этим, вы должны размонтировать его вручную.

Затем обнулите блок с помощью таблицы разделов ( dd if=/dev/zero of=... bs=512 count=1) и запустите инструмент разделения, чтобы воссоздать пустую таблицу разделов. После этого отключите и снова подключите (не нужно, но ...) и создайте / отформатируйте нужные разделы. После создания разделов (возможно, вам придется отключить и снова подключить), вы должны иметь /dev/sdb1или что-то в этом роде, именно здесь вы должны создать файловую систему.

Обратите внимание, что все шаги должны быть выполнены с правами root (с sudoили эквивалентными). Будьте осторожны, чтобы не написать неправильное имя устройства, иначе вы можете стереть жесткий диск!

CesarB
источник
1
Я сделал это, но хотя весь диск, кажется, заполнен нулями, он все равно каким-то образом монтируется и читает диск!
a_m0d
1

Я все еще чувствую, что мы предполагаем что-то, что окажется неправдой. Поскольку устройство доступно для чтения, эта строка по крайней мере позволит вам увидеть данные самостоятельно, а не в зависимости от интерпретаций других программ.

дд если = / dev / sdb count = 1 | xxd -g1 -u

Также, возможно, мы могли бы отделить проблемы с узлом dev от проблем с тем, что находится на устройстве, принудительно перенеся его на другой порт. Либо подключите его к другому USB-разъему, либо сначала подключите другой диск, чтобы занять sdb.

gbarry
источник
хм ... использование этой команды говорит мне, что устройство заполнено нулями, что, вероятно, потому, что мне наконец-то удалось dd if=/dev/zero of=/dev/sdbзапустить его. Но все же fedora все еще монтирует устройство как ISO9660 fs, когда оно подключено!
a_m0d
Linux все еще использует / etc / fstab? Вот где эти «ассоциации» хранились.
Гбарри
Нет, его использование (я думаю) udevили что-то еще, что автоматически монтирует диск.
a_m0d
1

В настоящее время на вашем USB-накопителе нет таблицы разделов, файловая система iso9660 находится непосредственно на всем диске (как на компакт-диске).

sd 6:0:0:0: [sdb] Assuming drive cache: write through
 sdb: unknown partition table

Я думаю, что вам нужно сделать раздел в первую очередь

sudo cfdisk /dev/sdb

(убедитесь, что он не был смонтирован ранее) в приложении fdisk создайте новый раздел.

после этого сделайте файловую систему на новом разделе

sudo mkfs -t vfat /dev/sdb1
Йоаким Элофссон
источник
Пробовал это; cfdisk не выдает никаких сообщений об ошибках, но быстрый просмотр dmesgпоказывает, что на самом деле есть сообщение об ошибке. (см. Редактирование 3 в вопросе выше)
a_m0d
1

У меня была точно такая же проблема, как и у вас. Тем не менее, я смог найти решение из удивительного места. Старый ноутбук с Windows 98SE, который является последней системой Windows, которой я когда-либо владел. В любом случае, просто вставьте его, и при попытке доступа к диску Windows попросит вас отформатировать его. Нажмите «Да», и у вас будет полностью отформатированный диск в формате fat16. Я не знаю, работает ли он с более новыми версиями Windows, хотя. Удачи.

анонимное
источник
Вплоть
1

Может быть с простым

mkfs -t vfat /dev/sdb1
Винко Врсалович
источник
Не работает - см. Править к вопросу
a_m0d
1

Прошлой ночью я сделал

dd if=fedora.iso of=sdx  

Через четыре часа у меня был не загружаемый, неизменный кирпич iso9660. Следуя ходу размышлений Дэвида, я назвал Ubuntu «создатель загрузочного диска» (наберите «начальный диск создатель» в тире) и просто выбрал «стереть». Это сделал это.

Затем USB-накопитель был назван FAT32, и все в порядке.

Дан
источник
Иногда уместно использовать молоток, как это. Интересно, что было в первых нескольких секторах диска.
vgoff
0

Извлеките диск и посмотрите, сможете ли вы прочитать с него. Интересно, стал ли каталог / dev / usb (или где бы вы ни читали) обычным файловым каталогом.

gbarry
источник
Пробовал это - когда я подключаю его обратно, он монтируется нормально, и я могу читать все отлично. Согласно mount, это файловая система iso9660. Тем не менее, gparted показывает только 2 ГБ нераспределенного пространства на диске. ddжалуется, что / dev / sdb - файловая система только для чтения
a_m0d
0

Вы пытались перемонтировать его с опцией -t?

umount / dev / sdb
sudo mount -t vfat / dev / sdb / mnt / point

Если это не сработает, я постараюсь воспроизвести это позже, когда вернусь домой. Похоже, интересная проблема. Будет весело повозиться с:]

Кирилл Стрижак
источник
Ха, нет, не работает, потому mountчто сначала проверяет тип файла
a_m0d
Да, подозревал столько же:] Ладно, больше никаких идей.
Кирилл Стрижак
0

Лучший и правильный способ сделать это:

# wipefs --all /dev/sdX

Как из wipefsруководства:

wipefs может стереть подписи файловой системы, raid или таблицы разделов (магические строки) с указанного устройства, чтобы сделать подписи невидимыми для libblkid.

wipefs не удаляет ни файловую систему, ни другие данные с устройства. При использовании без каких-либо параметров, wipefs перечисляет все видимые файловые системы и смещения их основных сигнатур.

wipefs вызывает BLKRRPART ioctl, когда стирает подпись таблицы разделов, чтобы сообщить ядру об изменении.

Это имеет много преимуществ, таких как информирование ядра об изменениях (так что вы не получите никаких ошибок при последующем форматировании), отсутствие стирания данных или файловых систем и так далее.

ЭМИ
источник
-1

У U3 есть утилита для удаления их раздела U3. Он также удаляет раздел / устройство, созданный утилитой, которая создает iso 9660. Это было подтверждено только на флешке u3, но теперь его можно отформатировать и полностью восстановить все пространство как флешку. Вы могли бы дать ему шанс.

knockNrod
источник