How to boot with iscsi in UEFI env?
|
2017-01-16, 23:22
Post: #21
|
|||
|
|||
RE: How to boot with iscsi in UEFI env?
(2017-01-15 10:13)NiKiZe Wrote: I think there is one patch for ibft in efi mode on the mailing list that you want to grab, there is also one patch about executable boot. Thanks for the pointers. Since I'm not a developer I don't think I'm up to the task of building iPXE with patches. I've been using rom-o-matic.eu to build snponly.efi. I suppose I can wait until rom-o-matic catches up to the various patches related to iBFT and executable boot. |
|||
2017-01-30, 17:32
Post: #22
|
|||
|
|||
RE: How to boot with iscsi in UEFI env?
(2017-01-16 23:22)scan80269 Wrote:(2017-01-15 10:13)NiKiZe Wrote: I think there is one patch for ibft in efi mode on the mailing list that you want to grab, there is also one patch about executable boot. I'm not a developer but happy to help out with testing if we can generate using the rom-o-matic |
|||
2017-01-30, 17:39
Post: #23
|
|||
|
|||
RE: How to boot with iscsi in UEFI env?
I would strongly urge you to get a machine where iPXE can be built from sources and apply patches. Testing is done by building yourself not via rom-o-matic since it's output unfortunately is to unreliable to use for debugging.
Starting a virtual linux livecd is not hard at all, or even installing on a virtual machine. Use GitHub Discussions VRAM bin |
|||
2017-02-13, 04:28
Post: #24
|
|||
|
|||
RE: How to boot with iscsi in UEFI env?
![]() the last ipxe seems can support uefi iscsi boot. I try it, it is really can boot winboot and winpe, but can't install windows operate system on it. is prompt has no iBFT found. like the attached picture. any one fix this bug. |
|||
2017-02-13, 18:07
(This post was last modified: 2017-02-13 18:13 by NiKiZe.)
Post: #25
|
|||
|
|||
RE: The Bug found in UEFI iSCSI Boot
(2017-02-13 04:42)ben Wrote: it is has no iBFT table in UEFI Mode boot Correct that it is currently missing, as mentioned above, a patch for this has been sent to the mailing list and is available at http://lists.ipxe.org/pipermail/ipxe-dev...05305.html The post with links to multiple patches: http://forum.ipxe.org/showthread.php?tid...2#pid13392 Use GitHub Discussions VRAM bin |
|||
2017-04-24, 11:35
Post: #26
|
|||
|
|||
RE: How to boot with iscsi in UEFI env?
Hi NikiZe, do you know if/when the iBFT patches are going to be merged?
If not then I'll see if I can build this myself. I've managed to build iPXE in the past but I'm not a developer so I don't know how to merge patches. Would you be able to give me some pointers? Thanks |
|||
2017-04-24, 15:05
Post: #27
|
|||
|
|||
RE: How to boot with iscsi in UEFI env? | |||
2017-04-28, 17:03
(This post was last modified: 2017-04-28 17:04 by dizUK.)
Post: #28
|
|||
|
|||
RE: How to boot with iscsi in UEFI env? | |||
2017-05-09, 05:18
Post: #29
|
|||
|
|||
RE: How to boot with iscsi in UEFI env?
Thanks for taking care of the iBFT for UEFI iPXE! I managed to get past the Win10 OS installation roadblock related to iBFT, and made it through the first OS installation phase. After the first reboot, I attempted to boot from the iSCSI disk, and got a 0x7f22208e error. I tried both ipxe.efi and snponly.efi with the same result. Not sure what is meant by "Platform-generated error".
|
|||
2017-05-09, 11:52
Post: #30
|
|||
|
|||
RE: How to boot with iscsi in UEFI env?
(2017-05-09 05:18)scan80269 Wrote: Thanks for taking care of the iBFT for UEFI iPXE! I managed to get past the Win10 OS installation roadblock related to iBFT, and made it through the first OS installation phase. After the first reboot, I attempted to boot from the iSCSI disk, and got a 0x7f22208e error. I tried both ipxe.efi and snponly.efi with the same result. Not sure what is meant by "Platform-generated error". It's an external EFI API call from interface/efi/efi_block.c that is returning an error 0x0e (EFI_NOT_FOUND). There are multiple points that could plausibly be generating this error. You can try building with DEBUG=efi_block to get some additional debug output. Michael |
|||
2017-10-20, 12:24
Post: #31
|
|||
|
|||
RE: How to boot with iscsi in UEFI env?
(2017-01-15 07:06)scan80269 Wrote: I'd like to express my appreciation for the implementation of EFI sanboot support in iPXE! Today I succeeded in getting a diskless client PC to EFI sanboot to WinPE, with a iSCSI virtual disk carrying GPT disk partitions.I would love to try the efi san boot. Would be able kind enough to share the steps you did to efi boot sanboot to winPE. Thank you |
|||
2018-11-02, 23:03
Post: #32
|
|||
|
|||
RE: How to boot with iscsi in UEFI env?
After a long hiatus I finally succeeded in booting Win10 version 1803 (RS4) in UEFI mode from an iSCSI disk via iPXE.
I switched to using wimboot for booting WinPE, and ROM-o-matic.eu came through with a snponly.efi that properly supports sanhook and sanboot of iSCSI GPT disks. Along the way, I got messed up by some of the latest Intel NDIS65 drivers for the Intel Ethernet Connection I219-V. Apparently, the latest driver version that can support iSCSI boot is 12.15.25.6712 (dated Jul 12 2017). Any newer driver version induces the *STOP* Inaccessible Boot Device BSOD during Win10 bootup. The only thing I noticed with UEFI iSCSI running is the virtual disk performance being lower than the legacy BIOS counterpart. Client disk-based Ethernet activity in/out of the server does not exceed 200Mbps most of the time. |
|||
2019-01-24, 19:41
Post: #33
|
|||
|
|||
RE: How to boot with iscsi in UEFI env?
(2018-11-02 23:03)scan80269 Wrote: After a long hiatus I finally succeeded in booting Win10 version 1803 (RS4) in UEFI mode from an iSCSI disk via iPXE. Could you share the steps you used to boot Windows 10 in UEFI mode over iscsi via IPXE ? I am trying to do the same but has end in nothing to boot no more network device |
|||
2019-01-26, 05:56
Post: #34
|
|||
|
|||
RE: How to boot with iscsi in UEFI env?
On my system acting as iSCSI disk server (running Windows Server 2012 R2/2016/2019 OS - with iSCSI Target Server feature enabled) I set up Tiny PXE Server to load ipxe-snponly-x86-64.efi (64-bit UEFI iPXE) for UEFI clients network booting via PXE. Once a client boots to iPXE, my iPXE script launches sanboot of an iSCSI virtual disk based on Ethernet MAC address match to initiate Win10 OS boot. The iSCSI virtual disk for the client is set up with GPT style disk partitions to properly support Win10 booting in UEFI mode (a Win10 requirement by Microsoft).
My iPXE script is set up such that sanboot of a virtual disk will fail if it doesn't have Win10 properly installed, in which case the script will continue onto launching wimboot to boot the client into WinPE in preparation for over-the-network Win10 OS installation into the iSCSI virtual disk dedicated to that client. I created a small (10GB) iSCSI virtual disk to carry the Win10 OS installation files, to avoid having to plug a USB flash drive into the client. On many modern PCs, in order for UEFI PXE to work, "legacy" support (a.k.a. CSM - Compatibility Support Module) needs to be disabled in BIOS setup. Once you can get a UEFI client to chain boot from PXE to iPXE, the rest, such as using sanboot to boot Win10 should be relatively straightforward. |
|||
2019-01-26, 17:24
(This post was last modified: 2019-01-26 17:26 by psychrabi.)
Post: #35
|
|||
|
|||
RE: How to boot with iscsi in UEFI env?
(2019-01-26 05:56)scan80269 Wrote: On my system acting as iSCSI disk server (running Windows Server 2012 R2/2016/2019 OS - with iSCSI Target Server feature enabled) I set up Tiny PXE Server to load ipxe-snponly-x86-64.efi (64-bit UEFI iPXE) for UEFI clients network booting via PXE. Once a client boots to iPXE, my iPXE script launches sanboot of an iSCSI virtual disk based on Ethernet MAC address match to initiate Win10 OS boot. The iSCSI virtual disk for the client is set up with GPT style disk partitions to properly support Win10 booting in UEFI mode (a Win10 requirement by Microsoft). If possible could you share the pxe script with me and the tiny pxe settings. i want to try it once.. Also about the disabling the legacy support, does it mean we have to put the client to exclusive UEFI mode ? |
|||
2019-01-26, 18:30
(This post was last modified: 2019-01-26 18:34 by scan80269.)
Post: #36
|
|||
|
|||
RE: How to boot with iscsi in UEFI env?
(2019-01-26 17:24)psychrabi Wrote:(2019-01-26 05:56)scan80269 Wrote: On my system acting as iSCSI disk server (running Windows Server 2012 R2/2016/2019 OS - with iSCSI Target Server feature enabled) I set up Tiny PXE Server to load ipxe-snponly-x86-64.efi (64-bit UEFI iPXE) for UEFI clients network booting via PXE. Once a client boots to iPXE, my iPXE script launches sanboot of an iSCSI virtual disk based on Ethernet MAC address match to initiate Win10 OS boot. The iSCSI virtual disk for the client is set up with GPT style disk partitions to properly support Win10 booting in UEFI mode (a Win10 requirement by Microsoft). It may depend on the client motherboard. Some systems like the Intel NUCs I use allow independent control of UEFI & legacy support, but whenever legacy support is enabled, the system will default to legacy PXE boot, so to get a NUC to do UEFI PXE boot, the legacy support option must be explicitly disabled. The PXE boot screens for UEFI and legacy typically look quite different, so it should be easy to tell which type of PXE boot the system is set to do. Here's a sample iPXE script: #!ipxe #ifopen net0 #dhcp set net0/gateway 0.0.0.0 echo IP: ${net0/ip}, Gateway: ${net0/gateway} echo MAC address: ${mac} set srvname iSCSIServer set boot-url http://${next-server} set keep-san 1 cpuid --ext 29 && set arch x64 || set arch x86 echo Platform type: ${platform} echo Arch: ${arch} echo ${platform}_${buildarch} echo prompt --timeout 5000 Press any key to continue || goto ${platform}_${buildarch} || goto unknown :pcbios_x86_64 :efi_i386 echo This ${platform}_$(buildarch} PC is currently not supported! goto exit :pcbios_i386 iseq ${mac} b8:ae:ed:7d:8b:3f && sanboot iscsi:${next-server}::::iqn.1991-05.com.microsoft:${srvname}-win10rs4-6i5syh-target || iseq ${mac} 54:b2:03:15:03:8b && sanboot iscsi:${next-server}::::iqn.1991-05.com.microsoft:${srvname}-win10rs4-7i5dnhe-target || goto WinPEboot :efi_x86_64 iseq ${mac} b8:ae:ed:7d:8b:3f && sanboot iscsi:${next-server}::::iqn.1991-05.com.microsoft:${srvname}-win10rs5-6i5syh-gpt-target || iseq ${mac} 54:b2:03:15:03:8b && sanboot iscsi:${next-server}::::iqn.1991-05.com.microsoft:${srvname}-win10rs5-7i5dnhe-gpt-target || :WinPEboot # Mount OS install disk if all sanboot to OS attempts fail sanhook --drive 0x81 iscsi:${next-server}::::iqn.1991-05.com.microsoft:${srvname}-win10rs5-install-target || echo prompt Press any key to boot WinPE # wimboot WinPE to prepare for OS installation kernel ${boot-url}/wimboot gui initrd -n segmono_boot.ttf ${boot-url}/Boot/fonts/segmono_boot.ttf segmono_boot.ttf || initrd -n segoe_slboot.ttf ${boot-url}/Boot/fonts/segoe_slboot.ttf segoe_slboot.ttf || initrd -n segoen_slboot.ttf ${boot-url}/Boot/fonts/segoen_slboot.ttf segoen_slboot.ttf || initrd -n wgl4_boot.ttf ${boot-url}/Boot/fonts/wgl4_boot.ttf wgl4_boot.ttf || iseq ${platform} pcbios && initrd -n bootmgr ${boot-url}/bootmgr bootmgr || iseq ${platform} efi && initrd -n bootx64.efi ${boot-url}/bootx64.efi bootx64.efi || initrd -n bcd ${boot-url}/Boot/BCD bcd || initrd -n boot.sdi ${boot-url}/Boot/boot.sdi boot.sdi || initrd -n boot.wim ${boot-url}/Boot/boot.wim boot.wim || boot :unknown echo Unknown platform ${platform}_${buildarch} :exit Prompt Press a key to exit Here's a sample config.ini for Tiny PXE Server: [arch] ;will over rule the bootp filename or opt67 if the client arch matches one of the below ;00006=bootia32.efi ;00007=bootx64.efi 00007=ipxe-snponly-x86-64.efi ;00007=ipxe-x86_64.efi ;00009=bootx64.efi [dhcp] ;needed to tell TFTPd where is the root folder root=E:\pxesrv\files\ ;bootp filename as in http://tools.ietf.org/html/rfc951 filename=ipxe-undionly.kpxe ;filename=ipxe-snponly-x86-64.efi ;alternative bootp filename if request comes from ipxe or gpxe altfilename=BIOSnUEFI.ipxe ;start HTTPd httpd=1 binl=0 start=0 dnsd=0 proxydhcp=1 ;default=1 bind=1 ;tftpd=1 by default ;will share (netbios) the root folder as PXE smb=0 ;will log to log.txt log=0 ;opt1= ;opt3= ;opt6= ;opt28= ;opt15= ;opt17= ;opt43= ;opt51= ;opt54= ;opt67= ;opt66= ;opt252= poolstart=192.168.0.106 poolsize=0 ;alternative bootp filename if request comes thru proxydhcp (udp:4011) ;proxybootfilename= ;any extra dhcp options ;my gpxe / ipxe dhcp options optextra=175.6.1.1.1.8.1.1 ;the below will be executed when clicking on the online button ;cmd=_test.bat ;if log=1, will log to log.txt log=0 opt1=255.255.255.0 opt3=192.168.0.1 opt6=192.168.0.1 opt28=192.168.0.255 opt43=0 opt51=3600 opt54=192.168.0.105 next-server=192.168.0.105 opt60=PXEClient opt66=192.168.0.105 opt17= opt67=ipxe-undionly.kpxe [frmDHCPServer] top=10 left=968 [frmAbout] top=486 left=509 |
|||
2019-01-27, 03:40
Post: #37
|
|||
|
|||
RE: How to boot with iscsi in UEFI env?
(2019-01-26 18:30)scan80269 Wrote:(2019-01-26 17:24)psychrabi Wrote:(2019-01-26 05:56)scan80269 Wrote: On my system acting as iSCSI disk server (running Windows Server 2012 R2/2016/2019 OS - with iSCSI Target Server feature enabled) I set up Tiny PXE Server to load ipxe-snponly-x86-64.efi (64-bit UEFI iPXE) for UEFI clients network booting via PXE. Once a client boots to iPXE, my iPXE script launches sanboot of an iSCSI virtual disk based on Ethernet MAC address match to initiate Win10 OS boot. The iSCSI virtual disk for the client is set up with GPT style disk partitions to properly support Win10 booting in UEFI mode (a Win10 requirement by Microsoft). Thank you. I will have a go at it today. |
|||
« Next Oldest | Next Newest »
|
User(s) browsing this thread: 4 Guest(s)