GPT 드라이브의 이미지를 더 작은 장치로 어떻게 이동합니까?

GPT 드라이브의 이미지를 더 작은 장치로 어떻게 이동합니까?

Linux(Debian)가 설치된 64GB SD 카드가 있습니다. 더 작은 SD 카드(16GB)로 옮기고 싶습니다.

resize2fs와 cfdisk를 사용하여 파일 시스템과 파티션의 크기를 조정했는데 이제 다음과 같습니다.

Disk /dev/rdisk4: 122519552 sectors, 58.4 GiB
Sector size (logical): 512 bytes
Disk identifier (GUID): C133B5DA-A507-4080-8DBC-9FAD0E960A17
Partition table holds up to 128 entries
Main partition table begins at sector 2 and ends at sector 33
First usable sector is 34, last usable sector is 122519518
Partitions will be aligned on 2048-sector boundaries
Total free space is 93159357 sectors (44.4 GiB)

Number  Start (sector)    End (sector)  Size       Code  Name
   1            2048         1050623   512.0 MiB   EF00  
   2         1050624         7342079   3.0 GiB     8200  
   3         7342080        15730687   4.0 GiB     8300  
   4        15730688        29362175   6.5 GiB     8300  

이제 dd를 사용하여 이미지를 찍고 싶습니다.

이에 따르면:https://en.wikipedia.org/wiki/GUID_Partition_Table GPT 백업 헤더는 마지막 33개 섹터입니다. 마지막 파티션에서 사용된 마지막 섹터는 29362175였습니다. 내가 아는 한, 섹터는 0부터 시작하므로 총 29362176개의 섹터가 있고 GPT 백업 헤더용으로 33개의 섹터가 있습니다.

마지막으로 다음과 같은 명령이 작동하기를 원합니다.

sudo dd if=/dev/rdisk4 of=disk4_backup.img bs=512 count=29362209

실행하면 결과 disk4_backup.img가 예상한 크기(15033451008바이트)가 되지만, gdisk를 실행하면 다음과 같습니다.

gdisk disk4_backup.img

GPT 백업 헤더가 손상되었다는 메시지가 나타납니다. gdisk가 문제를 해결하기 위해 기본 GPT 헤더를 사용하도록 할 수 있다고 확신합니다. 그런데 백업 헤더를 먼저 백업할 수 없는 이유는 무엇입니까? 내 계산이 틀렸나요? GPT 백업 헤더의 위치에 대한 내 가정이 틀렸습니까?

참고: gdisk는 원래 64GB SD 카드의 파티션 크기가 조정된 것에 대해 불평하지 않습니다. 위의 GPT 헤더에 만족합니다.

답변1

첫째, GPT 백업 헤더가 디스크 끝에 있으므로 더 작은 복사본을 만들려고 하면 살아남지 못할 것이라고 생각합니다.

둘째, 새 디스크에 일치하는 파티션을 만든 다음 파티션을 복사하거나 일치하는 파티션과 파일 시스템을 만든 다음 파일을 복사하는 것이 더 좋습니다.

답변2

gdisk또한 위키피디아 기사에 따르면 헤더에는 백업 헤더의 위치가 포함되어 있고 crc도 포함되어 있어 이를 사용하지 않고는 새로운 백업 주소로 업데이트가 어렵다고 합니다.r 복원 및 변형 메뉴주문하다d 기본 GPT 헤더를 사용하고 백업을 다시 빌드하세요..

관련 정보