USB 드라이브에서 파일을 삭제할 수 없습니다(dd /dev/zero 또는 rm -r을 통해).

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
.....................

어떡해?

답변1

파티션의 처음 4kb만 0으로 만듭니다. 일반적으로 모든 파일 시스템은 파티션 자체에 설치될 수 있는 부트 로더를 위한 공간을 제공하기 위해 파티션 시작 부분에 일부 사용되지 않는 블록을 유지합니다. 항상 사용되지 않은 채 남아 있는 블록이 적어도 16개는 있다고 생각합니다.

복제된 ISO 9660 유형 파일 시스템을 사용하고 있으므로 dd2048바이트 블록이 있습니다.

ISO 9660은 아래 설명과 같이 부트로더용으로 약 32kb를 예약합니다.http://wiki.osdev.org/ISO_9660#System_Area

따라서 실제로 파티션의 내용을 삭제하려면 최소한 처음 1Mb를 삭제해야 할 수도 있습니다.

답변2

읽기-쓰기 플래그를 사용하여 드라이브를 다시 설치할 수 있습니다. 다음과 같이 작동해야 합니다.

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

관련 정보