linux – 将分区组合到一个磁盘映像

我有3张图片.每个映像都是通过克隆(通过dd)分区(这些分区使用ext3文件系统格式化)完成的.
一个分区可以通过GRUB1(CentOS)启动

如何将它们组合到一个磁盘映像?

(我可以使用dd命令复制分区映像,但我不知道如何创建分区表并使启动工作).

解决方法

创建磁盘映像.以下命令将创建10G sparse image
# 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不太容易出错.>这不会产生可引导的图像.如果你想要,你还必须在它上面安装一个引导装载程序.

相关文章

insmod和modprobe加-f参数导致Invalid module format错误 这...
将ArchLinux安装到U盘 几个月前入门Arch的时候上网搜了不少安...
1、安装Apache。 1)执行如下命令,安装Apache服务及其扩展包...
一、先说一下用ansible批量采集机器信息的实现办法: 1、先把...
安装配置 1. 安装vsftpd 检查是否安装了vsftpd # rpm -qa | ...
如何抑制stable_secret读取关键的“net.ipv6.conf.all.stabl...