The following warnings occurred:
Warning [2] count(): Parameter must be an array or an object that implements Countable - Line: 807 - File: showthread.php PHP 7.3.15 (Linux)
File Line Function
/showthread.php 807 errorHandler->error

Post Reply 
Thread Rating:
  • 0 Vote(s) - 0 Average
  • 1
  • 2
  • 3
  • 4
  • 5
iBFT table lost / not found after iSCSI boot
2020-09-22, 12:12
Post: #1
iBFT table lost / not found after iSCSI boot
I am trying to network-boot a windows 10 using iPXE in the uefi version (snponly.efi) from a linux system.
I have one client PC that boots windows successfully (which tells me that my setup is ok in general) but another client PC with different hardware that always fails with INACCESSIBLE_BOOT_DEVICE error.

Unfortunately, due to missing logging in windows, this is a bit difficult to debug. I have checked many possible problems pointed out in other posts (LFW bindings, critical device database, start mode of network device) but no luck, and also all these are identical for my 2 client PCs, so it should be fine (even though it seems to me that all this stuff isn't needed anymore). I have bootet the windows from a local disk on the failing PC locally, which works and also the NIC is correctly installed. So also the windows installation should be fine. That made me look into other directions, so I started looking in the iSCSI / iBFT part.

Clearly, iSCSI itself is working, since I am reading the windows bootloader from the iSCSI target.

Thus, I started a network linux (using nfs, not iscsi) on both PCs, to investigate a bit further (same image on both client PCs).
What I see that:
- Loading the iscsi_ibft kernel module on the good client, the kernel log tells me the iBFT is detected.
- On the client that fails to boot, linux tells me that no iBFT is detected.
So I guess the problem is that on that PC the iBFT table is not created correctly or is overwritten afterwards somehow.

For the sake of it, I retried a legacy boot with Linux instead of UEFI (undionly.kpxe instead of snponly.efi). In that case, linux actually detects the iBFT on both clients.
Next, I want to try to network-boot a windows using legacy boot. If that works on the client failing in efi, it would confirm that it is indeed an efi-related problem. Unfortunately, right now I have some trouble with the legacy boot bootsector also on the good client. But in the end I need to boot via efi in any case, so this test is only for understanding the problem.

In case it is relevant: the failing client is an AMD Threadripper on an ASUS Zenith II Extreme Alpha motherboard. I am booting from dnsmasq. I have tried ipxe.efi instead of snponly.efi, but no difference. I also have tried several ipxe binaries and I have built the latest branch from scratch, didn't help.

That is how far I am so far. Any suggestionsor ideas would are very welcome.
Find all posts by this user
Quote this message in a reply
Post Reply 

Messages In This Thread
iBFT table lost / not found after iSCSI boot - qon - 2020-09-22 12:12

User(s) browsing this thread: 1 Guest(s)