一直在尝试在此下午测试Hyper-v 2016,但是我无法使R630从我使用以下说明配置的USB引导https://technet.microsoft.com/library/ee731893(ws.10).aspx
我在Hyper-v 2012 R2上使用了完全相同的指南,没有任何问题。
有人有运气吗?
一直在尝试在此下午测试Hyper-v 2016,但是我无法使R630从我使用以下说明配置的USB引导https://technet.microsoft.com/library/ee731893(ws.10).aspx
我在Hyper-v 2012 R2上使用了完全相同的指南,没有任何问题。
有人有运气吗?
Answers:
我找到了有关将Windows Server 2016 TP3部署到SD卡上的信息。
https://www.danielstechblog.info/how-to-deploy-windows-server-2016-tp3-onto-an-sd-card/
本主题描述了在SD卡上部署Windows Server,但它是TP3。我想您可以使用发行版执行相同的操作。
另外,您可以考虑SATA DOM。
https://www.supermicro.com/products/nfo/SATADOM.cfm
它是您的便宜选择和小尺寸选择。您可以在上面部署任何操作系统。所以这也是一个选择。
我最近遇到了这个问题,经过几天的调试,我发现了这个问题并进行了修复。
请打鼓:
安装Hyper-V Server 2016之后,使用脱机工具(例如Windows PE)安装新安装的SYSTEM配置单元,并将DWORD ControlSet001 \ Control \ BootDriverFlags从0x04更改为0x1c。(您也应该适当地更改ControlSet002版本,并且可以将所做的更改烘烤到install.wim中,以避免每次安装后都必须这样做。)
(因为当然要花一周的时间,而内核调试器要弄清楚,只需要对一个晦涩且完全未记录的位域进行两位更改即可。)
这就是为什么。
Windows引导加载程序使用内置的UEFI例程查找Windows安装,并在调用ExitBootServices之前将内核和引导驱动程序加载到RAM中。完成此操作并将控制权传递给内核后,除非RAM中已经存在适当的驱动程序,否则内核将无法访问引导卷。
不过,这里有一个关键点:winload.efi不够复杂,无法枚举硬件并确定实际需要哪些驱动程序。在旧版本中,它只会加载设置为“启动启动”的内容。但是,加载无关的驱动程序会导致性能下降,并且由于Windows开始支持更多类的启动设备,因此需要一个更好的系统。
在各个驱动程序上输入BootFlags值,并在系统范围内输入BootDriverFlags值。如果(BootFlags&BootDriverFlags)!= 0,即使未将其设置为Boot Start,也会加载驱动程序。值中的每个位都应对应于不同类型的硬件,因此BootDriverFlags值设置可以从中引导哪种类型的硬件。
引入此机制后,第3位被指定用于USB引导设备,但标准Windows不支持从USB设备引导。Hyper-V Server 2008 R2版本通过将该值设置为0x04,添加了对从USB引导的特定支持,此后在每个发行的Hyper-V Server版本中都设置了该值。
从那时起,为了支持Windows To Go功能而进行的常规改进意味着您不必使用USB设备上安装的以前版本的Hyper-V Server推荐的启动至VHD技巧。但是,它们也会更改BootDriverFlags值的含义。USB 3设备已单独分配了一点,特别是SD卡已另外分配了一点。
在2016版本中,这意味着0x04值现在仅允许从非SD卡的USB2磁盘引导。除Hyper-V Server以外,Server 2016的所有版本均随附默认值0x1c,该默认值可启用USB2,USB3和SD卡启动;但是,仍在Hyper-V Server中设置了0x04的值,因为它是在2008R2版本的映像生成过程中作为替代添加的。不过,此值现在不添加功能,而是将其删除。
这就解释了为什么以前针对该问题的一些解决方案建议禁用USB3并从USB记忆棒而不是SD卡进行引导:这将迫使引导设备的类别仍然属于“ USB”的现在更为有限的定义“在BootDriverFlags中。