VM 转换与迁移
When consolidating hardware, preserving legacy systems, or testing upgrades in a virtual environment, you may need to convert a physical disk or migrate an existing system into a virtual machine on Unraid. This process applies to both Linux and Windows systems, enabling you to run your installation as a VM within your Unraid server.
- 您的 Unraid 服务器应满足虚拟化的最低硬件要求(见下表)。
- 源磁盘必须通过 SATA、USB 或作为未分配设备连接到您的 Unraid 服务器。
- 确保您的 array 或 cache pool 有足够的可用空间来容纳新的虚拟磁盘映像。
- 在开始转换或迁移过程之前,备份任何重要数据。
硬件要求
组件 | 最低要求 | 推荐以获得最佳性能 |
---|---|---|
CPU | 启用硬件虚拟化的64位(Intel VT-X/AMD-V) | 支持VT-d/AMD-Vi的多核CPU |
内存 | 8 GB | 16 GB或更多 |
存储 | SSD or NVMe cache pool with sufficient space | 用于 VM 存储的专用 NVMe cache pool |
主板/BIOS | 启用了虚拟化的%%UEFI | uefi%% |
将物理磁盘转换为 VM
将现有的 Linux 或 Windows 系统迁移到 Unraid 服务器中的 虚拟机,可以节省硬件空间,保持旧系统运行或安全地测试新升级。
将物理磁盘转换为 VM:
- Linux
- Windows
步骤1:准备物理磁盘
步骤1:编辑虚拟机的XML
将物理磁盘迁移到 VM
You can run a Windows installation directly from a physical disk in an Unraid virtual machine (VM). This method helps migrate an existing Windows system without converting it to a virtual disk image. For a visual walkthrough, check out Spaceinvader One’s tutorial:
How to pass through hard drives, convert disks, and test performance in Unraid VMs (YouTube).
- 在开始之前备份您的 Windows 安装。
- 准备好 空闲的 USB 闪存驱动器以进行恢复工具。
- 选择一个硬件准备工具,以通过修改驱动程序和硬件抽象层(HAL)来启用在虚拟化硬件上的 Windows 启动:
- Microsoft Sysprep(免费并内置于 Windows 8.1 及更高版本)
- Acronis True Image 2025(具有高级迁移功能的商用解决方案)
- 确保您的 Unraid 服务器有一个空闲的 SATA 或 NVMe 端口用于物理磁盘。
步骤 1: 准备 Windows 磁盘以进行迁移
将Windows系统转移到新硬件上,无论是物理还是虚拟的,可能会因硬件差异导致启动失败。请使用下面的方法之一来准备您的Windows系统:
选项 A: Microsoft Sysprep(推荐 - 免费)
Sysprep 内置于 Windows 中,消除了独特的系统信息,准备在不同硬件上使用 Windows。
- 暂时禁用任何杀毒软件。
- 清理不必要的用户配置文件和临时文件。
- 修复或删除可能阻止 sysprep 运行的任何问题 Microsoft Store 应用程序。
-
运行 sysprep:
-
以管理员身份打开命令提示符。
-
导航到 sysprep 目录:
cd C:\Windows\System32\Sysprep
-
执行 sysprep 进行常规化:
sysprep.exe /generalize /shutdown /oobe
-
系统将常规化安装,然后关机。
-
-
在关机后将磁盘安装到您的 Unraid 服务器中。
选项 B: Acronis True Image 2025(商用)
Acronis True Image 2025 带有通用恢复功能,可协助硬件迁移。
- 下载并安装 Acronis True Image 2025。
- 使用附带工具创建可启动恢复媒体:
- 选择类似 Windows 的界面。
- 选择与您的 Windows(32 位或 64 位)匹配的体系结构。
- 从 Acronis 恢复媒体启动您的 Windows 系统。
- 按照屏幕说明将Universal Restore应用到您的Windows磁盘上。这将更新驱动程序和HAL,以便更好地兼容虚拟化硬件。
- 关闭系统并将磁盘安装到您的 Unraid 服务器中。
步骤 2: 在 Unraid 中识别物理磁盘
- 登录 WebGUI (
http://tower
或http://tower.local
)。 - 进入主界面选项卡。
- 启动 array 如果尚未运行。
- 在未分配设备中找到您的磁盘。
- 注意设备字母(例如,
sdb
、sdc
),以在 VM 配置中使用。
步骤 3: 创建新的虚拟机
- 转到WebGUI中的**VMs**选项卡。如果缺少该选项卡,请确保启用虚拟化并满足硬件要求。
- 点击添加 VM。
- 遵循创建您自己的虚拟机指南,使用以下设置:
- 设置 BIOS 为 SeaBIOS(如果 SeaBIOS 启动失败,请尝试 OVMF)。
- 保持 OS 安装 ISO 为空。
- 指定 VirtIO 驱动 ISO 以优化启动后的性能。
- 对于主 virtual disk ,选择任意位置和大小(将在下一步中替换)。
- 取消选中 创建后启动 VM。
步骤 4:编辑虚拟机的 XML
您需要修改 VM 的 XML 配置,以连接您的物理磁盘到 virtual machine。
-
从 VMs 标签页中,点击 VM 图标,然后从上下文菜单中选择 Edit XML。
-
向下滚动XML,找到用于主虚拟磁盘的现有
<disk>
条目。通常指向.img
文件,看起来像这样:
<disk type='file' device='disk'>
<driver name='qemu' type='raw' cache='writeback'/>
<source file='/mnt/cache/vdisk_share/vmname/vdisk1.img'/>
<backingStore/>
<target dev='hda' bus='virtio'/>
<boot order='1'/>
<alias name='virtio-disk0'/>
<address type='pci' domain='0x0000' bus='0x00' slot='0x05' function='0x0'/>
</disk>将此块替换为以下内容,其中
sdX
为设备字母,或者更好的使用/dev/disk/by-id/[your-disk-id]
以便更可靠的设备分配(参考 [Unraid Docs:在 VM 中使用物理磁盘]):
<disk type='block' device='disk'>
<driver name='qemu' type='raw' cache='writeback'/>
<source dev='/dev/disk/by-id/[your-disk-id]'/>
<target dev='hdd' bus='sata'/>
</disk>如果您的磁盘是 IDE,将总线从 "SATA" 更改为 "IDE"。
使用
/dev/disk/by-id/
优于/dev/sdX
以确保即使在重启或硬件更换后磁盘分配保持一致。 -
点击 Update 保存您的 XML 更改。
步骤 5:安装驱动程序
- 启动您的 VM。
- 进入 Windows 后,右键单击开始菜单,选择 设备管理器 以打开它。
- 查找带有黄色感叹号标记(表示缺少驱动程序)的设备。右键单击每个并选择更新驱动程序。
- 选择 在我的计算机上浏览驱动程序。
- 指向挂载 VirtIO 驱动 ISO 的驱动器(通常为 D: 或 E:)。
- 确保 包括子文件夹 被勾选,然后点击 下一步。
- 对于缺少驱动器的设备重复此过程,通常包括:SCSI控制器、以太网、Balloon 和串行设备。
如果您使用安装自己驱动程序的软件(例如杀毒程序),请记住在迁移后重新安装这些应用程序。
从 Xen 到 KVM 的迁移
Unraid supported Xen from early 6.x versions until it was deprecated in 6.2 (September 2016) and later removed entirely. This migration guide is relevant for users upgrading from very old Unraid installations (pre-2017) to modern versions.
A Xen hypervisor is a virtualization platform that allows multiple operating systems to run on the same hardware. In Unraid,