跳到主要内容

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.

Prerequisites
  • 您的 Unraid 服务器应满足虚拟化的最低硬件要求(见下表)。
  • 源磁盘必须通过 SATA、USB 或作为未分配设备连接到您的 Unraid 服务器。
  • 确保您的 arraycache pool 有足够的可用空间来容纳新的虚拟磁盘映像。
  • 在开始转换或迁移过程之前,备份任何重要数据。

硬件要求

组件最低要求推荐以获得最佳性能
CPU启用硬件虚拟化的64位(Intel VT-X/AMD-V支持VT-d/AMD-Vi的多核CPU
内存8 GB16 GB或更多
存储SSD or NVMe cache pool with sufficient space用于 VM 存储的专用 NVMe cache pool
主板/BIOS启用了虚拟化的%%UEFIuefi%%

将物理磁盘转换为 VM

将现有的 Linux 或 Windows 系统迁移到 Unraid 服务器中的 虚拟机,可以节省硬件空间,保持旧系统运行或安全地测试新升级。

将物理磁盘转换为 VM

步骤1:准备物理磁盘


将物理磁盘迁移到 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).

Choosing 您的迁移方法

有两种常见方式可以将 Windows 安装迁移到 Unraid 中的 VM

物理磁盘直通: 这直接在 VM 中使用原始磁盘。

  • 优点:最快, 无需图像转换。
  • 缺点:占用 SATA 端口; Unraid 在连接到 VM 时无法将此磁盘用于其他用途。

磁盘映像转换: 将物理磁盘转换为 虚拟磁盘 映像(.img 格式)供 VM 使用。

  • 优点:更灵活,允许将磁盘用作 Unraid 共享或用于快照。
  • 缺点:需时,还需转换过程的可用空间。

如果您想进行简单的迁移或计划双启动磁盘,请选择直通。如果需要更好的便携性和备份选项,请选择镜像转换。

Prerequisites
  • 在开始之前备份您的 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。

Before 运行 sysprep
  • 暂时禁用任何杀毒软件。
  • 清理不必要的用户配置文件和临时文件。
  • 修复或删除可能阻止 sysprep 运行的任何问题 Microsoft Store 应用程序。
  1. 运行 sysprep:

    • 以管理员身份打开命令提示符。

    • 导航到 sysprep 目录:

      cd C:\Windows\System32\Sysprep
    • 执行 sysprep 进行常规化:

      sysprep.exe /generalize /shutdown /oobe
    • 系统将常规化安装,然后关机。

  2. 在关机后将磁盘安装到您的 Unraid 服务器中。

选项 B: Acronis True Image 2025(商用)

Acronis True Image 2025 带有通用恢复功能,可协助硬件迁移。

  1. 下载并安装 Acronis True Image 2025
  2. 使用附带工具创建可启动恢复媒体:
    • 选择类似 Windows 的界面。
    • 选择与您的 Windows(32 位或 64 位)匹配的体系结构。
  3. 从 Acronis 恢复媒体启动您的 Windows 系统。
  4. 按照屏幕说明将Universal Restore应用到您的Windows磁盘上。这将更新驱动程序和HAL,以便更好地兼容虚拟化硬件。
  5. 关闭系统并将磁盘安装到您的 Unraid 服务器中。

步骤 2: 在 Unraid 中识别物理磁盘

  1. 登录 WebGUI (http://towerhttp://tower.local)。
  2. 进入主界面选项卡。
  3. 启动 array 如果尚未运行。
  4. 在未分配设备中找到您的磁盘。
  5. 注意设备字母(例如,sdbsdc),以在 VM 配置中使用。

步骤 3: 创建新的虚拟机

  1. 转到WebGUI中的**VMs**选项卡。如果缺少该选项卡,请确保启用虚拟化并满足硬件要求。
  2. 点击添加 VM
  3. 遵循创建您自己的虚拟机指南,使用以下设置:
    • 设置 BIOSSeaBIOS(如果 SeaBIOS 启动失败,请尝试 OVMF)。
    • 保持 OS 安装 ISO 为空。
    • 指定 VirtIO 驱动 ISO 以优化启动后的性能。
    • 对于主 virtual disk ,选择任意位置和大小(将在下一步中替换)。
    • 取消选中 创建后启动 VM

步骤 4:编辑虚拟机的 XML

您需要修改 VM 的 XML 配置,以连接您的物理磁盘到 virtual machine

  1. VMs 标签页中,点击 VM 图标,然后从上下文菜单中选择 Edit XML

  2. 向下滚动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 以确保即使在重启或硬件更换后磁盘分配保持一致。

  3. 点击 Update 保存您的 XML 更改。

步骤 5:安装驱动程序

  1. 启动您的 VM
  2. 进入 Windows 后,右键单击开始菜单,选择 设备管理器 以打开它。
  3. 查找带有黄色感叹号标记(表示缺少驱动程序)的设备。右键单击每个并选择更新驱动程序
  4. 选择 在我的计算机上浏览驱动程序
  5. 指向挂载 VirtIO 驱动 ISO 的驱动器(通常为 D: 或 E:)。
  6. 确保 包括子文件夹 被勾选,然后点击 下一步
  7. 对于缺少驱动器的设备重复此过程,通常包括:SCSI控制器、以太网、Balloon 和串行设备。

如果您使用安装自己驱动程序的软件(例如杀毒程序),请记住在迁移后重新安装这些应用程序。

提示

如果您停留在SeaBIOS并显示"从硬盘启动"的消息,这可能是因为您的Windows操作系统使用了UEFI而不是传统BIOS进行安装。在这种情况下,应使用OVMF而不是SeaBIOS作为BIOS类型重新创建VM。大多数现代Windows系统(Windows 8.1、10 和 11)支持UEFI,可能需要OVMF才能成功启动。其余的转换过程保持不变。


从 Xen 到 KVM 的迁移

Historical 上下文

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, Xen was historically used for virtual machines, but KVM is now the standard. Migrating from Xen to KVM is essential for utilizing modern Unraid features, enabling hardware passthrough, and ensuring compatibility with current releases.

VMXen迁移到KVM的过程根据VM是否设置为半虚拟化(PV)或硬件虚拟化(HVM)客户机而有所不同。本指南专门针对使用Xen的GPLPV驱动程序的Windows VM进行转换,因为它们需要特殊处理。

在开始此过程之前,请始终备份您的Xen虚拟磁盘。并在备份上测试您的迁移以防止数据丢失。

Why 迁移?

Unraid no longer supports Xen from version 6.2 onward. KVM is now mandatory for VM management, hardware passthrough, and ongoing updates. Migrating ensures your VMs remain secure and compatible with new features.

Windows 转换步骤

要将Windows VMXen转换为KVM,请按以下步骤操作。记住在开始前,从您的Xen域配置中移除任何PCI设备直通。这些设备可以在迁移完成后放回。

步骤1:确定您的虚拟机是否使用Xen的GPLPV驱动程序 - 点这里展开/折叠
  1. 在您的 Xen VM 内,打开 Windows 设备管理器 (按 Windows 键 + X,然后选择 设备管理器)。
  2. 展开 网络适配器 并检查设备名称。
    • 如果名称包含 “Xen”,您正在使用 GPLPV 驱动程序。
    • 如果不是,请跳转到关于重启至 KVM 模式的步骤。
提示

如果您没有使用GPLPV驱动程序,可以跳过接下来的几个步骤,并从重启进入KVM模式部分继续。

步骤2:准备Windows以删除GPLPV驱动程序 - 点这里展开/折叠
  1. 以管理员身份打开命令提示符(开始菜单 → 输入 cmd → 右键单击 命令提示符 → 选择 以管理员身份运行)。
  2. 输入以下命令:
    bcdedit -set loadoptions nogplpv
  3. 重启您的 VM。
步骤3:卸载GPLPV驱动程序 - 点这里展开/折叠

重启后,使用综合的手动移除过程从系统中清除所有Xen GPLPV驱动程序,参考Xen项目Wiki上的文档。

注意

杂项清除需要广泛的注册表编辑和手动文件删除。请严格按照Xen项目Wiki说明操作,否则错误可能导致系统不稳定或启动失败。

步骤四:创建新的KVM虚拟机 - 点击展开/折叠
  1. 确保启用了 VM 管理器

    • 前往 设置 → VM 管理器
    • 设置 启用 VM
    • 通过从下拉菜单中选择最新 Windows VirtIO 驱动程序 ISO,下载并点击 下载
  2. 导航至 VMs 标签并点击 添加 VM

  3. 选择与您的原始 Xen 虚拟机匹配的 Windows 版本。

  4. 配置基本设置:

    • 名称:为您的 VM 指定一个描述性的名称。
    • VirtIO 驱动程序 ISO:选择您刚刚下载的版本。
  5. 主 vDisk 位置下:

    • 浏览并选择您现有的 Xen 虚拟磁盘。
  6. 添加一个 临时第二 vDisk

    • 点击绿色加号。
    • 将大小设置为 1M (这将在首次启动时强制 IDE 总线兼容性)。
    • 为位置选择任意临时目录(稍后将移除)。
  7. 其余的图形和声音设置保持默认值,然后点击 创建

  8. 立即强行停止 VM:

    • 点击 VM 图标并选择 强制停止
  9. 编辑 VM 配置:

    • 点击 VM 图标并选择 编辑
    • 使用右上角的切换按钮切换至 XML 视图
  10. 修改主要磁盘 XML:

    • 找到您的主要虚拟磁盘的 <disk> 部分。
    • 移除整个 <address> 行。
    • <target> 标签中将 bus='virtio' 修改为 bus='ide'
    • 点击 Update
为什么使用临时磁盘?

The 1MB temporary disk forces Unraid to assign the primary disk as hda (IDE) instead of vda (VirtIO), allowing Windows to boot without VirtIO drivers initially. This temporary disk will be removed after the driver installation.

步骤5:安装VirtIO驱动程序 - 点击以展开/折叠
  1. VMs 标签启动 VM。
  2. 通过点击 VM 图标连接 VNC 并选择 使用控制台 (VNC) 启动
  3. 在启动过程中:
    • Windows 将检测到新硬件但可能无法安装驱动程序。
    • 在提示时选择“以后再重启”。
  4. 打开 设备管理器(按 Win+X 并选择设备管理器):
    • 其他设备 下列出的每个设备安装驱动程序(例如以太网控制器、PCI设备等):
      1. 右键点击设备并选择 更新驱动程序
      2. 选择 在我的计算机上浏览驱动程序
      3. 定位到 VirtIO ISO 驱动(例如,'D:')。
      4. 选择 包含子文件夹
      5. 若有提示,接受 始终信任 Red Hat
  5. 安装 QEMU guest agent
    • 打开文件资源管理器并导航到 D:\guest-agent\
    • 双击 qemu-ga-x64.msi
  6. 关闭 VM。
步骤六:完成虚拟机配置 - 点击展开/折叠
  1. 编辑 VM:
    • 通过点击红色减号图标移除临时的第二个 vDisk
    • 确认主要的 vDisk 指向您的原始 Xen 磁盘。
  2. 更新 VM:
    • 点击 Update 保存更改。
  3. 正常启动 VM。
  4. 设备管理器 中验证:
    • 不会出现警告图标。
    • 所有设备都使用 VirtIO 驱动程序(例如,“Red Hat VirtIO 以太网适配器”)。
  5. (可选)启用 VirtIO 以获得更好的性能:
    • 编辑 VM 并切换到 XML 视图。
    • 将主磁盘的 buside 改为 virtio
    • 点击 Update 并重启 VM。
驱动程序故障排除

如果迁移后注意到设备上的错误:

  1. 从 ISO 重新安装 VirtIO 驱动程序。
  2. 检查 Windows 更新,可能会提供更新的驱动程序。
  3. 访问 Red Hat VirtIO 驱动程序 页面,获取最新版本。