Hyper-V虚拟机直接安装黑群晖7.X

        一直以来,使用Hyper-V虚拟机安装黑群晖都是只能装DSM-5.2,想用DSM6.X和DSM7.X都需要在VMware虚拟机安装。最近看到已经有大佬使用Hyper-V虚拟机成功安装黑群晖DSM7.X了(必须要有扩展卡/阵列卡/HBA卡才能安装),故在此转载大佬的文章(原文地址是https://www.bilibili.com/read/cv35799854),感谢原作者!


部署环境说明

  • 操作系统:Windows Server 2022 Datacenter (20348.2527)
  • 主板:ASUS PRIME X570-PRO (BIOS 4802)
  • CPU:AMD Ryzen 5 5600X
  • HBA卡:LSI 2308 IT模式
  • 硬盘:1 x Crucial M500 240GB

read-normal-img

开始操作

一、前期准备

操作此教程需要特定的的软件环境和一些必要的硬件。

1.软件需求:

操作系统:

  • Windows 10/11 企业版多会话
  • Windows Server 2016 及以上

2.硬件需求:

  • 主板:必须支持VT-x/SVM/VT-d/IOMMU/SR-IOV 等支持PCIe直通的虚拟化技术
  • 一张独立的SATA扩展卡,或者SATA/SAS HBA直通卡(推荐使用LSI 2008/2308)
  • 至少一块给黑群晖专门使用的SATA/SAS硬盘,如需组建阵列请按阵列要求准备。

二、调试BIOS、安装部署操作系统和安装硬件

如果当前操作系统已经符合要求了,进行第1步和第3步即可,无需重装系统。

  1. 进入主板BIOS开启VT-x/SVM/VT-d/IOMMU/SR-IOV等虚拟化技术。
  2. 安装上面提到的,受支持的操作系统并打全驱动。这里简单说一下Windows 10/11 企业版多会话,这是一个支持部分Server功能特性的Client系统,日常使用上和普通Windows10/11没多少区别,如果你要在日常使用的电脑上进行此教程,推荐使用这个版本而不是Windows Server,但是需要注意平常使用某些软件时可能会把它识别成Server版本操作系统从而造成一些麻烦。
  3. 安装SATA扩展卡/HBA卡到主板上空余的插槽,然后把硬盘连接到SATA扩展卡/HBA卡。这里装完系统再安装SATA扩展卡/HBA卡和硬盘主要是防止Windows安装程序自动往群晖数据盘里塞进一些奇怪的文件。

三、Hyper-V前期调试

这一步简单说说,网上有很多相关教程就不再赘述了。

  1. 在 启用或关闭Windows功能(Windows 10/11 企业版多会话)或 添加角色和功能向导(Windows Server)中开启Hyper-V。
  2. 进入Hyper-V管理器,在 虚拟交换机管理器 新建虚拟交换机管理器,选择 外部网络 选择给黑群晖使用的网卡来创建虚拟网络交换机。

四、下载黑群晖RR引导

链接:https://rrorg.cn/download

下载最新版本的*.img.zip文件,比如rr-24.6.7.img.zip

五、把黑群晖RR引导转换成Hyper-V支持的格式

  1. 解压上一步下载好的*.img.zip文件,获得rr.img文件。这里拿rr-24.6.7.img.zip举例
  2. 下载并安装StarWind V2V Converter这个软件。链接:https://www.starwindsoftware.com/tmplink/starwindconverter.exe
  3. 运行StarWind V2V Converter,按以下步骤操作。

read-normal-img

①选择第二项 Local files,点Next。

read-normal-img

②选择刚才解压好的rr.img文件,点Next。

read-normal-img

③选择第一项 Local files,点Next。

read-normal-img

④选择第二项 VHD/VHDX,点Next。

read-normal-img

⑤选择第三项 VHDX growable image,不勾选Activate Windows Repair Mode,点Next。

read-normal-img

⑥检查无误后点击Convert。

read-normal-img

⑦显示这个窗口就是已经转换完成了,记住转换好的rr.vhdx的路径后面要用到,点击Finish退出软件。

六、创建Hyper-V虚拟机

  1. 运行Hyper-V 管理器,按以下步骤操作。

read-normal-img

①右上角点击操作——新建——虚拟机

read-normal-img

②开始页,直接点击下一步

read-normal-img

③自己给虚拟机起一个名字,这里我用 DSM 举例。下面路径是虚拟机的存储位置,默认是在C盘。只会用来存引导文件,不会占用多少空间。我这里根据个人习惯改到其他存储位置。记住这个路径,之后要用。设置好之后点击下一步。

read-normal-img

④选择 第二代 ,点击下一步。

read-normal-img

⑤设置给黑群晖使用多少内存,我这里设置8192MB即为8GB。如果宿主机内存比较少,设置4096MB也可以。注意不要勾选使用动态内存。设置好之后点击下一步。

read-normal-img

⑥这里选择你在之前创建的虚拟网卡。设置好之后点击下一步。

read-normal-img

⑦选择 以后附加虚拟硬盘。点击下一步。

read-normal-img

⑧完成页,若检查无误点击完成。

七、把刚才转换好的rr.vhdx引导文件复制到虚拟机存储位置

read-normal-img

八、配置Hyper-V虚拟机

read-normal-img

在 Hyper-V 管理器 右键刚才创建好的虚拟机,点击设置。按以下步骤操作。

read-normal-img

①在 安全——取消勾选 启用安全启动

read-normal-img

②在 处理器 按宿主机的配置分配黑群晖使用的CPU核心数量。我这里分配给4核。

read-normal-img

③在SCSI控制器 点击 硬盘驱动器——添加

read-normal-img

④点击 浏览——选择 rr.vhdx

read-normal-img

⑤在 检查点——取消勾选 启用检查点

read-normal-img

⑥在 自动停止操作——选择 关闭来宾操作系统,之后点击应用。

read-normal-img

⑦在 固件——点击 硬盘驱动器——点击 向上移动,移动到第一个。之后点击确定。

⑨、配置PCIe直通到虚拟机

read-normal-img

①打开 计算机管理——设备管理器——存储控制器,右键你的SATA扩展卡/HBA直通卡(我这里用的是LSI2308,这个设备名字按你自己安装的卡型号而定),先点击 禁用设备,在弹出对话框中确认禁用。再右键设备名,点击属性。

read-normal-img

②点击 详细信息 选项卡——下拉 属性 点击 位置路径。

read-normal-img

③新建一个文本文档 右键复制这个PCIROOT开头的字符串过去 留存备用。之后关闭属性,关闭设备管理器。

read-normal-img

④右键 开始按钮——点击 Windows Powershell(管理员)。进入Windows Powershell。

read-normal-img

read-normal-img

⑤在Windows Powershell窗口中依次输入以下命令,每输入一条按一次回车。把位置路径、虚拟机替换成你实际的名字,不要删除引号。不弹出红色字错误提示就是执行成功了。

Dismount-VMHostAssignableDevice -LocationPath "位置路径" -Force

Add-VMAssignableDevice -LocationPath "位置路径" -VMName "虚拟机名"

执行完这两条命令之后,如果没有任何红色字报错,关闭Windows Powershell。

如果出现报错,失败的可能性很多。可能是命令打错了,也可能是主板不支持等等原因。可以截图发到评论区里,也可以看看其他UP主做的关于Hyper-V直通的视频。

十、开启Hyper-V虚拟机,编译黑群晖RR引导

read-normal-img

①在 Hyper-V 管理器 右键虚拟机,点击启动。如果启动报错可能是设置直通失败了,可以把截图发到评论区。

read-normal-img

②虚拟机状态变成 正在运行 时,双击虚拟机名字,进入虚拟机控制台。记住红框里获取到的IP地址,打开你的浏览器进入 http://IP地址:7681 进行配置,也可以直接在虚拟机控制台里输入 menu.sh 回车 进行配置。

read-normal-img

read-normal-img

③首先用方向键选择Choose a language——zh_CN,把语言改成中文。

read-normal-img

read-normal-img

④在 主菜单 用方向键选择 型号——SA6400 确认。

read-normal-img

read-normal-img

⑤在 主菜单 用方向键选择 版本——7.2 确认。然后再按回车确认一次。

read-normal-img

read-normal-img

⑥在 主菜单 用方向键选择 内核official 回车 修改成 内核custom。

read-normal-img

这时如果我们再查看 模块 会发现多了很多Hyper-V的驱动,包括网卡驱动。

read-normal-img

read-normal-img

⑦在 主菜单 用方向键选择 高级设置——切换直接启动 修改成 true。

read-normal-img

⑧在 主菜单 用方向键选择 编译引导 回车 等待编译完成。

read-normal-img

⑨编译完成后会自动回到主菜单 用方向键选择 启动 回车 。之后虚拟机会自动重新启动。重启后虚拟机控制台是黑屏,这是正常的。

十一、进入黑群晖网页后台,安装DSM系统

read-normal-img

①用浏览器进入刚才记住的虚拟机IP地址,或者进路由器后台看一下虚拟机获取到的IP地址。进去之后点安装。

read-normal-img

②这一步自动下载或者本地上传都可以。

read-normal-img

read-normal-img

③如果硬盘是新盘,DSM安装程序会格式化硬盘后安装系统,输入产品型号 SA6400 点 删除以继续。

read-normal-img

④等待安装完成。

read-normal-img

⑤等待若干分钟后,删除地址栏后面的/web_index.html,回车刷新页面。安装系统第一次进入大概需要等待5分钟。

read-normal-img

⑥安装完成了!开始使用吧。之后创建存储池等等操作就不再赘述了。

十二、一些小贴士,进阶操作和尾语

  1. 如果你使用的硬盘之前在群晖里用过,应该是可以直接在安装DSM的页面进行迁移的。我本人就是之前在PVE中使用的虚拟918+群晖直接迁移过来的,中途没出现问题。但是我这边这个虚拟群晖只是用来做ABB的,里面也没有什么很重要的数据。如果你的数据比较重要,还是强烈建议迁移前进行备份。
  2. LSI 2308非常稳定,价格也便宜,缺点就是发热和功耗略大。建议你在使用时加个4cm的小风扇会凉快不少。
  3. 我本人测试在群晖里Hyper-V虚拟网卡是可以跑满2.5G的。如果你对虚拟群晖的网络有更高要求(比如万兆或以上),可以把网卡也直通进去。
  4. 其实不直通SATA控制器,只直通NVME硬盘也是可以用的,需要在RR引导主菜单—插件—添加nvmesystem插件。只不过我感觉这样成本略高,如果你不用存储大量数据,只玩套件的话,这样做也是可以的。(应该不会有人拿这个方案做全闪NAS吧)
  5. Hyper-V的GPU-P技术虚拟GPU也是可以用在Linux Guest的,不太清楚能否用在DSM里进行视频解码等用途,希望后续有大佬进行开发。
  6. 感谢@Ing304大佬开发如此好用的引导、@MoetaYuko大佬的SA6400定制内核,和@丢人是好事大佬公开此方法。让群晖5.2之后在Hyper-V上直装成为了可能。
  7. 本人第一次写这种教程,如果有哪里不足欢迎指出。如需转载请注明出处。
点赞
  1. Roasal说道:
    Google Chrome Windows 10
    现在是还没办法使用HyperV的虚拟硬盘吗?检测不到
    1. 博主说道:
      Google Chrome Windows 10
      HyperV的虚拟硬盘只能是IDE模式,但是群晖的硬盘又不支持这个模式,所以除了直通PCEI的SATA控制器,目前无解了!
      1. Roasal说道:
        Google Chrome Windows 10
        我之前是PVE装的群晖,迁移过来的,现在的情况是能用但是原本的那些套件都装在PVE的虚拟硬盘里,现在那个存储池就是丢失状态,请问到时候把虚拟硬盘的内容放到实际硬盘之后,还能恢复吗?大概是怎么操作?
        1. 博主说道:
          Google Chrome Windows 10
          hyper-v虚拟环境对群晖的兼容性不好,不建议使用。你这个PVE的虚拟盘无法挂到hyper-v给群晖使用。如果你要用虚拟机,建议用ESXI或者PVE吧。要不然你只能放弃数据了。
  2. iammyself说道:
    Google Chrome Android 10
    你好,请问2308直通后的硬盘,在黑群内是可以正常显示smart信息的吗,比如温度,累计运行时间之类的? 我用unraid,2308未直通之前是能正常显示这些信息的。直通给黑裙虚拟机之后,使用是正常的,但挂在2308下的硬盘信息不正常。同时直通的nvme硬盘信息是正常的。 感谢
    1. 博主说道:
      Google Chrome Windows 10
      DSM7下阵列卡的硬盘看到的都是随机信息,目前RR的作者也无法解决。
      1. iammyself说道:
        Google Chrome Windows 10
        感谢回复,那就再等等吧。
  3. ren者说道:
    Google Chrome Windows 10
    j3455这种 自带2个扩展sata口的 是不是直接就可以了
    1. 博主说道:
      Google Chrome Windows 10
      作者说了主板的SATA口不行,具体请自行测试哦。
    2. Roasal说道:
      Google Chrome Windows 10
      那两个Powershell命令第一个要求指定的设备在任务管理器中被禁用才行,不然会报错说正在使用,我这边板载的控制器就没法禁用,所以用不了,后面是在家里翻出来一张JMB58X的拓展卡来用的。

发表回复