英语法语西班牙文

OnWorks 网站图标

qemu-img - 云端在线

在 OnWorks 免费托管服务提供商中通过 Ubuntu Online、Fedora Online、Windows 在线模拟器或 MAC OS 在线模拟器运行 qemu-img

这是 qemu-img 命令,可以使用我们的多个免费在线工作站之一在 OnWorks 免费托管服务提供商中运行,例如 Ubuntu Online、Fedora Online、Windows 在线模拟器或 MAC OS 在线模拟器

程序:

您的姓名


qemu-img - QEMU 磁盘映像实用程序

概要


用法:qemu-img 命令【命令选项】

商品描述


qemu-img 允许您离线创建、转换和修改图像。 它可以处理所有图像
QEMU 支持的格式。

警告: 切勿使用 qemu-img 来修改正在运行的虚拟机或任何正在使用的映像
其他过程; 这可能会破坏图像。 另外,请注意,查询是
被另一个进程修改可能会遇到不一致的状态。

配置


支持以下命令:

[-Q] [-F fmt] [--输出=关闭] [-r [泄漏 | 全部]] [-T 源缓存] 文件名
创建信息图 [-Q] [-F fmt] [-要么 选项] 文件名 [尺寸]
承诺 [-Q] [-F fmt] [-t 缓存] [-b 基地] [-d] [-p] 文件名
我们的 [-F fmt] [-F fmt] [-T 源缓存] [-p] [-Q] [-s] 文件名1 文件名2
兑换 [-C] [-p] [-Q] [-n] [-F fmt] [-t 缓存] [-T 源缓存] [-O 输出_fmt] [-要么
选项] [-S. 快照 ID 或名称] [-l 快照参数] [-S 稀疏大小] 文件名 [文件名2
[...] 输出文件名
info [-F fmt] [--输出=关闭] [--后备链] 文件名
地图 [-F fmt] [--输出=关闭] 文件名
快照 [-Q] [-l | -a 快照 | -c 快照 | -d 快照] 文件名
变基 [-Q] [-F fmt] [-t 缓存] [-T 源缓存] [-p] [-u] -b 备份文件 [-F 支持_fmt]
文件名
调整 [-Q] 文件名 [+ | -]尺寸
修改 [-p] [-Q] [-F fmt] [-t 缓存] -o 选项 文件名

命令参数:

文件名
是磁盘映像文件名

fmt 是磁盘映像格式。 在大多数情况下,它是自动猜测的。 请参阅下面的
支持的磁盘格式的描述。

--后备链
将枚举有关磁盘映像链中的后备文件的信息。 参考以下
进一步说明。

尺寸
是以字节为单位的磁盘映像大小。 可选后缀“k”或“K”(千字节,1024)“M”
支持(兆字节,1024k)和“G”(千兆字节,1024M)和 T(太字节,1024G)。
“b”被忽略。

输出文件名
是目标磁盘映像文件名

输出_fmt
是目标格式

选项
是名称=值格式的格式特定选项的逗号分隔列表。 使用“-o
?” 了解所用格式支持的选项的概述或查看格式
详细说明如下。

快照参数
用于内部快照的参数,格式为'snapshot.id=[ID],snapshot.name=[NAME]'
或“[ID_OR_NAME]”

快照 ID 或名称
已弃用,请改用 snapshot_param

-c 表示必须压缩目标图像(仅限 qcow 格式)

-h 有或没有命令显示帮助并列出支持的格式

-p 显示进度条(仅限比较、转换和变基命令)。 如果 -p 选项是
不用于支持它的命令,进程时报告进度
接收“SIGUSR1”信号。

-q 安静模式 - 不打印任何输出(错误除外)。 没有进度条以防万一
-q-p 选项被使用。

-S 尺寸
表示 qemu-img 必须只包含零的连续字节数
在转换期间创建稀疏图像。 该值四舍五入到最接近的 512
字节。 您可以使用常见的大小后缀,如“k”表示千字节。

-t 缓存
指定应与(目标)文件一起使用的缓存模式。 见
允许值的模拟器“-drive cache=...”选项的文档。

-T 源缓存
指定应与源文件一起使用的缓存模式。 见
允许值的模拟器“-drive cache=...”选项的文档。

快照子命令的参数:

快照
是要创建、应用或删除的快照的名称

-a 应用快照(将磁盘恢复到保存状态)

-c 创建快照

-d 删除快照

-l 列出给定图像中的所有快照

比较子命令的参数:

-f 第一种图像格式

-F 第二种图像格式

-s 严格模式 - 在不同的图像大小或扇区分配上失败

转换子命令的参数:

-n 跳过目标卷的创建

命令说明:

[-F fmt] [--输出=关闭] [-r [泄漏 | 全部]] [-T 源缓存] 文件名
对磁盘映像执行一致性检查 文件名. 该命令可以在
格式 关闭 这是“人类”或“json”。

如果指定了“-r”,qemu-img 会尝试修复在
查看。 “-r 泄漏”仅修复集群泄漏,而“-r 全部”修复所有类型的泄漏
错误,选择错误修复或隐藏损坏的风险更高
已经发生。

只有“qcow2”、“qed”和“vdi”格式支持一致性检查。

如果图像没有任何不一致,检查出口为 0。其他出口
代码指示发现的不一致类型或是否发生了另一个错误。 这
下表总结了 check 子命令的所有退出代码:

0 检查完成,图像(现在)一致

1 由于内部错误,检查未完成

2 检查完成,图像已损坏

3 检查完成,图像有泄漏簇,但未损坏

63 图像格式不支持支​​票

如果指定了“-r”,则表示图像状态的退出代码指的是之后的状态
(尝试)修复它。 也就是说,成功的“-r all”将产生退出代码
0,独立于之前的图像状态。

创建信息图 [-F fmt] [-要么 选项] 文件名 [尺寸]
创建新的磁盘映像 文件名 大小 尺寸 和格式 fmt. 根据文件
格式,您可以添加一个或多个 选项 启用此功能的附加功能
格式。

如果是选项 备份文件 指定,那么图像将只记录
备份文件. 在这种情况下不需要指定大小。
备份文件 除非您使用“commit”监视器命令(或
qemu-img 提交)。

也可以使用指定的大小 尺寸 带有“-o”的选项,它不需要是
在这种情况下单独指定。

承诺 [-Q] [-F fmt] [-t 缓存] [-b 基地] [-d] [-p] 文件名
提交记录的更改 文件名 在其基本映像或支持文件中。 如果
备份文件小于快照,则备份文件将被调整为
与快照大小相同。 如果快照小于备份文件,则
备份文件不会被截断。 如果您希望后备文件的大小与
较小的快照,您可以在提交操作后安全地自行截断它
成功完成。

图片 文件名 操作成功后清空。 如果你不需要
文件名 之后并打算丢弃它,您可以跳过清空 文件名 by
指定“-d”标志。

如果给定图像文件的后备链 文件名 有不止一层,
将提交更改的备份文件可以指定为 基地 (哪一个
必须是其中的一部分 文件名的后备链)。 如果 基地 未指定,立即
顶部图像的后备文件(即 文件名) 将会被使用。 出于以下原因
一致性,明确指定 基地 总是暗示“-d”(因为清空一个
提交到间接支持文件后的图像将导致不同的数据
由于中间支持链中的内容否决了从图像中读取
提交目标)。

我们的 [-F fmt] [-F fmt] [-T 源缓存] [-p] [-s] [-Q] 文件名1 文件名2
检查两个图像是否具有相同的内容。 您可以比较不同的图像
格式或设置。

除非您通过以下方式指定格式,否则会探测格式 -f (用于 文件名1)和/或 -F (用过的
文件名2) 选项。

默认情况下,如果较大的图像,具有不同大小的图像被认为是相同的
仅包含其他区域结束后未分配和/或归零的扇区
图片。 此外,如果任何扇区未在一个映像中分配并且仅包含零
在第二个字节中,它被评估为相等。 您可以通过以下方式使用严格模式
指定 -s 选项。 当比较在严格模式下运行时,它会失败,以防图像
大小不同或扇区在一个映像中分配而未在第二个映像中分配
一。

默认情况下, compare 会打印出结果消息。 此消息显示信息
两个图像相同或第一个不同字节的位置。 此外,
如果使用严格模式,结果消息可以报告不同的图像大小。

在图像相等的情况下将出口与 0 进行比较,在图像相同的情况下与 1 进行比较
不同。 其他退出代码表示执行期间发生错误和标准错误
输出应包含错误消息。 下表总结了所有退出代码
比较子命令的:

0 图像相同

1 图像不同

2 打开图片时出错

3 检查扇区分配时出错

4 读取数据时出错

兑换 [-C] [-p] [-n] [-F fmt] [-t 缓存] [-T 源缓存] [-O 输出_fmt] [-要么 选项] [-S.
快照 ID 或名称] [-l 快照参数] [-S 稀疏大小] 文件名 [文件名2 [...]
输出文件名
转换磁盘映像 文件名 或快照 快照参数(快照 ID 或名称 is
已弃用)到磁盘映像 输出文件名 使用格式 输出_fmt。 有可能
可选压缩(“-c”选项)或使用任何特定格式的选项,如加密
(“-o”选项)。

只有格式“qcow”和“qcow2”支持压缩。 压缩是只读的。
这意味着如果一个压缩扇区被重写,那么它被重写为
未压缩的数据。

当使用可增长的格式时,图像转换对于获得较小的图像也很有用,例如
作为“qcow”:从目标图像中检测并抑制空扇区。

稀疏大小 表示必须的连续字节数(默认为 4k)
qemu-img 仅包含零以在转换期间创建稀疏图像。 如果
稀疏大小 为 0,源将不会被扫描未分配或零扇区,并且
目标图像将始终完全分配。

您可以使用 备份文件 强制将输出图像创建为副本的选项
在指定基础镜像的写入镜像上; 这 备份文件 应该有相同的
content 作为输入的基本图像,但是路径、图像格式等可能不同。

如果指定了“-n”选项,将跳过目标卷创建。 这是
如果目标卷已经用
无法通过 qemu-img 提供的站点特定选项。

info [-F fmt] [--输出=关闭] [--后备链] 文件名
提供有关磁盘映像的信息 文件名. 特别是用它来知道尺寸
保留在磁盘上,可能与显示的大小不同。 如果虚拟机快照是
存储在磁盘映像中,它们也会显示出来。 该命令可以以格式输出
关闭 这是“人类”或“json”。

如果磁盘映像具有后备文件链,则有关该磁盘映像中的每个磁盘映像的信息
链可以通过使用选项“--backing-chain”递归枚举。

例如,如果你有一个像这样的图像链:

base.qcow2 <- snap1.qcow2 <- snap2.qcow2

要枚举有关上述链中每个磁盘映像的信息,从顶部开始
基地,做:

qemu-img 信息 --backing-chain snap2.qcow2

地图 [-F fmt] [--输出=关闭] 文件名
转储图像的元数据 文件名 及其后备文件链。 特别是,这
命令转储每个扇区的分配状态 文件名连同
在后备文件链中分配它的最顶层文件。

可能有两种选项格式。 默认格式(“human”)只转储已知的 -
文件的非零区域。 文件的已知零部分被完全省略,并且
对于未在整个链中分配的零件也是如此。 qemu-img 输出将
标识可以从中读取数据的文件,以及文件中的偏移量。 每个
line 将包括四个字段,其中前三个是十六进制数字。 为了
例如第一行:

映射到文件的偏移长度
0 0x20000 0x50000 /tmp/overlay.qcow2
0x100000 0x10000 0x95380000 /tmp/backing.qcow2

意味着在图像中从偏移量 0 开始的 20000x131072 (0) 个字节可用
/tmp/overlay.qcow2(以“原始”格式打开)从偏移量 0x50000 (327680) 开始。 数据
压缩、加密或以其他方式不以原始格式提供的文件将导致
如果使用“人类”格式,则会出错。 请注意,文件名可以包含换行符,因此它
在脚本中解析这种输出格式是不安全的。

替代格式“json”将返回 JSON 格式的字典数组。 它
将在“开始”、“长度”、“偏移”字段中包含类似的信息; 它会
还包括其他更具体的信息:

- 扇区是否包含实际数据(布尔字段“数据”;如果为假,
扇区要么未分配,要么存储为优化的全零簇);

- 数据是否已知读取为零(布尔字段“零”);

- 为了使输出更短,目标文件表示为“深度”;
例如,深度为 2 指的是后备文件的后备文件
文件名.

在 JSON 格式中,"offset" 字段是可选的; 在“人类”的情况下不存在
format 将省略输入或退出并出现错误。 如果“数据”为假并且
“偏移量”字段存在,文件中的相应扇区尚未使用,
但它们是预先分配的。

如需更多信息,请咨询 包括/块/块.h 在 QEMU 的源代码中。

快照 [-l | -a 快照 | -c 快照 | -d 快照 ] 文件名
列出、应用、创建或删除映像中的快照 文件名.

变基 [-F fmt] [-t 缓存] [-T 源缓存] [-p] [-u] -b 备份文件 [-F 支持_fmt]
文件名
更改图像的后备文件。 仅支持“qcow2”和“qed”格式
更改后备文件。

后备文件更改为 备份文件 和(如果图像格式为 文件名
支持这个)后备文件格式更改为 支持_fmt。 如果 备份文件 is
指定为“”(空字符串),然后图像重新基于无后备文件
(即它将独立于任何支持文件存在)。

缓存 指定要用于的缓存模式 文件名,而 源缓存 指定
读取备份文件的缓存模式。

“rebase”可以在两种不同的模式下运行:

安全 模式
这是默认模式并执行真正的变基操作。 新的后盾
文件可能与旧的不同,qemu-img rebase 将负责保持
访客可见的内容 文件名 不变。

为了实现这一点,任何不同的集群 备份文件
旧的备份文件 文件名 合并为 文件名 在实际更改之前
备份文件。

请注意,安全模式是一项昂贵的操作,可与转换
图片。 它仅在旧的后备文件仍然存在时才有效。

不安全 模式
如果指定了“-u”,qemu-img 使用不安全模式。 在这种模式下,只有背
文件名和格式 文件名 在没有对文件进行任何检查的情况下更改
内容。 用户必须注意指定正确的新后备文件,或
图像的访客可见内容将被破坏。

这种模式对于重命名或移动备份文件到其他地方很有用。 它
可以在没有可访问的旧支持文件的情况下使用,即您可以使用它来修复
其后备文件已被移动/重命名的图像。

您可以使用“rebase”在两个磁盘映像上执行“diff”操作。 这可以
当您复制或克隆了一个来宾,并且想要恢复到一个精简的状态时很有用
模板或基本图像顶部的图像。

假设“base.img”已通过复制被克隆为“modified.img”,并且
“ modified.img” 来宾已运行,因此与“base.img”相比,现在有一些更改。 到
构造一个仅包含差异的名为“diff.qcow2”的薄图像,请执行以下操作:

qemu-img 创建 -f qcow2 -b modified.img diff.qcow2
qemu-img rebase -b base.img diff.qcow2

此时,可以丢弃“modified.img”,因为“base.img + diff.qcow2”包含
相同的信息。

调整 文件名 [+ | -]尺寸
更改磁盘映像,就好像它是用创建的一样 尺寸.

在使用此命令缩小磁盘映像之前,您必须使用文件系统和
VM 内的分区工具以减少分配的文件系统和分区大小
因此。 否则将导致数据丢失!

使用此命令增长磁盘映像后,您必须使用文件系统和
虚拟机内的分区工具以实际开始使用设备上的新空间。

修改 [-p] [-F fmt] [-t 缓存] -o 选项 文件名
修改特定的图像格式 选项 对于图像文件 文件名. 不是所有文件
格式支持此操作。

附注


支持的图像文件格式:

原始磁盘映像格式(默认)。 这种格式的优点是简单易行
可轻松导出到所有其他模拟器。 如果您的文件系统支持 (用于
例如在 Linux 上的 ext2 或 ext3 或 Windows 上的 NTFS),那么只有写入的扇区
会预留空间。 使用“qemu-img info”了解图像使用的实际大小或“ls
-ls" 在 Unix/Linux 上。

支持的选项:

“预分配”
预分配模式(允许值:“off”、“falloc”、“full”)。 “法洛”模式
通过调用为图像预分配空间 posix_fallocate(). “完整”模式
通过向底层存储写入零来为图像预分配空间。

qcow2
QEMU 图像格式,最通用的格式。 使用它来获得较小的图像(如果
您的文件系统不支持漏洞,例如在 Windows 上),可选的 AES
加密、基于 zlib 的压缩和支持多个 VM 快照。

支持的选项:

“兼容”
确定要使用的 qcow2 版本。 "compat=0.10" 使用传统图像
从 0.10 开始,任何 QEMU 都可以读取的格式。 “compat=1.1”启用图像格式
只有 QEMU 1.1 和更新版本才能理解的扩展(这是默认设置)。 其中
其他,这包括零簇,这允许有效的读取时复制稀疏
图像。

“后备文件”
基本映像的文件名(请参阅 创建信息图 子命令)

“backing_fmt”
基础镜像的镜像格式

“加密”
如果此选项设置为“on”,则图像将使用 128 位 AES-CBC 加密。

在 qcow 和 qcow2 图像中使用加密被认为存在缺陷
现代密码学标准,存在许多设计问题:

——
在扇区号上。 这使它容易受到选择的明文攻击
这可以揭示加密数据的存在。

——
选择或较短的密码将危及加密的安全性。

——
更改密码以保护任何 qcow 图像中的数据。 这些文件必须是
克隆,在新文件中使用不同的加密密码。 原本的
然后必须使用像 shred 这样的程序安全地擦除文件,尽管即使这样
对许多现代存储技术无效。

因此强烈建议不要使用 qcow / qcow2 加密。 推荐用户
使用替代加密技术,例如 Linux dm-crypt / LUKS
系统。

“簇的大小”
更改 qcow2 集群大小(必须在 512 和 2M 之间)。 较小的集群规模
可以改善图像文件的大小,而较大的簇大小通常提供
更好的性能。

“预分配”
预分配模式(允许值:“off”、“metadata”、“falloc”、“full”)。 一个图像
预先分配的元数据最初较大,但可以提高性能
形象需要成长。 “falloc”和“full”预分配是一样的
“原始”格式的选项,但也设置元数据。

“lazy_refcounts”
如果此选项设置为“on”,则引用计数更新将随目标推迟
避免元数据 I/O 和提高性能。 这是特别
有趣的 缓存=直写 它不批量元数据更新。 这
权衡是在主机崩溃后,必须重建引用计数表,
即在下一次打开时需要(自动)“qemu-img check -r all”,其中
可能需要一些时间。

只有在指定“compat=1.1”时才能启用此选项。

“nocow”
如果此选项设置为“on”,它将关闭文件的 COW。 它只有效
在 btrfs 上,对其他文件系统没有影响。

Btrfs 在托管 VM 映像文件时性能低下,当来宾时性能更差
在 VM 上也使用 btrfs 作为文件系统。 关闭 COW 是一种缓解
这糟糕的表现。 通常有两种方法可以在 btrfs 上关闭 COW:a)
通过挂载 nodatacow 禁用它,然后所有新创建的文件都将是 NOCOW。
b) 对于空文件,添加 NOCOW 文件属性。 这就是这个选项的作用。

注意:此选项仅对新文件或空文件有效。 如果存在现有
文件是 COW 并且已经有数据块,它不能被更改为 NOCOW
设置“nocow=on”。 可以发出“lsattr 文件名”来检查 NOCOW 标志是否为
设置与否(大写“C”是 NOCOW 标志)。

其他
QEMU 还支持各种其他图像文件格式,以便与较旧的 QEMU 兼容
版本或其他管理程序,包括 VMDK、VDI、VHD (vpc)、VHDX、qcow1 和 QED。
有关受支持格式的完整列表,请参阅“qemu-img --help”。 如需更详细的
这些格式的描述,请参阅 QEMU 仿真用户文档。

这些格式的块驱动程序的主要目的是图像转换。 为了
运行虚拟机时,建议将磁盘映像转换为 raw 或 qcow2
以达到良好的性能。

使用 onworks.net 服务在线使用 qemu-img


免费服务器和工作站

下载 Windows 和 Linux 应用程序

Linux 命令

Ad