如何扩展原始磁盘映像?


13

提供的正式映像是原始磁盘映像,可以使用创建dd

如何放大图像?我对重新分配所说的映像不感兴趣,因为在“ 如何调整我的(根)分区的大小”中已经回答了这一问题


不确定要扩展的含义。您是否想在将映像添加到磁盘之前对映像执行“分区大小调整” ?
Joost 2012年

这是一个目标,但是要实现这一目标,必须扩展磁盘映像。
亚历克斯·张伯伦

Answers:


13

本问题所述,有两种扩展图像的方法。下面是两个将文件扩展1 KB的示例。

DD创建一个非稀疏文件

dd if=/dev/zero bs=1k count=1 >> myimage.img

截断创建一个稀疏文件

truncate -s +1024 myimage

您可能要使用截断。稀疏文件仅写入其使用的块的元数据,而不实际写入块。这样可以更快地创建文件(因为它不必将实际的零写入磁盘),并且可以节省磁盘空间。

注意: Apple的HFS +文件系统不支持稀疏文件。



如果支持稀疏文件是POSIX的要求,我想不是。这是HFS +与某些ext(我想)stackoverflow.com/a/193015/689893之间的区别的很好展示。显然,它确实创建了文件,但它使用磁盘空间就像是普通文件而不是稀疏文件。
Joost 2012年

不,我想我误会了!
亚历克斯·张伯伦

如果您dd的文件稀疏,它是否仍然正确?
亚历克斯·张伯伦

稀疏文件中确实包含数据,所以我想您可以仅添加零。它将以非稀疏的方式处理该部分。
Joost 2012年

10

调整图像大小的一种非常简单的方法是使用qemu称为的工具之一qemu-img。当然,这取决于您已qemu安装的事实(我知道您已经安装过Alex)。

该命令如下所示:

qemu-img resize filename [+|-]size[K|M|G|T]

filename图像文件在哪里,尺寸是您要放大(或缩小)图像的尺寸。

例如,如果要将图像扩展archarm.img2GB,则可以执行:

qemu-img resize archarm.img +2G

请参考联机帮助页,在使用此命令收缩磁盘映像之前,必须在VM内使用文件系统和分区工具来相应地减少分配的文件系统和分区大小。否则将导致数据丢失!
AntonioK
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.