Jump to content











Photo
- - - - -

SANBOOT Windows on UEFI system?


  • Please log in to reply
110 replies to this topic

#101 misty

misty

    Gold Member

  • Developer
  • 1066 posts
  •  
    United Kingdom

Posted 02 June 2019 - 09:14 PM

I reported in post #87 some errors when I attempted to create a virtual hard disk when using Microsoft iSCSI Software Target -
Microsoft iSCSI Software Target

The virtual disk cannot be created on the selected volume. Catastrophic failure.
.
And a similar error when attempting to import an existing disk -
Microsoft iSCSI Software Target

The wizard was unable to import one or more virtual disks. The operation failed with error code 0x8000ffff. Catastrophic failure.
.
Erwan as per usual was not experiencing these errors and was able to create/import vhd files from all accessible drives. Another source of frustration for me - not the fact that Erwan could, the fact that I couldn't! (maybe both :whistling:)

I have now traced the reason why I was experiencing these errors on some drives and not others to the Windows system protection feature. With Protection enabled (and space allocated for it) on the drive in which I wanted to create a Virtual Disk, Microsoft iSCSI Software Target was able to successfully create and import disks. :frusty:

I realise that I'm now using this thread as a notepad so that when I get around to writing stuff up I can use it to remind myself about what I've been doing :whistling:
 

...I thought that since Vista there a pre installed dotnet : I could be wrong thus...

Just checked. .NET is pre-installed - .NET Framework 4.5. Version 3.5 needs to be manually turned on and an internet connection is then required to enable it.
 

...About latest starwind, I'll give it another go as I thought I had success there : i should have taken notes :(...

That would be great when you have time. I have emailed Anton at StarWind to report the issue.
 

....About targets not working with uefi and/or gpt (as we still dont know which of these 2 aspects are troublesome), I had the following experience during my tests : using clonedisk, there were some API calls which just failed on me like create disk / create partition.
It is as if GPT was simply not understood/supported.
Surprisingly thus, it may be that the windows setup does not report these errors (at least not in the front end).
I should redo the following test : create an iscsi target, spare me the stage 1 / stage 2 long experiment, and simply send a create disk / create partition both on MBR and GPT to various software.
So we can clearly list some targets which already will fail at stage 1.

Not 100% that simple thus as I was able to sanhook/stage 1 with ms target and continue with sanboot/stage2 with starwind 5.

So next to the possible gpt not supported (in stage 1) by some softwares (like kernsafe, i.e we can assert the disk is NOT fine), there is also this other issue where sanhook/stage 1 goes fine (i.e we can assert the disk IS fine) but sanboot/stage 2 does not go fine.

There is one consistent item in there thus : we know that ipxe is not the issue and we have been using the same client(s) all along.

Tip : you can have multiple targets installed on your client but it is a bit of a PITA as you need to start/stop services then.
net start StarWindService ... net stop wintarget ... net stop iStorageService
Once again, iscsiconsole comes in handy as it is a standalone executable :)

This sums up the fact that there is a lot that we just don't know and Windows setup acts strangely. Remember my issues with Setup not creating a UEFI system partition or MSR partition on my X230?

I keep consoling myself with the fact that we now know a lot more than we did. And iSCSI Console is a great find.

Misty

#102 misty

misty

    Gold Member

  • Developer
  • 1066 posts
  •  
    United Kingdom

Posted 04 June 2019 - 08:06 PM

First draft of a comparison of Windows iSCSI Targets -
http://mistyprojects.../iscsi-targets/

:cheers:

Misty

P.s. Tests are limited to Windows 10.0.14393 only. Due to the time taken for testing it will be a while before I can complete tests using other versions of Windows.

#103 misty

misty

    Gold Member

  • Developer
  • 1066 posts
  •  
    United Kingdom

Posted 05 June 2019 - 01:43 PM

Second draft - http://mistyprojects.../iscsi-targets/. Please ignore any typos - I will proof it properly over the weekend.

pxesrv_iscsi_vbox.zip - TinyPXE server and iPXE boot files used in testing.

ipxe_uefi.iso - bootable .iso for use in VirtualBox system with EFI enabled.

iscsi-targets-guide.zip - guide for offline use and pxesrv_iscsi_vbox.zip and ipxe_uefi.iso.

:cheers:

Misty

P.s. Thanks to Ewan for permission to share TinyPXE Server.

#104 erwan.l

erwan.l

    Platinum Member

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

Posted 06 June 2019 - 06:49 PM

Second draft - http://mistyprojects.../iscsi-targets/. Please ignore any typos - I will proof it properly over the weekend.
 

 

Draft looks very good already.

 

Reading thru it!


  • misty likes this

#105 misty

misty

    Gold Member

  • Developer
  • 1066 posts
  •  
    United Kingdom

Posted 08 June 2019 - 07:19 AM

Draft updated.

Some edits to http://mistyprojects...rgets/index.htm

New page with a list of some versions of Windows that support iSCSI SANBOOT (and some that do not) - http://mistyprojects...s/supported.htm

Thats me done for a while. I think I have flogged this topic to death and the thought of repeating the tests with all of the 32-bit .iso files and different iSCSI Targets I have access to is not pleasant. Whilst not infinite, the number of combinations and time it would take are mind blowing.

:cheers:

Misty

#106 misty

misty

    Gold Member

  • Developer
  • 1066 posts
  •  
    United Kingdom

Posted 14 June 2019 - 04:54 PM

Only just got around to cloning an existing UEFI system for SANBOOT - actually that's not true as I got around to trying it when I started this topic, however I didn't have a working setup at the time.

Anyway, I copied my Thinkpad X230 OS to a .vhd file > created a differencing disk (using vmount - nice work Erwan :thumbsup:) > mounted the differencing disk (more vmount fun) > iSCSI Console Target with a Physical Disk Device set as the mounted differencing disk > PXE booted my X230 system (loading iPXE) > issued SANBOOT command

Success.

Before cloning the system I cleaned up my MountedDevices registry entries, changed the pagefile settings in the registry, and used nvspbind to unbind the Lightweight Filter (see here). And I also turned off the firewall.

The parent .vhd file was manually partitioned and the OS files were captured to a .wim file and then applied to the mounted .vhd - then I ran bcdboot to create boot files.

Nice to confirm that this process is working on UEFI as well as BIOS systems.

:cheers:

Misty

#107 Ikky_Phoenix

Ikky_Phoenix
  • Members
  • 1 posts
  •  
    Brazil

Posted 08 August 2019 - 01:47 PM

Hi!
 
I did UEFI iSCSI boot almost a year ago as soon as i got in my hands ipxe's undionly.efi.
 
My setup consists in a total Windows Server 2016 based solution.
 
The environment is a university classrooms, with dedicated servers and smart HP switches.
 
I used a script that i can share if you like, that makes a differential image for every computer that boots from iSCSI target.
 
And i'm using ms dhcp as well, and pfsense to web login for teaches and students.
 
One "problem" that i have: there were six different motherboards in the process, so i take one SSD, install Windows 10 (any version, doesn't matter in this stage), install hyper-v, create two vms, one bios, one uefi and install Windows 10, this time 1803. After that, i put the two vhdx in windows boot manager to boot of from these images. Them i take the six different hardwares to my lab and boot every one with that images so Windows can recognize the network adapters. The last step: upload these vhdx to the server and start booting off every class on iSCSI environment. It's almost perfect for my needs.
 
But what really pisses me off is the boot time, almost 2 minutes, after Windows 10 (1803) loads, the speed is fantastic, much better than the old HDs that were in the machines.
 
How much time it takes to boot in your setups?


#108 scan80269

scan80269
  • Members
  • 7 posts
  •  
    United States

Posted 17 February 2020 - 03:28 AM

Hi Misty, I just stumbled onto your iSCSI target webpage.  Nice work!

 

I can confirm that Windows 10 version 1909 has exact same behavior as version 1903, with the same BSOD "DRIVER IRQL NOT LESS OR EQUAL" at stage 2 of OS installation.  This crash is apparently associated with ndis.sys.  I tested with 3 different motherboards with 2 brands of NIC (Intel & Realtek) with identical results.

 

Windows 10 version 1909 ISO tested (FAIL): en_windows_10_consumer_editions_version_1909_updated_jan_2020_x64_dvd_e05d4037.iso

 

Windows 10 version 1903 ISO tested (FAIL): en_windows_10_consumer_editions_version_1903_updated_jan_2020_x64_dvd_d3d8e1ce.iso

 

Windows 10 version 1809 ISO tested (PASS): en_windows_10_consumer_editions_version_1809_updated_jan_2020_x64_dvd_8a20346d.iso



#109 scan80269

scan80269
  • Members
  • 7 posts
  •  
    United States

Posted 22 February 2020 - 06:31 PM

Update: I managed to SANboot latest Windows 10 version 1909 (November 2019 Update).

 

Credit goes to Orakel von Delphi posting on ipxe forum alerting to paging file trouble with Win10 (1903) running from an iSCSI disk, and providing a workaround.

 

I tried disabling the paging file (pagefile.sys) for Windows 10 version 1909 installation and it worked!  Win10 version 1903 is most likely in the same situation.

 

1. Mount install.wim

2. In regedit, load hive \Windows\system32\config\system under HKEY_LOCAL_MACHINE

3. Within the loaded hive, locate the PagingFiles key under \SYSTEM\ControlSet001\Control\Session Manager\Memory Management and blank the string.

4. Unload the hive.

5. Unmount install.wim and commit the changes.

6. Update OS installation media with this modified install.wim.

 

One caveat here is that Win10 will be running without a paging file so some issues can be expected.  My PCs all have at least 8GB of RAM and so far I haven't encountered any problems associated with low memory in this non-paging configuration.


  • misty likes this

#110 misty

misty

    Gold Member

  • Developer
  • 1066 posts
  •  
    United Kingdom

Posted 27 February 2020 - 08:34 AM

@scan80269
Work commitments are keeping me away from the forum and projects, so apologies for the delay in responding. Thanks for reporting the pagefile workaround for SANBoot Windows 10 build 1909 :thumbsup:

Now I just need to find some time for testing!

Misty

#111 moriarty

moriarty
  • Members
  • 4 posts
  •  
    United States

Posted 03 May 2020 - 10:04 PM

Thanks for the thead info. I am trying to accomplish 1903 iscsi boot presently. What version of Winpe did you use?

 

Related to this, has anyone managed to perform the setup preperation of the iscsi target image after install.wim has applied? I.e. Skip the windows installation to iscsi step by simply having the iscsi volume contain a golden sysprep'd image? Still have to winpe first boot I imagine, but from windows setup process it's putting the cart in front of the horse.

 

Also IT shop and windows licensing question. (Scenario)

If I have a customer waiting on a replacement drive. Say (win10 home oem) I wish to boot thier machine using ipxe and iscsi. I install windows, drivers, and applications. Windows usually recognizes the uuid and activates. When replacement drive arrives, I use the iscsi image as an image source for block level imaging of the new physical hard drive. Since the OS is never used on other hardware and I usually don't retain the customer driver/app image, am I running afoul of MS licensing?






0 user(s) are reading this topic

0 members, 0 guests, 0 anonymous users