"전체" 디스크 이미지인 디스크 이미지가 있습니다. 예를 들어 복제하려는 여러 파티션이 포함되어 있습니다.하나(첫 번째 파티션이 아님..) 여러 파티션이 있는 외장 드라이브의 파티션에 연결합니다(또한 디스크의 첫 번째 파티션에 복제하지 않았습니다...).
이미지를 FDisk하여 다음 결과를 얻습니다.
# fdisk -l 2013-02-09-wheezy-raspbian.img 디스크 2013-02-09-wheezy-raspbian.img: 1939MB, 1939865600바이트 255개 헤드, 63개 섹터/트랙, 235개 실린더, 총 3,788,800개 섹터 단위 = 1 * 512 = 512바이트 섹터 섹터 크기(논리적/물리적): 512바이트/512바이트 I/O 크기(최소/최적): 512바이트/512바이트 디스크 식별자: 0x00014d34 장치 부팅 시작 끝 블록 ID 시스템 2013-02-09-wheezy-raspbian.img1 8192 122879 57344 c W95 FAT32 (LBA) 2013-02-09-wheezy-raspbian.img2 122880 3788799 1832960 83 리눅스 #
블록 장치는 다음과 같습니다.
# fdisk -l /dev/sdc 디스크 /dev/sdc: 8014MB, 8014266368바이트 247개 헤드, 62개 섹터/트랙, 1022개 실린더, 총 15652864개 섹터 단위 = 1 * 512 = 512바이트 섹터 섹터 크기(논리적/물리적): 512바이트/512바이트 I/O 크기(최소/최적): 512바이트/512바이트 디스크 식별자: 0x00000000 장치 부팅 시작 끝 블록 ID 시스템 /dev/sdc1 2048 131071 64512 e W95 FAT16(LBA) /dev/sdc2 131072 15652863 7760896 83 리눅스 #
이미지의 두 번째 파티션이 블록 장치의 두 번째 파티션을 대체하고 싶습니다. 결국 여유 공간이 손상되는 것에 대해 걱정하지 마십시오. GParted를 사용하여 정리하고 어쨌든 다른 작업에 필요할 것입니다.
답변1
# losetup --find --show --partscan --read-only 2013-02-09-wheezy-raspbian.img
/dev/loop7
# dd if=/dev/loop7p2 of=/dev/narnia bs=1M
그래도 문제가 해결되지 않으면 --partscan
다음 방법 중 하나를 사용할 수도 있습니다.
# partx -a /dev/loop7
# kpartx /dev/loop7
또는 유사한 파티션 매핑 솔루션.
올바른지 또는 무엇인지 확인하려면 먼저 설치해야 할 것입니다.
물론 fdisk 출력을 읽고 직접 제공할 수도 있습니다 . dd
즉 skip=131072
, 파티션이 있는 위치를 읽기 시작하도록 많은 입력 블록을 건너뛰지만 실제 파티션을 보려면 루프 장치를 사용하는 것이 더 좋습니다.
답변2
다음과 같이 작동해야 합니다.
dd if=/path/to/2013-02-09-wheezy-raspbian.img2 of=/dev/sdc2 bs=4096 conv=notrunc,noerror
만약에= 복제하려는 이미지 설정
~의= 이미지를 복제할 대상 파티션을 설정합니다.
답변3
- 이미지를 루프백 장치로 마운트합니다.
losetup -fP yourImage.img
- 이제 이미지의 각 파티션에 직접 액세스할 수 있습니다. 부득이하게 사용해야 한다면
dd
이 방법을 사용하면 되지만dd if=/dev/loop0p1 of=image.img
, 내 생각에는cat
이 방법을 더 선호하실 것 같습니다. 루트 셸에서 실행하면 됩니다cat /dev/loop0p1 > image.img
. 두 예제 모두 첫 번째 파티션이 필요하고 할당된 루프백 장치가 다음과 같다고 가정합니다./dev/loop0
- 루프백 장치 사용을 마친 후 를 사용하여 루프백 장치를 분리할 수 있습니다
losetup -d /dev/loop0
. 다시 이것이/dev/loop0
루프백 장치라고 가정합니다.
답변4
이 명령을 사용하면 두 번째 파티션만 별도의 이미지에 복사할 수 있습니다.
dd if=2013-02-09-wheezy-raspbian.img of=second.img bs=512 skip=122880
그런 다음 디스크의 파티션 위치에 복사할 수 있습니다.
dd if=second.img of=/dev/sdc2 bs=512
아니면 명령어로도 할 수 있어요
dd if=2013-02-09-wheezy-raspbian.img of=/dev/sdc2 bs=512 skip=122880
쓰기 전에 /dev/sdc2를 마운트 해제했는지 확인하세요.