LINBIT / windrbd

DRBD driver for windows
GNU General Public License v2.0
51 stars 20 forks source link

Windows 10 failed boot at BSOD(0x7b) #23

Closed 593749519 closed 1 year ago

593749519 commented 1 year ago

I followed the windrbd-boot.pdf to configure the enviorment, after some http issue(using tftp and enable cgi for apache2), finally I can boot windows 10 to BSOD(0x7b-Inaccessible boot device), what do I misconfigured?

These are my configurations: Virtualbox version(with extension pack): 7.04 Windrbd Windows driver version: 1.13 Linux box: Ubuntu 20.04 desktop IP address:192.168.56.2 Drbd version: 9.2.1 /dev/sdb->(50G with 50M meta) /dev/sdc ->windows(50G), 1 partition Windows box version: 10.0.19041.264 IP address:192.168.56.10 -----------------dhcpd.conf------------------ allow booting; allow bootp;

option space ipxe; option ipxe-encap-opts code 175 = encapsulate ipxe; option ipxe.priority code 1 = signed integer 8; option ipxe.keep-san code 8 = unsigned integer 8; option ipxe.skip-san-boot code 9 = unsigned integer 8; option ipxe.syslogs code 85 = string; option ipxe.cert code 91 = string; option ipxe.privkey code 92 = string; option ipxe.crosscert code 93 = string; option ipxe.no-pxedhcp code 176 = unsigned integer 8; option ipxe.bus-id code 177 = string; option ipxe.san-filename code 188 = string; option ipxe.bios-drive code 189 = unsigned integer 8; option ipxe.username code 190 = string; option ipxe.password code 191 = string; option ipxe.reverse-username code 192 = string; option ipxe.reverse-password code 193 = string; option ipxe.version code 235 = string; option iscsi-initiator-iqn code 203 = string; option ipxe.pxeext code 16 = unsigned integer 8; option ipxe.iscsi code 17 = unsigned integer 8; option ipxe.aoe code 18 = unsigned integer 8; option ipxe.http code 19 = unsigned integer 8; option ipxe.https code 20 = unsigned integer 8; option ipxe.tftp code 21 = unsigned integer 8; option ipxe.ftp code 22 = unsigned integer 8; option ipxe.dns code 23 = unsigned integer 8; option ipxe.bzimage code 24 = unsigned integer 8; option ipxe.multiboot code 25 = unsigned integer 8; option ipxe.slam code 26 = unsigned integer 8; option ipxe.srp code 27 = unsigned integer 8; option ipxe.nbi code 32 = unsigned integer 8; option ipxe.pxe code 33 = unsigned integer 8; option ipxe.elf code 34 = unsigned integer 8; option ipxe.comboot code 35 = unsigned integer 8; option ipxe.efi code 36 = unsigned integer 8; option ipxe.fcoe code 37 = unsigned integer 8; option ipxe.vlan code 38 = unsigned integer 8; option ipxe.menu code 39 = unsigned integer 8; option ipxe.sdi code 40 = unsigned integer 8; option ipxe.nfs code 41 = unsigned integer 8;

option ipxe.windrbd code 42 = unsigned integer 8; option ipxe.windrbd-root code 196 = string;

default-lease-time 600; max-lease-time 7200;

ddns-update-style none;

subnet 192.168.56.0 netmask 255.255.255.0 { range 192.168.56.10 192.168.56.200; option domain-name-servers 114.114.114.114; option subnet-mask 255.255.255.0; option routers 192.168.56.1; option broadcast-address 192.168.56.255; default-lease-time 600; max-lease-time 7200; }

host windows10-boot { hardware ethernet 08:00:27:40:83:3a; fixed-address 192.168.56.10; if exists ipxe.windrbd { filename ""; option root-path "http://192.168.56.2/cgi-bin/drbd.cgi?DRBD_MINOR=42"; option ipxe.windrbd-root "drbd:windows10-boot;C;2;0.0.0.0:7690;1;1;lyc-VirtualBox;1;192.168.56.2:7690"; } else { filename "ipxe-windrbd.pxe"; } }

------------windows10-boot.res------------ include "global_common.conf";

resource "windows10-boot" { protocol C;

net { use-rle no; verify-alg crc32c; timeout 60; ping-timeout 30; ping-int 10; connect-int 20; } disk { c-max-rate 4048000; c-fill-target 1048000; } on lyc-VirtualBox { address 192.168.56.2:7691; node-id 1; volume 1 { disk /dev/sdc; device /dev/drbd42; meta-disk /dev/sdb1; } } on windows10 { address 192.168.56.10:7690; node-id 2; volume 1 { disk none; device minor 42; # C: on diskless client } } }

Finally, when boot windows under drbdadm watch, get following info: image

after reading those data, no further response, eventually, windows BSOD with 0x7b(Inaccessible boot devices).

593749519 commented 1 year ago

using boot-windows.ipxe methods instead of dhcp option solves the problem.