![dd를 사용하여 작은 파티션이 있는 드라이브 이미지 만들기](https://linux55.com/image/172218/dd%EB%A5%BC%20%EC%82%AC%EC%9A%A9%ED%95%98%EC%97%AC%20%EC%9E%91%EC%9D%80%20%ED%8C%8C%ED%8B%B0%EC%85%98%EC%9D%B4%20%EC%9E%88%EB%8A%94%20%EB%93%9C%EB%9D%BC%EC%9D%B4%EB%B8%8C%20%EC%9D%B4%EB%AF%B8%EC%A7%80%20%EB%A7%8C%EB%93%A4%EA%B8%B0.png)
파티션이 하나인 부팅 가능한 USB 드라이브가 있습니다. 드라이브는 16GB이고 파티션은 32MB입니다. 드라이브(부트 섹터 포함)의 ISO를 생성하고 싶습니다. dd를 사용하면 파티션의 이미지를 생성할 수 있습니다(32MB 크기이지만 부팅되지 않기 때문에 원하는 것은 아닙니다). 또는 전체 드라이브의 이미지를 생성할 수 있습니다. 이는 엄청난 낭비입니다. 시간과 디스크 공간. clonezilla를 사용해 보았으나 clonezilla 이미지에서 ISO를 생성할 수 없습니다.
드라이브의 사용되지 않은 전체 부분을 이미징하지 않고 드라이브의 부팅 가능한 이미지를 생성하려면 어떻게 해야 합니까? PS: 이미지가 부팅 가능하고 virtualbox에서 사용할 수 있는 한 이미지가 ISO인지 여부는 상관하지 않습니다.
답변1
당신이 원하는 것은 파티션과 함께 파티션 테이블을 복사하는 것입니다. 파티션 끝(테이블은 첫 번째 섹터에 있음)에만 드라이브를 복사하면 됩니다.
먼저 드라이브의 정확한 형상을 확인하십시오. 예를 들어 이별의 경우:
# parted /dev/sdb
GNU Parted 3.3
Using /dev/sdb
Welcome to GNU Parted! Type 'help' to view a list of commands.
(parted) unit B
(parted) print
Model: blah
Disk /dev/sdb: 1000204886016B
Sector size (logical/physical): 512B/512B
Partition Table: gpt
Disk Flags:
Number Start End Size File system Name Flags
1 2048B 33556480B 33554432B fat32 Boot
나는 장치를 다음으로 전환합니다.두번째파티션 끝의 정확한 위치를 얻으려면 yte를 사용하십시오. 이제 dd를 사용하면 적절한 양의 데이터를 복사하는 것이 매우 간단해집니다.
# dd if=/dev/sdb of=drive.img iflag=count_bytes bs=32k count=33556480
이 작업이 가능해야 합니다. 처음에는 파티션과 파티션 테이블을 얻게 됩니다. count_bytes
블록 크기의 배수를 사용할 필요가 없도록 사용에 유의하십시오 . 따라서 캐시가 수용할 수 있는 한 더 빠른 더 큰 크기를 사용할 수 있습니다.