![使用 qemu-kvm 以最少的开销让虚拟机访问整个磁盘](https://linux22.com/image/689162/%E4%BD%BF%E7%94%A8%20qemu-kvm%20%E4%BB%A5%E6%9C%80%E5%B0%91%E7%9A%84%E5%BC%80%E9%94%80%E8%AE%A9%E8%99%9A%E6%8B%9F%E6%9C%BA%E8%AE%BF%E9%97%AE%E6%95%B4%E4%B8%AA%E7%A3%81%E7%9B%98.png)
我正在将 Windows 10 安装从专用硬件移至 KVM VM。磁盘 (SSD) 正在从当前计算机物理移动到 VM 主机。有没有办法将整个现有磁盘原封不动地传递给 VM?
对我来说,简单的选项是将 Win10 磁盘 dd 到 img 文件中,然后将其转换为 qcow2,我可以将其移动到原始 SSD,然后连接到新 VM。但如果我能够将整个磁盘的控制权交给 VM(然后告诉主机永远不要碰它,理想情况下),主机 CPU 开销似乎会更少。
(此外,使用 virt-manager 的解决方案也不错 - 看起来它可能在添加硬件 - >存储中实现,但 UI 中没有足够的指导让我确定。)
我发现这篇 RedHat 文章看起来它可能有一个或两个解决方案,但是我对 Linux 上的命令行虚拟化的了解仍然不够,所以我不确定。
主板和 CPU 都支持 IOMMU,但我有点怀疑这是否有帮助。
答案1
是的,你可以这样做。在停用旧系统之前安装 virtio 驱动程序。然后,你所要做的就是将 VM 配置为使用现有的块设备而不是虚拟磁盘。你必须重新授权 Windows 10。
这非常简单,如果我没记错的话,这一切都可以通过 virtmanager 完成。