dd를 사용하여 작은 파티션이 있는 드라이브 이미지 만들기

dd를 사용하여 작은 파티션이 있는 드라이브 이미지 만들기

파티션이 하나인 부팅 가능한 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블록 크기의 배수를 사용할 필요가 없도록 사용에 유의하십시오 . 따라서 캐시가 수용할 수 있는 한 더 빠른 더 큰 크기를 사용할 수 있습니다.

관련 정보