Jump to content











Photo
- - - - -

SANBOOT Windows on UEFI system?


  • Please log in to reply
105 replies to this topic

#1 misty

misty

    Gold Member

  • Developer
  • 1018 posts
  •  
    United Kingdom

Posted 4 weeks ago

Now that I have a system (or two) with UEFI firmware AND iPXE support for SANBOOT in a UEFI environment has been implemented (see the How to boot with iscsi in UEFI env? thread in the iPXE forum), I finally got around to trying to install and boot Windows from an iSCSI Target in UEFI mode.

Just to clarify, I'm talking here about a UEFI system booting in UEFI mode only. CSM not enabled.

No success so far. I'm using a combination of ipxe.efi (compiled a couple of days ago), TinyPXE Server and Windows iSCSI Target software.

I am following the same process that I used for BIOS firmware (documented here) - but using ipxe.efi as my PXE boot loader.

I have managed to SANHOOK my target and install Windows to it using setup.exe.

Following the first reboot - nothing. I have tried installing Windows 8.1 and Windows 10 (1903). Windows 8.1 created a UEFI disk structure and boot files, and the BCD store was loaded correctly. Then just the Windows 8.1 background and no activity or progress.

In BIOS mode, installing to iSCSI target handles setup - unbinding the Windows Filtering Platform (WFP) Lightweight Filter (LWF) and other tasks. Installing in UEFI does not appear to apply the same fix(es).

Anyone managed to complete a Windows install in UEFI mode to an iSCSI target? If yes, which version of Windows is confirmed to be working.

Misty

#2 erwan.l

erwan.l

    Platinum Member

  • Developer
  • 2665 posts
  • Location:Nantes - France
  •  
    France

Posted 4 weeks ago

Hi Misty,

 

Which software do you use as iscsi target?

Starwind has my preference.

 

Did you also ensure that the nic driver is set to boot as early as possible?

Similarly, make sure your iscsi service is set as start=auto (should be the case if you install over iscsi).

All this by editing the registry offline.

 

Also, stating the obvious and possibly already documented by you : make sure set keep-san 1 is there in your ipxe script.

Furthermore, passing this instruction as a "extra option" in TPS wont hurt (to be extra sure...).

 

If the target is running on a windows host, wireshark is your friend to understand the different steps (the iscsi part in particular).

If you share a capture with me, I can have a look with you.

 

Regards,

Erwan



#3 misty

misty

    Gold Member

  • Developer
  • 1018 posts
  •  
    United Kingdom

Posted 4 weeks ago

...Did you also ensure that the nic driver is set to boot as early as possible?...

When installing Windows to an iSCSI disk on BIOS and UEFI systems, the service for the NIC appears to be set to a start value of 3 (after running setup.exe). I've also tried manually setting to 0. Neither appear to be working.
 

...make sure your iscsi service is set as start=auto (should be the case if you install over iscsi)...

iSCSI installation on BIOS and UEFI - MSiSCSI service start value appears to be set to 3 on BIOS and UEFI systems. I've also tried with start value 2 on the UEFI system. Still not working.
 

...Which software do you use as iscsi target?...

I'm using the Microsoft iSCSI Software Target 3.3 on a Windows 2008 R2 Host OS. I've also tried the Kernsafe target software.
 

...Starwind has my preference...

I approached StarWind for a free licence and was messed about and given a limited trial - despite repeatedly asking for the free licence that they advertised. I found the software bloated and not particularly intuitive, and gave up.
 

...If the target is running on a windows host, wireshark is your friend to understand the different steps (the iscsi part in particular).
If you share a capture with me, I can have a look with you....

Thanks for your kind offer Erwan. I have an assignment due in at the end of the week and will try and play around with this a bit more at the weekend.

:cheers:

Misty

#4 erwan.l

erwan.l

    Platinum Member

  • Developer
  • 2665 posts
  • Location:Nantes - France
  •  
    France

Posted 4 weeks ago

in your procedure/ipxe script

 

about the below :

set gateway 0.0.0.0
 
it seemed to be inneffective from to time so i went for the below syntax :
clear net0.dhcp/gateway:ipv4

  • misty likes this

#5 erwan.l

erwan.l

    Platinum Member

  • Developer
  • 2665 posts
  • Location:Nantes - France
  •  
    France

Posted 4 weeks ago

set up it all in vmware workstration to finally discover sanboot does not work in EFI mode : acpi table does not get update ... no ibft ... san device cannot be registered ...

 

disappointing :(

 

trying with virtualbox 6.x


  • misty likes this

#6 erwan.l

erwan.l

    Platinum Member

  • Developer
  • 2665 posts
  • Location:Nantes - France
  •  
    France

Posted 4 weeks ago

Well, not much more luck with virtualbox even if it goes a bit further in the process.

 

Good news is that pxe boot in UEFI mode works nicely but the iscsi connection drops very soon in the process (whereas it works fine in BIOS mode).

Cannot tell yet if this is related 

 

Not sure we have a virtual platform actually to test sanboot / iscsi in UEFI mode.

 

I guess I will have to dig out some hardware with EFI firmware to perform tests.


  • misty likes this

#7 misty

misty

    Gold Member

  • Developer
  • 1018 posts
  •  
    United Kingdom

Posted 4 weeks ago

@Erwan
Thanks for experimenting. I did not intend to take up so much of your time.

Still no luck for me. I have played around a bit more as I've been putting off doing my assignment.

I've been testing on physical hardware. The server is currently running Windows 2008 R2 with Kernsafe iStorage Server Free.

Test system is a Thinkpad X230 - in UEFI mode (CSM support not enabled).

Tested using Windows 8.1 based WinPE and ISO source.

Using a pre-partitioned iSCSI Target disk - setup failed. It could not locate the partition I selected for the installation. Error message "We couldn't create a new partition or locate an existing one. For more information, see the Setup log files."

Using the same disk after runnning the DiskPart > Clean command and selecting the disk (e.g. "Drive 2 Unallocated Space") - setup completed stage one successfully.

Setup did not create a full UEFI partition structure on the iSCSI Target disk and the EFI System partition was missing. A boot menu entry was created in the BCD store contained in the internal disk on the X230 test system. Disk structure on the target disk -
DISKPART> list part

  Partition ###  Type              Size     Offset
  -------------  ----------------  -------  -------
  Partition 1    Reserved           128 MB  1024 KB
  Partition 2    Primary             29 GB   129 MB
Manually created an EFI system partition using diskpart -
Sel disk #
Sel part 2
shrink desired=64
create part EFI
format fs=fat label=EFI quick
assign letter=R
Ran bcdboot (partition 1 (Operating System partition) mounted as F: and partition 2 (EFI System partition) mounted as R:)
bcdboot F:\windows /s R: /F UEFI
Attempted to SANBOOT the target. After a couple of minutes of displaying the splash screen, the following error was displayed -
 
The operating system couldn't be loaded because the kernel is missing or contains errors.
File: \windows\system32\ntoskrnl.exe
Error code: 0xc00000bb
Windows 10.0.14393 source files had identical results.

And attempting to run Wireshark on my Windows 2008 R2 server - "No interfaces found".

Any suggestions?

Misty

#8 erwan.l

erwan.l

    Platinum Member

  • Developer
  • 2665 posts
  • Location:Nantes - France
  •  
    France

Posted 4 weeks ago

Really strange behavior you are describing  :unsure:

 

Half the job was done during setup and while booting you get up to the ntoskrnl.exe which is alredy pretty far in the booting process...

 

It could be a faulty nic, a faulty disk ... may be.

 

About wireshark, you need to launch as admin (at least i have to do so to get my nics listed).

 

I just found an old x230 so I'll be able stay close to your setup.

 

EDIT : you are not taking any bit of my time - i just love to play with these matters - fun fun fun :)


  • misty likes this

#9 misty

misty

    Gold Member

  • Developer
  • 1018 posts
  •  
    United Kingdom

Posted 4 weeks ago

It could be a faulty nic, a faulty disk ... may be.

Using a similar setup with a system with BIOS firmware worked as expected. This appears to be UEFI related and may be due to a lack of Windows support for booting Windows from a UEFI iSCSI Target? Or maybe a NIC driver issue?
 

About wireshark, you need to launch as admin (at least i have to do so to get my nics listed).

I did try that. Still no interfaces. Not sure if it's related to trying to run this on a headless server that I'm connecting to via MS Remote Desktop?
 

I just found an old x230 so I'll be able stay close to your setup.

Great news for testing purposes.
 

EDIT : you are not taking any bit of my time - i just love to play with these matters - fun fun fun :)

Now that's good news and eases my guilt. I personally have a love hate relationship with testing. I'm currently having fun. But it's also bloody frustrating as it's a time consuming process. I am using a 10/100 connection on my home router and it's so slowwwwwwwww!!!!!!!!!!!

#10 misty

misty

    Gold Member

  • Developer
  • 1018 posts
  •  
    United Kingdom

Posted 4 weeks ago

@Erwan
I have a Thinkpad W530 that I can set up as a PXE boot server and iPXE Target. I can then connect my X230 test system via a crossover cable and experiment further - that's assuming that I can find my sole CAT5E crossover cable :frusty:

This setup should be faster as both systems have Gigabit Ethernet NICs. Also I've noticed that testing via the 10/100 port on my internet router has been screwing up my WiFi connections and I have had to keep manually rebooting the router after installing Windows to my iSCSI Target(s). I have no idea why this issue occurs, however using a crossover cable and not interfering with the home network should keep the family happy. Imagine the trauma for them and grief for me if they can't access Netflix because I'm p!ssing around with experiments. Luckily they have not yet figured out that it's me that's been causing the problems.

As an added benefit, WireShark appears to work ok on the W530.

Let's hope I can set some time aside tonight. If I get stressed about my assignment then all bets are off as I really should start working on it before the 23:59 deadline tomorrow. Luckily it's restricted to 1500 words. I think I have posts on reboot longer than that.

:cheers:

Misty

#11 Wonko the Sane

Wonko the Sane

    The Finder

  • Advanced user
  • 14778 posts
  • Location:The Outside of the Asylum (gate is closed)
  •  
    Italy

Posted 4 weeks ago

.... however using a crossover cable and not interfering with the home network should keep the family happy. Imagine the trauma for them and grief for me if they can't access Netflix because I'm p!ssing around with experiments. Luckily they have not yet figured out that it's me that's been causing the problems.

 

Always deny it, providing instead an "I can do nothing about it" explanation, as an example it is a known fact that meta-cosmic troposphere hurricanes :w00t: can disrupt otherwise perfectly working WiFi's ... ;)

 

:duff:

Wonko



#12 misty

misty

    Gold Member

  • Developer
  • 1018 posts
  •  
    United Kingdom

Posted 4 weeks ago

@Wonko
Sound advice. However until asked directly whether I have been causing the problems I'm sticking with "the router is a piece of junk. I'll turn it off and on again and that should fix the problem"

Then I usually sit back and take the credit for sorting out this complex technical issue.


@Everyone
Tried again, this time using the crossover cable setup I referred to in post #10. Same error with Windows 10.0.14393 source (1603). This time I was able to capture network traffic using WireShark.

Thanks to the relative speed of the new test system setup I also tried using Windows 10.0.18362 source (1903). I experienced the same issues reported in post #7 with having to manually create an EFI system partition and then the same ntoskrnl error when booting the iSCSI Target.

I also tried using a different computer - a Thinkpad T440. And experienced the same errors again.


@Erwan
Wireshark logs uploaded to http://mistyprojects.co.uk/erwan/

#13 antonino61

antonino61

    Frequent Member

  • Advanced user
  • 372 posts
  •  
    Italy

Posted 4 weeks ago

sorry to butt in probably inappropriately, but as I saw UEFI somewhere here, I was just wondering could I ask any of u whether rambooting in uefi+gpt environment is possible or not and, if it is, how would I do so.

nino



#14 misty

misty

    Gold Member

  • Developer
  • 1018 posts
  •  
    United Kingdom

Posted 4 weeks ago

sorry to butt in probably inappropriately, but as I saw UEFI somewhere here...

No apologies necessary. Welcome nino. I'm happy to indulge in a bit of off topic discussion. If it goes too off topic then we can always split the thread.
 

...I was just wondering could I ask any of u whether rambooting in uefi+gpt environment is possible or not...

It very much depends on what you want to boot. Take WinPE/WinRE for example. Both of these will RAM boot fine on UEFI Firmware from a GPT type disk.

I wouldn't be remotely surprised to find a Linux distro that boots to RAM from UEFI+GPT. I just don't have much experience with Linux.

I'm not aware of any driver that would allow a full Windows installation to RAM boot on a UEFI+GPT system. The Windows RAM drivers that I'm aware of include Firadisk, WinVBlock and SVBus. All of these are dependent on Grub4dos drive mappings and therefore will not work on a UEFI system - unless it supports CSM and has it enabled and set to boot (e.g. in Legacy mode or whatever your firmware calls it). Grub4dos code can be installed to a GPT disk - refer to the Grub4dos and GPT support thread for more information.

:cheers:

Misty
  • antonino61 likes this

#15 erwan.l

erwan.l

    Platinum Member

  • Developer
  • 2665 posts
  • Location:Nantes - France
  •  
    France

Posted 4 weeks ago

Game on !

 

Got myself a gb switch, a cat5e wire, a efi lenovo laptop, kernsafe iscsi target and now launching the win10 iscsi installation !

 

Edit - 20.56CET : installation over iscsi in progress... sucking 30MB/s



#16 misty

misty

    Gold Member

  • Developer
  • 1018 posts
  •  
    United Kingdom

Posted 4 weeks ago

Game on!

Game on indeed. This is exciting. I clearly need to get out more!!!!!

Despite iSCSI SANBoot having no practical application for me I'm love to get this working. I've been fascinated by the subject ever since watching (on YouTube) a presentation by Marty Conner, Michael Brown and H.Peter Anvin years ago (see here). After successfully setting up SANBOOT (iSCSI and AoE) on BIOS systems, UEFI is my next step. Three of my current refurbished laptops are set up to boot in UEFI mode only, with CSM disabled.

It's so far proving quite a challenge.

Good luck.

#17 erwan.l

erwan.l

    Platinum Member

  • Developer
  • 2665 posts
  • Location:Nantes - France
  •  
    France

Posted 4 weeks ago

setup finished, rebooted and ...

 

file: \windows\syste32\ntoskrnl.exe

error code 0xc00000bb

 

looking at my disk image now.



#18 erwan.l

erwan.l

    Platinum Member

  • Developer
  • 2665 posts
  • Location:Nantes - France
  •  
    France

Posted 4 weeks ago

Grr, challenge accepted...

 

Redoing the installation but this time going for one part only (no MSR, etc).

 

Note for later : I believe testing should be possible under VBOX as well (which could make easier to test mutliple scenario, over and over).



#19 misty

misty

    Gold Member

  • Developer
  • 1018 posts
  •  
    United Kingdom

Posted 4 weeks ago

@Erwan
The fact that you have experienced the same error at least means I'm not feeling like an idiot. Imagine if you got it working straight away? My troubleshooting support would be so much more limited.

Just out of curiosity, did you have to manually create an EFI System partition on your iSCSI Target?

#20 erwan.l

erwan.l

    Platinum Member

  • Developer
  • 2665 posts
  • Location:Nantes - France
  •  
    France

Posted 4 weeks ago

@Erwan
The fact that you have experienced the same error at least means I'm not feeling like an idiot. Imagine if you got it working straight away? My troubleshooting support would be so much more limited.

Just out of curiosity, did you have to manually create an EFI System partition on your iSCSI Target?

 

No manual intervention, just clicking next...

 

On the second install (70% thru), this time I declined the MSR proposal during the setup.



#21 misty

misty

    Gold Member

  • Developer
  • 1018 posts
  •  
    United Kingdom

Posted 4 weeks ago

Grr, challenge accepted...

I'd kind of noticed that already. :whistling:
 

Redoing the installation but this time going for one part only (no MSR, etc).

That also sounds like a challenge. I accidentally formatted my EFI partition as NTFS during one test. SANBOOT failed - I suspect that iPXE.efi SANBOOT does not include support for NTFS partitions and the Windows EFI boot file could not be accessed.

#22 erwan.l

erwan.l

    Platinum Member

  • Developer
  • 2665 posts
  • Location:Nantes - France
  •  
    France

Posted 4 weeks ago

same issue if I select one unique partition :(

 

test#3 : retrying but this time creating the part myself before launching the setup.

 

wondering if applying the wim manually, then sanbooting could do the trick...



#23 misty

misty

    Gold Member

  • Developer
  • 1018 posts
  •  
    United Kingdom

Posted 4 weeks ago

test#3 : retrying but this time creating the part myself before launching the setup.

My attempts using setup on a pre-partitioned disk all failed. It's useful to have someone else verifying though. Just the EFI System partition and then installing to the Unallocated Space may be worth a try.

wondering if applying the wim manually, then sanbooting could do the trick...

I think know I tried that. I can't remember what happened though!

#24 misty

misty

    Gold Member

  • Developer
  • 1018 posts
  •  
    United Kingdom

Posted 4 weeks ago

wondering if applying the wim manually, then sanbooting could do the trick...

I think know I tried that. I can't remember what happened though!

I'll have another go myself. With the crossover cable setup my patience is not tested quite as much.

#25 misty

misty

    Gold Member

  • Developer
  • 1018 posts
  •  
    United Kingdom

Posted 4 weeks ago

wondering if applying the wim manually, then sanbooting could do the trick...

I think know I tried that. I can't remember what happened though!

I'll have another go myself. With the crossover cable setup my patience is not tested quite as much.

Failed. Same error -
The operating system couldn't be loaded because the kernel is missing or contains errors.
File: \windows\system32\ntoskrnl.exe
Error code: 0xc00000bb
I cannot reproduce the error I previously had with the boot hanging at the splash screen.

I've tried changing the start values for MSISCSI (to 2) and my NIC (to 0). Same ntoskrnl error.

:frusty: :frusty:




0 user(s) are reading this topic

0 members, 0 guests, 0 anonymous users