是否可以调整 QEMU 磁盘映像的大小?

是否可以调整 QEMU 磁盘映像的大小?

如果可能的话,其中的分区会怎样?它们是否也会自动调整大小(值得怀疑),还是它们后面只是出现了新的未使用空间块?

答案1

这里

!!! 在尝试以下操作之前请先备份您的磁盘映像 !!!

如果你使用的是稀疏原始图像,那么请执行

dd if=/dev/zero of=hdd.img seek=N obs=1MB count=0

其中 hdd.img 是要调整大小的原始格式映像,N 是希望映像达到的新大小,以兆字节为单位。要更改 N 的单位,请将 obs 更改为其他值,例如将以千兆字节 (1000x1000x1000) 为单位的 1GB。

如果您想要调整原始图像的大小,但又不想让它变得稀疏(您实际上希望文件中有这些零),那么请执行“dd if=/dev/zero of=image seek=S count=NS obs=1”,其中 N 是新大小,S 是旧大小(以字节为单位)。

如果您想调整 qcow2 图像的大小,目前尚不支持。

这封电子邮件展示了使用十六进制编辑器调整 qcow 图像大小的一些实验。

据我所知,不支持调整其他格式(VMware、Bochs、cow 或 cloop)的图像大小或增大其尺寸。

在 Windows 主机上,可以使用“copy”命令调整原始格式磁盘映像的大小。如果需要,您可以使用 qemu-img 将现有映像转换为原始格式。我们将使用临时的原始格式磁盘映像,该映像将附加到现有原始格式磁盘映像的末尾。此临时映像的大小是现有映像将扩展的大小:

qemu-img create -f raw temp.img 300M

然后,您应该发出以下命令 - orig.img 是您想要放大的现有原始格式图像,temp.img 是之前创建的临时图像文件,new.img 是调整大小的结果图像:

copy /b orig.img+temp.img new.img

然后,您需要在新映像上重新分区并调整现有分区和文件系统的大小。执行此操作的一种方法是使用 gparted livecd iso 和新磁盘映像在 QEMU 中启动 gparted。


如果以上方法不起作用,您可能需要查看其他链接:

http://qemu-forum.ipi.fi/viewtopic.php?p=12362
http://kev.coolcavemen.com/2007/04/how-to-grow-any-qemu-system-image/
http://bryan-murdock.blogspot.com/2007/12/resize-qemukvm-windows-disk-image.html
http://www.larsen-b.com/Article/329.html
http://www.brabbel.net/wp/archives/174

答案2

qcow2 映像可以调整大小以适应新/当前版本的 qemu。例如,我有一个 2G 的 arch.qcow2,我想让它变成 50G,在这种情况下我输入:

qemu-img resize arch.qcow2 50G

然后 qemu 告诉我:

image resized

就是这样,我今天刚刚做了这个。redhat 实际上有一些关于 qemu 的不错的文档:

答案3

2017 年的简短回答:要向现有原始图像添加例如 30 GB,我只需使用以下命令:

qemu-img resize nameofimg.img +30G

这会将 30 GB 添加到您现有的映像文件(无需创建新文件)。然后,您可以在来宾 VM 中扩展现有分区,在 Windows 10 中,例如使用“磁盘管理”,非常简单。

更多信息和选项:

man qemu-img

也可以看看:qemu 维基 > qemu-img

答案4

相关内容