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