dd 명령이 장치를 채우지 않음

dd 명령이 장치를 채우지 않음

여분의 120GB SSD가 있는데 데이터를 완전히 지우고 싶습니다. 드라이브를 제거한 후 실행했습니다.

sudo dd if=/dev/urandom of=/dev/sda bs=4M

하지만 8GB를 복사한 후 "dd: '/dev/sda'에 쓰기 오류 발생: 장치에 남은 공간이 없습니다."라는 메시지가 표시되면서 중지됩니다.

lsblk올바른 장치 이름이 표시되며 용량은 112GB입니다.

나는 ;에 대해 다른 값을 사용하여 이 명령의 여러 변형을 시도했습니다 dd. bs예, 아니오 status=progress. 장치가 설치된 후에도 마찬가지입니다. 각 시도는 정확히 동일한 양의 데이터(7996309504바이트)를 쓴 후 중지됩니다.

dd8GB만 썼는데 120GB 드라이브가 가득 찼다고 주장하는 이유는 무엇입니까 ?

다시 포맷을 사용해 보았지만 gnome-disks동작 dd은 여전히 ​​동일합니다.

필사적으로 파티션을 마운트하고 다음을 시도했습니다.

sudo dd if=/dev/urandom of=/dev/sda1 bs=4M status=progress

작업이 완료되고 다음이 보고됩니다.

120033123840바이트 복사됨(120GB, 112GiB)

일반적으로 장치 이름이 으로 필요하므로 dd파티션이 작동했을 때 놀랐습니다. 무슨 일인지 설명해 줄 수 있는 사람 있나요?

일부 의견 후 수정

어쩌면 @ljm이 뭔가를 하고 있을 수도 있습니다. ls8GB 크기의 "/dev/sda"라는 일반 파일이 있음을 보여줍니다. file이것이 데이터 파일이라고 가정해 보겠습니다. 그것이 어디서 나오는지는 모르겠습니다. 왜 크기가 제한되어 있는지 모르겠습니다. 삭제해도 안전한가요?

또한 블록 특수 파일 /dev/sda1도 있습니다.

답변1

디스크를 분리하면 디스크가 사라지는 경향이 있습니다. 따라서 장치를 제거하면 장치 파일도 사라질 수 있습니다. 해결 방법은 일반적으로 플러그를 뽑았다가 다시 연결하는 것입니다.

장치 파일이 /dev/sda사라졌을 때 dd일반 파일을 만들고 싶다고 가정해 보겠습니다 /dev/sda. 다운되어도 /dev여전히 장치가 아닌 일반 파일입니다. dd파티션이 가득 찰 때까지(대부분 8GB) 계속합니다 .

관련 정보