전체 블록 장치 /dev/xxxx를 올바르게 지우는 방법은 무엇입니까?

전체 블록 장치 /dev/xxxx를 올바르게 지우는 방법은 무엇입니까?

를 사용하여 지우려는 블록 장치가 있습니다 dd. 내 일부가 삭제된 것 같아요. 그러나 dd명령이 반환됩니다 No space left on device. 블록 디바이스 정보는 다음과 같습니다.

fdisk -l /dev/xxxx

Disk /dev/xxxx: 7876 MB, 7876902912 bytes
4 heads, 16 sectors/track, 240384 cylinders
Units = cylinders of 64 * 512 = 32768 bytes

Disk /dev/xxxx doesn't contain a valid partition table

dd지우려면 다음 명령을 사용합니다 .

~ # dd if=/dev/zero of=/dev/xxxx bs=1M count=7876

나는 다음과 같은 결과를 얻습니다.

dd: writing '/dev/xxxx': No space left on device
7513+0 records in
7512+0 records out
7876902912 bytes (7.3GB) copied, 355.751103 seconds, 21.1MB/s

누군가 내가 여기서 출력을 이해하도록 도와줄 수 있습니까? 출력 디스플레이 7876902912 bytes (7.3GB) copied. 장치의 전체 크기입니다. 그렇다면 이것은 기기 전체가 지워지고 남은 공간이 없기 때문에 "기기에 남은 공간이 없다"는 뜻인가요? 아니면 다른 뜻인가요?

답변1

예.

또한 SSD인 경우 SSD blkdiscard /dev/xxxx에서 무엇이든 읽을 때 빠른 작업은 0을 쓰는 것과 동일한 효과를 가져서 장치가 모두 0을 반환하도록 합니다. (모든 블록을 새로운 데이터와 재사용하기 위해 블록 풀에 넣을 수 있고 데이터 측면에서 그대로 유지될 필요가 없다는 것을 마모 평준화에 알리기 위해 장치에서 blkdiscard를 계속 실행하는 것이 좋습니다.)

0으로 덮어쓰고 싶다면 dd0을 쓰는 약간 어색한 프로그램이 필요하지 않습니다. cat /dev/zero > /dev/xxxxx잘 작동합니다. pv < /dev/zero > /dev/xxxx효과는 동일하지만 속도와 진행 정보를 제공합니다.

관련 정보