This patch fixes the problem of the first boot after installation virtio block
drivers on Windows 10 / Server 2016. The problem is related to the change in
the behavior of Windows-Kernel-Pnp. To fix we need to add a field "Version" to
HKLM/SYSTEM/DriverDatabase/DriverPackages/drv_inf_label then Windows-Kernel-Pnp
will be able to correctly install the virtio block driver.
Signed-off-by: Pavel Butsykin <pbutsykin(a)virtuozzo.com>
---
v2v/windows_virtio.ml | 7 +++++++
1 file changed, 7 insertions(+)
diff --git a/v2v/windows_virtio.ml b/v2v/windows_virtio.ml
index 2f5349d25..965d6ac8b 100644
--- a/v2v/windows_virtio.ml
+++ b/v2v/windows_virtio.ml
@@ -220,6 +220,13 @@ and ddb_regedits inspect drv_name drv_pciid =
[ "DriverDatabase"; "DeviceIds"; "PCI"; drv_pciid ],
[ drv_inf, REG_BINARY "\x01\xff\x00\x00" ];
+ [ "DriverDatabase"; "DriverPackages"; drv_inf_label ],
+ [ "Version", REG_BINARY ("\x00\xff\x09\x00\x00\x00\x00\x00" ^
+ "\x7b\xe9\x36\x4d\x25\xe3\xce\x11" ^
+ "\xbf\xc1\x08\x00\x2b\xe1\x03\x18" ^
+ (String.make 24 '\x00')) ];
+ (* Version is necessary for Windows-Kernel-Pnp in w10/w2k16 *)
+
[ "DriverDatabase"; "DriverPackages"; drv_inf_label;
"Configurations"; drv_config ],
[ "ConfigFlags", REG_DWORD 0_l;
--
2.11.0