파티션을 하나의 디스크 이미지로 결합


13

이미지가 3 개 있습니다. 각 이미지는 파티션 (ext3 파일 시스템을 사용하여 포맷 된 파티션)을 복제 (dd)하여 수행되었습니다. GRUB1 (CentOS)을 사용하여 하나의 파티션으로 부팅 가능

하나의 디스크 이미지로 어떻게 결합 할 수 있습니까?

(dd 명령을 사용하여 파티션 이미지를 복사 할 수 있지만 파티션 테이블을 생성하고 부팅이 작동하는 방법을 모르겠습니다).


1
당신은 정말로 무엇을하려고합니까? 작업 시스템을 새 하드웨어 등에 복제합니까? 단일 시스템의 다른 마운트 지점에있는 세 개의 파티션이 있습니까?
Mike Renfro 2016 년

목표는 무엇입니까? 루프백 장치를 사용하여 파일 시스템 이미지로 작업 할 수 있지만 파티션 / 파일 시스템 이미지 대신 디스크 이미지를 수정하는 것은 훨씬 까다 롭습니다.
Michael Lowman 2016 년

답변:


15

디스크 이미지를 작성하십시오. 다음 명령은 10G 스파 스 이미지를 만듭니다 .

# dd if=/dev/zero of=mydisk.img bs=1 count=0 seek=10G
0+0 records in
0+0 records out
0 bytes (0 B) copied, 1.6554e-05 s, 0.0 kB/s
# ls -lh mydisk.img
-rw-r--r--. 1 root root 10G Jun 17 15:27 mydisk.img

fdisk로 이미지를 분할하십시오.

# fdisk mydisk.img

최소한 이미징 한 파티션보다 큰 파티션을 만들어야합니다! 이 예제에서는 다음과 같은 레이아웃을 만들었습니다.

# fdisk -l mydisk.img
Disk mydisk.img: 10.7 GB, 10737418240 bytes
255 heads, 63 sectors/track, 1305 cylinders, total 20971520 sectors
Units = sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes
Disk identifier: 0x5519250f

     Device Boot      Start         End      Blocks   Id  System
mydisk.img1            2048     2099199     1048576   83  Linux
mydisk.img2         2099200     4196351     1048576   83  Linux

kpartx각 파티션에 해당하는 장치를 작성하는 데 사용하십시오 .

# kpartx -av mydisk.img
add map loop0p1 (253:3): 0 2097152 linear /dev/loop0 2048
add map loop0p2 (253:4): 0 2097152 linear /dev/loop0 2099200

아래에 항목이 생성됩니다 /dev/mapper.

# ls -l /dev/mapper
lrwxrwxrwx. 1 root root       7 Jun 17 15:33 loop0p1 -> ../dm-3
lrwxrwxrwx. 1 root root       7 Jun 17 15:33 loop0p2 -> ../dm-4

이제 파티션 이미지를 파티션에 복사 할 수 있습니다 :

# dd if=image_of_partition_1.img of=/dev/mapper/loop0p1 bs=1M
# dd if=image_of_partition_2.img of=/dev/mapper/loop0p2 bs=1M

이제 장치 매핑을 제거하십시오.

# kpartx -dv mydisk.img
del devmap : loop0p2
del devmap : loop0p1
loop deleted : /dev/loop0

그리고 당신은 모두 설정되었습니다!

노트

  • 을 사용 dd하는 seek대신 및 이미지 (디스크 이미지 파일의 적절한 오프셋에서 쓰기 시작) 를 사용하여 동일한 작업을 수행 할 수도 kpartx있지만 사용하는 kpartx것이 오류가 덜 발생 한다고 생각합니다 .

  • 이렇게하면 부팅 가능한 이미지가 생성되지 않습니다. 원하는 경우 부트 로더를 설치해야합니다.

당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.