我需要拍摄 Ubuntu 12.04 物理机的映像并将其保存在硬盘中。我下载了 VMWare Converter Standalone,我发现的唯一 tar.gz 版本是版本 4。所有较新的版本都仅以 .exe 形式提供。无论如何,我按照说明进行操作,但在此步骤中:
这这台本地机器选项已禁用。我继续使用第二个选项,写入本地计算机的 IP 地址,然后在下一步中,我无法指定硬盘作为目标:
尽管我可以在 Windows 上正常执行此操作:
任何想法?
更新
我想拍摄 Ubuntu 桌面的图像并将其存储到安装在上的外部硬盘(1 TB)中,/media/hdd
稍后我想使用 VMplayer 或任何类似工具安装此图像。
lsblk
df -h | frep /dev/
转储:这是编写命令的正确方法吗?
sudo dd if=/dev/sda of=/media/hdd bs=1M
输出文件是什么?它在 VMplayer 上运行吗?我希望了解更多有关步骤的详细信息。
答案1
由于 exe 版本是在 wine 中运行的,因此我不指望它能像你期望的那样工作。
您绝对应该在 PC 中安装第二张磁盘,并且应该启动实时或备份系统,以便从系统创建映像。启动实时系统绝不会对您当前的操作系统造成危险。
最直接的方法是这个。它不会给你带来任何与软件相关的问题:
使用dd
(磁盘转储)从磁盘创建映像,例如:
sudo dd if=/dev/sda of=/media/hdd/disk.img bs=1M
(if
是输入文件,of
是输出文件,bs
是块大小,1M
将加快传输速度。)
之后使用以下命令转换图像qemu-img
:
qemu-img convert -f raw -O vmdk /media/hdd/disk.img /media/hdd/disk.vmdk
就是这样。
/media/hdd/disk.img
一旦你的 VMWare 运行正常,你就可以删除。
请注意,您暂时需要两倍磁盘空间源磁盘的大小,这意味着如果没有第二个硬盘,您将无法转储系统。
小心dd
,如果你输出到磁盘(of=/dev/...
)而不是文件,你将破坏该磁盘上的数据。除此之外,它是完全安全的。我没有备份就这样做了一千次;)
之后,您可以简单地创建一个具有与真实系统类似规格的新虚拟机。然后,不要创建新磁盘,而是选择我们使用创建的磁盘qemu-img
。
另一个想法:也许你可以直接从磁盘转换
sudo qemu-img convert -f raw -O vmdk /dev/sda /media/hdd/disk.vmdk
但我还没有尝试过。这将使这个过程加快 90%
注意:您应该启动实时 CD 来执行 DD,否则 disk.img 上的某些数据可能会损坏。这应该不是问题,因为大多数修改的数据(日志、临时数据)对系统来说并不重要。但例如数据库将被破坏(理论上)。
如果您无法启动 Live CD,请尽可能少地使用进程运行系统。通常,您可以在 Linux 中通过调用 来实现这一点sudo init 1
。这将关闭您的 GUI 会话并带您进入文本模式登录。