Ubuntu
無法從 USB 驅動器中刪除文件(既不是通過 dd /dev/zero 也不是通過 rm -r)
我有一個快閃記憶體 USB 驅動器,到目前為止它執行良好。最近我用dd記錄了它的iso。現在我想刪除它。
$ 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 為引導載入程序保留了大約 32kb,如下所述:http ://wiki.osdev.org/ISO_9660#System_Area
所以,要想真正刪除分區的內容,可能至少需要刪除前1Mb。