dd 명령은 /dev/sdc에 쓰고 디스크 크기를 변경합니다.

dd 명령은 /dev/sdc에 쓰고 디스크 크기를 변경합니다.

RAW 모드에서 다양한 쓰기 속도를 테스트하기 위해 dd 명령을 사용하여 /dev/sdc(외장 하드 드라이브 1TB 크기)에 직접 썼습니다. (디스크의 데이터에는 관심이 없습니다.) 이제 fdisk나 gparted에서 보고하는 디스크 크기는 내가 쓴 데이터의 크기인데 전체 디스크 크기를 복구하는 방법을 모르겠습니다.

내가 사용하는 명령은 다음과 같습니다

dd if=/dev/urandom of=/dev/sdc bs=4096 count=[큰 숫자]

아래와 같이 이 명령을 사용하여 128KB의 데이터를 쓰면 fdisk는 드라이브 크기가 128KB에 불과하다고 보고합니다. 최대 1TB의 데이터를 쓰려고 하면 장치 가득 참 오류로 인해 30GB에서 중지됩니다.

파티션 테이블을 삭제하고 다시 생성해 보았지만 소프트웨어가 더 작은 드라이브 크기만 인식하므로 도움이 되지 않았습니다.

전체 드라이브 크기를 복원하는 방법은 무엇입니까?

PS 나는 또한 if=/dev/zero에서 쓰기를 시도했습니다. 속도는 5GB/s이더니 결국 32GB에서 멈췄습니다.

PPS 메모리에 문제가 있는 것으로 생각하여 드라이브를 분리했다가 다시 시작해 보았습니다. 같은 질문.

# fdisk -l /dev/sdc

Disk /dev/sdc: 29.5 GiB, 31633203200 bytes, 61783600 sectors
Units: sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes

#try to write to entire drive:
# dd if=/dev/zero of=/dev/sdc bs=65536 count=15258788 status=progress

26753171456 bytes (27 GB, 25 GiB) copied, 5.00001 s, 5.4 GB/s
dd: error writing '/dev/sdc': No space left on device
482685+0 records in
482684+0 records out
31633203200 bytes (32 GB, 29 GiB) copied, 5.89003 s, 5.4 GB/s

# dd if=/dev/urandom of=/dev/sdc bs=65536 count=2 status=progress
2+0 records in
2+0 records out
131072 bytes (131 kB, 128 KiB) copied, 0.000660426 s, 198 MB/s

# fdisk -l /dev/sdc
Disk /dev/sdc: 128 KiB, 131072 bytes, 256 sectors
Units: sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes

# dd if=/dev/urandom of=/dev/sdc bs=65536 count=15258788 status=progress
31624462336 bytes (32 GB, 29 GiB) copied, 136 s, 233 MB/s     
dd: error writing '/dev/sdc': No space left on device
482685+0 records in
482684+0 records out
31633203200 bytes (32 GB, 29 GiB) copied, 136.038 s, 233 MB/s

답변1

어떤 이유로 블록 특수 장치 파일 /dev/sdc가 존재하지 않습니다. 아마도 당시 드라이브가 연결되지 않았기 때문일 수 있습니다. 그런 다음 명령은 dd파일을 루트 파일 시스템에 일반 파일로 생성하여 관찰된 결과를 제공합니다.

관련 정보