전체 디스크 이미지에서 개별 파티션으로 복원

전체 디스크 이미지에서 개별 파티션으로 복원

주요 버전 업그레이드의 경우 Tails에서는 다음을 권장합니다.복잡한 업그레이드 경로새 USB 드라이브에 이미지를 쓴 다음 운영 체제 파티션을 원래 USB 드라이브에 복제할 수 있습니다. 나는 이 작업을 수행하는 더 좋은 방법을 찾으려고 노력하고 있습니다.

파티션 테이블과 단일 파티션이 포함된 .img 파일이 있습니다.

$ sudo kpartx -av tails-amd64-5.2.img
add map loop12p1 (253:0): 0 2553856 linear 7:12 2048
$ sudo parted tails-amd64-5.2.img UNIT b print
Model:  (file)
Disk tails-amd64-5.2.img: 1309671424B
Sector size (logical/physical): 512B/512B
Partition Table: gpt
Disk Flags: 

Number  Start     End          Size         File system  Name   Flags
 1      1048576B  1308622847B  1307574272B  fat32        Tails  boot, hidden, legacy_boot, esp

두 개의 파티션이 있는 드라이브:

$  sudo kpartx -av /dev/sdb
add map sdb1 (253:2): 0 16777216 linear 8:16 2048
add map sdb2 (253:3): 0 43655168 linear 8:16 16781312
$ sudo parted /dev/sdb UNIT b print
Model: Kingston DataTraveler 3.0 (scsi)
Disk /dev/sdb: 30943995904B
Sector size (logical/physical): 512B/512B
Partition Table: gpt
Disk Flags: 

Number  Start        End           Size          File system  Name       Flags
 1      1048576B     8590983167B   8589934592B   fat32        Tails      boot, hidden, legacy_boot, esp
 2      8592031744B  30943477759B  22351446016B               TailsData

해당 드라이브의 첫 번째 파티션 위의 이미지를 복원하고 두 번째 파티션은 그대로 두고 싶습니다. 이 명령을 시도했는데 GRUB로 부팅되었지만 OS는 부팅되지 않았습니다.

$ sudo dd if=tails-amd64-5.2.img of=/dev/sdb1 bs=16M

fsck에 따르면 이는 GPT 파티션이 시작 부분에 있기 때문입니다. 이 명령은 아무 작업도 수행하지 않습니다.

$ sudo kpartx -d tails-amd64-5.2.img

이 명령을 실행하면 드라이브가 GRUB으로 부팅되지 않습니다.

$ sudo dd if=tails-amd64-5.2.img of=/dev/sdb1 bs=512 count=2

GUID 파티션 테이블을 제거하고 작동하게 만드는 방법이 있습니까?

답변1

당신은 거의 대답을 했습니다. 이미 kpartx결과를 사용하고 있지만 활용하지 않고 있습니다.

$ sudo kpartx -av tails-amd64-5.2.img
add map loop12p1 (253:0): 0 2553856 linear 7:12 2048 

반응을 관찰하십시오 add map loop12p1.

이 명령은 /dev/mapper/loop12p1GUID 파티션 테이블을 건너뛰고 이미지 파일의 파티션에 직접 액세스할 수 있는 장치를 생성했습니다.

그래서 당신은 이것을 할 수 있습니다 :

sudo dd if=/dev/mapper/loop12p1 of=/dev/sdb1 bs=16M

/dev/mapper/loop12p1루프백 장치(또는 기타 장치)가 더 이상 필요하지 않으면 다음 명령으로 제거합니다.

sudo kpartx -d tails-amd64-5.2.img

관련 정보