Intereting Posts

Не удалось удалить файлы с USB-накопителя (ни по dd / dev / zero, ни по rm -r)

У меня есть флеш-накопитель USB, и до сих пор он работал хорошо. Недавно я записал iso к нему, используя dd. Теперь я хочу удалить его.

$ lsblk NAME MAJ:MIN RM SIZE RO TYPE MOUNTPOINT ....... sdb 8:16 1 14.6G 0 disk └─sdb1 8:17 1 14.5G 0 part /media/alex/ARCH_201404 sr0 11:0 1 1024M 0 rom $ mount /dev/sdb1 on /media/alex/ARCH_201404 type iso9660 (ro,nosuid,nodev,uid=1000,gid=1000,iocharset=utf8,mode=0400,dmode=0500,uhelper=udisks2) 

Когда я это сделал

 $ sudo dd ibs=4096 count=1 if=/dev/zero of=/dev/sdb1 1+0 records in 8+0 records out 4096 bytes (4.1 kB) copied, 0.00053675 s, 7.6 MB/s 

это казалось успешным, но когда я исследовал флэш-память usb, все файлы все еще были там. Когда это произошло:

 sudo rm -r /media/alex/ARCH_201404/* 

и я получил ошибку:

 .................. rm: cannot remove '/media/alex/ARCH_201404/loader/entries/uefi-shell-v1-x86_64.conf': Read-only file system rm: cannot remove '/media/alex/ARCH_201404/loader/entries/uefi-shell-v2-x86_64.conf': Read-only file system rm: cannot remove '/media/alex/ARCH_201404/loader/loader.conf': Read-only file system ..................... 

Что я могу сделать с этим?

Вы только обнуляли первые 4kb раздела. Обычно все файловые системы хранят несколько неиспользуемых блоков в начале своего раздела, чтобы предоставить пространство загрузчикам, которые могут быть установлены на самом разделе. Я думаю, что по крайней мере 16 блоков всегда остаются неиспользованными.

Вы скопировали с dd файловую систему типа ISO 9660, поэтому у вас есть 2048 байт блоков.

ISO 9660 резервирует около 32 КБ для загрузчиков, как описано здесь: http://wiki.osdev.org/ISO_9660#System_Area

Итак, чтобы действительно удалить содержимое раздела, вам может понадобиться удалить хотя бы первый 1Mb.

Вы можете попробовать перемонтировать накопитель с флагом чтения-записи. Что-то вроде следующего должно работать.

 # mount -o remount,rw /dev/sdb1 /media/alex/ARCH_201404