一直以来,使用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
开始操作
一、前期准备
操作此教程需要特定的的软件环境和一些必要的硬件。
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步即可,无需重装系统。
- 进入主板BIOS开启VT-x/SVM/VT-d/IOMMU/SR-IOV等虚拟化技术。
- 安装上面提到的,受支持的操作系统并打全驱动。这里简单说一下Windows 10/11 企业版多会话,这是一个支持部分Server功能特性的Client系统,日常使用上和普通Windows10/11没多少区别,如果你要在日常使用的电脑上进行此教程,推荐使用这个版本而不是Windows Server,但是需要注意平常使用某些软件时可能会把它识别成Server版本操作系统从而造成一些麻烦。
- 安装SATA扩展卡/HBA卡到主板上空余的插槽,然后把硬盘连接到SATA扩展卡/HBA卡。这里装完系统再安装SATA扩展卡/HBA卡和硬盘主要是防止Windows安装程序自动往群晖数据盘里塞进一些奇怪的文件。
三、Hyper-V前期调试
这一步简单说说,网上有很多相关教程就不再赘述了。
- 在 启用或关闭Windows功能(Windows 10/11 企业版多会话)或 添加角色和功能向导(Windows Server)中开启Hyper-V。
- 进入Hyper-V管理器,在 虚拟交换机管理器 新建虚拟交换机管理器,选择 外部网络 选择给黑群晖使用的网卡来创建虚拟网络交换机。
四、下载黑群晖RR引导
链接:https://rrorg.cn/download
下载最新版本的*.img.zip文件,比如rr-24.6.7.img.zip
五、把黑群晖RR引导转换成Hyper-V支持的格式
- 解压上一步下载好的*.img.zip文件,获得rr.img文件。这里拿rr-24.6.7.img.zip举例。
- 下载并安装StarWind V2V Converter这个软件。链接:https://www.starwindsoftware.com/tmplink/starwindconverter.exe
- 运行StarWind V2V Converter,按以下步骤操作。
①选择第二项 Local files,点Next。
②选择刚才解压好的rr.img文件,点Next。
③选择第一项 Local files,点Next。
④选择第二项 VHD/VHDX,点Next。
⑤选择第三项 VHDX growable image,不勾选Activate Windows Repair Mode,点Next。
⑥检查无误后点击Convert。
⑦显示这个窗口就是已经转换完成了,记住转换好的rr.vhdx的路径后面要用到,点击Finish退出软件。
六、创建Hyper-V虚拟机
- 运行Hyper-V 管理器,按以下步骤操作。
①右上角点击操作——新建——虚拟机
②开始页,直接点击下一步
③自己给虚拟机起一个名字,这里我用 DSM 举例。下面路径是虚拟机的存储位置,默认是在C盘。只会用来存引导文件,不会占用多少空间。我这里根据个人习惯改到其他存储位置。记住这个路径,之后要用。设置好之后点击下一步。
④选择 第二代 ,点击下一步。
⑤设置给黑群晖使用多少内存,我这里设置8192MB即为8GB。如果宿主机内存比较少,设置4096MB也可以。注意不要勾选使用动态内存。设置好之后点击下一步。
⑥这里选择你在之前创建的虚拟网卡。设置好之后点击下一步。
⑦选择 以后附加虚拟硬盘。点击下一步。
⑧完成页,若检查无误点击完成。
七、把刚才转换好的rr.vhdx引导文件复制到虚拟机存储位置
八、配置Hyper-V虚拟机
在 Hyper-V 管理器 右键刚才创建好的虚拟机,点击设置。按以下步骤操作。
①在 安全——取消勾选 启用安全启动
②在 处理器 按宿主机的配置分配黑群晖使用的CPU核心数量。我这里分配给4核。
③在SCSI控制器 点击 硬盘驱动器——添加
④点击 浏览——选择 rr.vhdx
⑤在 检查点——取消勾选 启用检查点
⑥在 自动停止操作——选择 关闭来宾操作系统,之后点击应用。
⑦在 固件——点击 硬盘驱动器——点击 向上移动,移动到第一个。之后点击确定。
⑨、配置PCIe直通到虚拟机
①打开 计算机管理——设备管理器——存储控制器,右键你的SATA扩展卡/HBA直通卡(我这里用的是LSI2308,这个设备名字按你自己安装的卡型号而定),先点击 禁用设备,在弹出对话框中确认禁用。再右键设备名,点击属性。
②点击 详细信息 选项卡——下拉 属性 点击 位置路径。
③新建一个文本文档 右键复制这个PCIROOT开头的字符串过去 留存备用。之后关闭属性,关闭设备管理器。
④右键 开始按钮——点击 Windows Powershell(管理员)。进入Windows Powershell。
⑤在Windows Powershell窗口中依次输入以下命令,每输入一条按一次回车。把位置路径、虚拟机替换成你实际的名字,不要删除引号。不弹出红色字错误提示就是执行成功了。
Dismount-VMHostAssignableDevice -LocationPath "位置路径" -Force
Add-VMAssignableDevice -LocationPath "位置路径" -VMName "虚拟机名"
执行完这两条命令之后,如果没有任何红色字报错,关闭Windows Powershell。
如果出现报错,失败的可能性很多。可能是命令打错了,也可能是主板不支持等等原因。可以截图发到评论区里,也可以看看其他UP主做的关于Hyper-V直通的视频。
十、开启Hyper-V虚拟机,编译黑群晖RR引导
①在 Hyper-V 管理器 右键虚拟机,点击启动。如果启动报错可能是设置直通失败了,可以把截图发到评论区。
②虚拟机状态变成 正在运行 时,双击虚拟机名字,进入虚拟机控制台。记住红框里获取到的IP地址,打开你的浏览器进入 http://IP地址:7681 进行配置,也可以直接在虚拟机控制台里输入 menu.sh 回车 进行配置。
③首先用方向键选择Choose a language——zh_CN,把语言改成中文。
④在 主菜单 用方向键选择 型号——SA6400 确认。
⑤在 主菜单 用方向键选择 版本——7.2 确认。然后再按回车确认一次。
⑥在 主菜单 用方向键选择 内核official 回车 修改成 内核custom。
这时如果我们再查看 模块 会发现多了很多Hyper-V的驱动,包括网卡驱动。
⑦在 主菜单 用方向键选择 高级设置——切换直接启动 修改成 true。
⑧在 主菜单 用方向键选择 编译引导 回车 等待编译完成。
⑨编译完成后会自动回到主菜单 用方向键选择 启动 回车 。之后虚拟机会自动重新启动。重启后虚拟机控制台是黑屏,这是正常的。
十一、进入黑群晖网页后台,安装DSM系统
①用浏览器进入刚才记住的虚拟机IP地址,或者进路由器后台看一下虚拟机获取到的IP地址。进去之后点安装。
②这一步自动下载或者本地上传都可以。
③如果硬盘是新盘,DSM安装程序会格式化硬盘后安装系统,输入产品型号 SA6400 点 删除以继续。
④等待安装完成。
⑤等待若干分钟后,删除地址栏后面的/web_index.html,回车刷新页面。安装系统第一次进入大概需要等待5分钟。
⑥安装完成了!开始使用吧。之后创建存储池等等操作就不再赘述了。
十二、一些小贴士,进阶操作和尾语
- 如果你使用的硬盘之前在群晖里用过,应该是可以直接在安装DSM的页面进行迁移的。我本人就是之前在PVE中使用的虚拟918+群晖直接迁移过来的,中途没出现问题。但是我这边这个虚拟群晖只是用来做ABB的,里面也没有什么很重要的数据。如果你的数据比较重要,还是强烈建议迁移前进行备份。
- LSI 2308非常稳定,价格也便宜,缺点就是发热和功耗略大。建议你在使用时加个4cm的小风扇会凉快不少。
- 我本人测试在群晖里Hyper-V虚拟网卡是可以跑满2.5G的。如果你对虚拟群晖的网络有更高要求(比如万兆或以上),可以把网卡也直通进去。
- 其实不直通SATA控制器,只直通NVME硬盘也是可以用的,需要在RR引导主菜单—插件—添加nvmesystem插件。只不过我感觉这样成本略高,如果你不用存储大量数据,只玩套件的话,这样做也是可以的。(应该不会有人拿这个方案做全闪NAS吧)
- Hyper-V的GPU-P技术虚拟GPU也是可以用在Linux Guest的,不太清楚能否用在DSM里进行视频解码等用途,希望后续有大佬进行开发。
- 感谢@Ing304大佬开发如此好用的引导、@MoetaYuko大佬的SA6400定制内核,和@丢人是好事大佬公开此方法。让群晖5.2之后在Hyper-V上直装成为了可能。
- 本人第一次写这种教程,如果有哪里不足欢迎指出。如需转载请注明出处。