Jump to content











Photo
- - - - -

Boot Mini Windows VHD from Network via iPXE

vhd ipxe network minixp mini7 mini8

  • Please log in to reply
68 replies to this topic

#1 wimb

wimb

    Gold Member

  • Developer
  • 2281 posts
  •  
    Netherlands

Posted 12 October 2013 - 03:11 AM

Recently I have been using Tiny PXE Server for booting Mini Windows VHD from Network via iPXE

 

http://reboot.pro/to...iny-pxe-server/

http://reboot.pro/to...iny-pxe-server/

 

Thanks to erwan.l for making Tiny PXE Server and for help in using ipxe   :)

 

Info on iPXE -  http://ipxe.org/start

 

The Mini Windows VHD's of 1.2 - 2 GB are loaded from Network into RAMDISK and were made according to

http://reboot.pro/to...tall-xp-in-vhd/

http://reboot.pro/to...t-make-mini-xp/

http://reboot.pro/to...ct-make-mini-7/

http://reboot.pro/to...ct-make-mini-8/

 

After booting via iPXE with the server then in iPXE Menu we can select grub4dos option and make use of these working entries in menu.lst

Loading ISO or VHD into RAMDISK is going with a speed of about 500 MB/min which corresponds to about 65 Mbps

VHD Size max = 2 GB (abobe then file not found error)

 

#Use grldr as the ipxe boot file, and you can map an ISO to memory and boot from it:
 
title 7PE RAMDISK - 7pe_x86_E.iso - 263 MB
map --mem (pd)/images/7pe_x86_E.iso (0xff)
map --hook
chainloader (0xff)
 
title BartPE RAMDISK - LiveXP_WIM.ISO - 168 MB
map --mem (pd)/images/LiveXP_WIM.ISO (0xff)
map --hook
root (0xff)
chainloader (0xff)
 
title Linux Parted Magic V6.2 - RAMDISK - 168 MB
kernel (pd)/memdisk iso
initrd (pd)/images/pmagic/pmagic-6.2.iso
 
# load Mini Windows VHD via ipxe from Network into RAMDISK and boot from it
 
title Portable XP-1-P.vhd - WinVBlock RAMDISK  - 1232 MB
map --mem (pd)/XP-1-P.vhd (hd0)
map --hook
root (hd0,0)
chainloader /ntldr
 
title Portable Win7-1.vhd - FiraDisk  RAMDISK  - 2000 MB
map --mem (pd)/Win7-1.vhd (hd0)
map --hook
root (hd0,0)
chainloader /bootmgr
 
title Mini Win8-1.vhd - FiraDisk  RAMDISK  - 2000 MB
map --mem (pd)/Win8-1.vhd (hd0)
map --hook
root (hd0,0)
chainloader /bootmgr
 

 

 

1. Portable XP VHD 1.2 GB loaded via IPXE from Network into WinVBlock RAMDISK on Client PC

2. Portable Win7 VHD 2 GB loaded via IPXE from Network into FiraDisk RAMDISK on Client PC - WinNTSetup3 running from Server PC

3. Mini Win 8 VHD 2 GB  loaded via IPXE from Network into FiraDisk RAMDISK on Client PC

 

XP-VHD-NET-IPXE.png  == Win7-VHD-NET-IPXE.png == W8-VHD-NET_IPXE.png

 

It would be interesting if we can boot these Mini Windows VHD's direcly via Network from server without loading into RAMDISK.

For this purpose I am trying to use ipxe sanboot with the following entries in menu.ipxe

 

# use grub4dos menu.lst options to boot ISO or VHD from RAMDISK loaded via Network
 
:grub4dos
dhcp net0
chain ${210:string}grldr || goto failed
goto start
 
 
# ipxe sanboot options for booting 7PE ISO from Network - working OK
 
:7pe_x86_E
sanboot --no-describe ${boot-url}/images/7pe_x86_E.iso || goto failed
goto start  
 
# ipxe sanboot options for booting Mini Windows VHD from Network - Not working yet
 
:vhd_xp
sanboot --no-describe ${boot-url}/XP-1-P.vhd || goto failed
goto start  
 
:vhd_w7
sanboot --no-describe ${boot-url}/Win7-1.vhd || goto failed
goto start  
 
:vhd_w8
sanboot --no-describe ${boot-url}/Win8-1.vhd || goto failed
goto start  
 

 

The Tiny PXE Server has to run in Win7 or 8 OS since sanboot does not work for me when the server is running in XP OS.

 

Now using Win7 or 8 OS I got the following results for ipxe sanboot

- 7pe_x86_E.iso is booting OK  :) but easy since booting is from RAMDISK

- Portable XP VHD is recognised but booting does not start (reason might be - it has only WinVBlock driver)

- Portable Win7-1 VHD - booting starts but after loading drivers then BSOD 7B

- Mini Win8-1 VHD - booting starts but after loading drivers then Win8 BlueScreen driver issue - inaccessible_boot_device

 

Will it be possible to boot Mini Windows VHD's direcly via Network from server without loading into RAMDISK ?

 

:cheers:

 

  • erwan.l and Sky_Matrix like this

#2 wimb

wimb

    Gold Member

  • Developer
  • 2281 posts
  •  
    Netherlands

Posted 15 October 2013 - 07:26 AM

 

Will it be possible to boot Mini Windows VHD's direcly via Network from server without loading into RAMDISK ?

 

 

Yes, by using AoE or iSCSI :)

 

Thanks for proposal to use these methods as given in post of erwan.l and supported by Tiny PXE Server

http://reboot.pro/to...er/#entry178168

 

First I tried AoE for Portable Win7-1.vhd and it is working great :)

 

http://windowsdiskle...m/quick-how-to/

http://ipxe.org/appn...dowsdisklessaoe

http://reboot.pro/to...d-2008-servers/

http://reboot.pro/to...-instead-iscsi/

 

Now I can direct boot the Client PC diskless with remote Win7-1 VHD as AoE disk on Tiny PXE Server.

 

http://reboot.pro/to...er/#entry178441

 

AoE-W7-VHD.png



#3 wimb

wimb

    Gold Member

  • Developer
  • 2281 posts
  •  
    Netherlands

Posted 15 January 2014 - 10:45 AM

PXE booting of Win7 VHD as AoE disk on Tiny PXE Server is working great.

I can boot fast from Network with Win7 VHD and then run WinNTSetup3 from Network 

and use it to mount Windows XP/7/8 ISO on Network share and then Install Windows on Client PC.

So in this case it is not needed to load PE or VHD into RAMDISK, which would take more time.

 

PXE booting of Win8 VHD as AoE disk does NOT work for me.

Booting starts but does not continue (endless running of orb).

 

Has anyone got it working for Win8 VHD and if possible can give help to solve the issue ?

 

:cheers:

 

 

Attached Thumbnails

  • PXE_VHD7_Setup.png


#4 erwan.l

erwan.l

    Gold Member

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

Posted 17 January 2014 - 08:33 PM

I will give it a try.

Just installed windows 8.1 on a old laptop : was quiet a challenge already...

 

Now need to clone the disk and boot diskless via iPXE/AOE.

 

/Erwan



#5 erwan.l

erwan.l

    Gold Member

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

Posted 17 January 2014 - 09:17 PM

...

Booting starts but does not continue (endless running of orb).

 

...

 

 

Same for me.

 

Firewall disabled at both ends.

AOE service set to start=0 and startoverride=0.

Netword card driver (e1express in my case) set to start=0 (was 3) and startoverride=0

 

/Erwan



#6 wimb

wimb

    Gold Member

  • Developer
  • 2281 posts
  •  
    Netherlands

Posted 18 January 2014 - 10:22 AM

I changed the configuration completely and now somehow I have got it working.

 

PXE_W81_Setup.png

 

Tried to make everything as open as possible.

I used old Intel Pentium 4 with XP as server P4XP and copied the folder pxesrv162 to that PC

Then I disabled Firewall and shared pxesrv162 with all permissions.

 

On my previous server with AMD processor:

In Win8-1.VHD I had changed Firewall Settings to allow everything and checked that AoE and network card have Start=0 (was OK already)

So I was sure that this Win8-1.vhd can boot on AMD machine that will be used now as client PC.

Then transferred that Win8-1.vhd to the PXE server P4XP PC

 

PXE Booting of AMD machine with Win8-1.vhd located on P4XP PC is working now :)

 

Now that I have a working configuration it will be possible to find out what parameters did block the PXE booting previously.

On PXE server I enabled Firewall again and unshared pxesrv162 folder

Then PXE booting of Win8-1.vhd is still working, so these measures were unneeded.

 

:cheers:



#7 erwan.l

erwan.l

    Gold Member

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

Posted 18 January 2014 - 02:53 PM

In my Windows 8.1, the aoe driver is mounted fine and I can see the AOE disk controller.

 

On the command line, aoe scan works fine but not aoe mount e0.0.

Could you try this last command?

 

Could you also point to the driver you used : there are several versions out there.

 

Thanks,

Erwan

 

edit : aoe mount e0.0 is wrong, syntax is aoe mount xx:xx:xx:xx:xx:xx major minor



#8 wimb

wimb

    Gold Member

  • Developer
  • 2281 posts
  •  
    Netherlands

Posted 19 January 2014 - 05:52 AM

I used winaoe driver from http://windowsdiskle.../winaoe-driver/

 

The date of aoe32.sys is 27-06-2012

 

I don't know where and how to use the command aoe mount xx:xx:xx:xx:xx:xx major minor



#9 Sha0

Sha0

    WinVBlock Dev

  • Developer
  • 1679 posts
  • Location:reboot.pro Forums
  • Interests:Booting
  •  
    Canada

Posted 21 January 2014 - 03:53 AM

AoE means "ATA over Ethernet". It doesn't care about any IP firewalling, as it functions at a lower layer of the OSI model[1]. WinAoE originally comes from here[2].
 
[1] http://en.wikipedia....A_over_Ethernet
[2] http://winaoe.org/


  • wimb likes this

#10 wimb

wimb

    Gold Member

  • Developer
  • 2281 posts
  •  
    Netherlands

Posted 21 January 2014 - 11:31 AM

AoE means "ATA over Ethernet". It doesn't care about any IP firewalling, as it functions at a lower layer of the OSI model[1]. WinAoE originally comes from here[2].
 
[1] http://en.wikipedia....A_over_Ethernet
[2] http://winaoe.org/

 

Thanks for all Info.

It will certainly help me  for PXE booting of XP VHD as AoE disk on Tiny PXE Server.

Until now XP VHD refuses to boot as AoE disk but probably I need to study the subject.

 

CCBoot has also given interesting info and youtube video

http://reboot.pro/to...oot-technology/

 

:cheers:



#11 erwan.l

erwan.l

    Gold Member

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

Posted 21 January 2014 - 12:56 PM

Based on my experience, regarding AOE boot on san, it is not as easy as iScsi.

I failed so far both on win7 and win8.

 

Method was the following (which works flawlessly with iscsi) :

 

1-install O.S on physical machine

2-install AOE (and reboot to make sure the driver gets installed ok)

3-clone physical drive to an image file

4-remove physical drive

5-boot on san with ipxe+vblade (target)

 

->it boots but hangs on the orb / when booting via safe mode, it stops on "loading aoe32.sys" (next step should be "loading atapi.sys" ?)

 

I know the image works fine as I can restore back on the physical drive and it will boot ok.

 

Regards,

Erwan



#12 wimb

wimb

    Gold Member

  • Developer
  • 2281 posts
  •  
    Netherlands

Posted 21 January 2014 - 01:15 PM

PXE booting of Win7 and Win8 VHD as AoE works for me, but not in all occasions.

It means I got it working for one Server + Client combination, but not for every combination.

 

Until now PXE booting of XP VHD as AoE failed for me for the configuration where 7 and 8 VHD are working.

I guess it will be possible but requires more study and experiments.

 

The method I used is comparable to what you describes.

 

To be continued .....

 

Why are the recent posts of CCBoot removed from this forum ?



#13 Sha0

Sha0

    WinVBlock Dev

  • Developer
  • 1679 posts
  • Location:reboot.pro Forums
  • Interests:Booting
  •  
    Canada

Posted 22 January 2014 - 11:36 AM

If you are going to boot the cloned AoE drive, you must remove the original drive from the system. Also, you must boot the same machine. Also, WinAoE's home-page says it works with Microsoft Windows <= Vista. Also, you should make sure that you can attach an AoE SAN (but not the cloned image!) from the OS on the HDD before cloning it (the OS) to an image file/other disk. Also, you must use whichever network connection for booting as you use for that test.

#14 erwan.l

erwan.l

    Gold Member

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

Posted 22 January 2014 - 12:37 PM

If you are going to boot the cloned AoE drive, you must remove the original drive from the system. Also, you must boot the same machine. Also, WinAoE's home-page says it works with Microsoft Windows <= Vista. Also, you should make sure that you can attach an AoE SAN (but not the cloned image!) from the OS on the HDD before cloning it (the OS) to an image file/other disk. Also, you must use whichever network connection for booting as you use for that test.

 

Did all that except that the O.S is Windows 7.

 

-original drive removed : YES

-use same machine : YES

-use same network connection : YES

 

I have the feeling that the issue could be around disk signature although I would then expect a 0x7b BSOD and atapi.sys is not even loaded which I would expect to be the one triggering a 0x7b BSOD.

For now, windows is stuck on loading AOE32.SYS driver.

It start loading (windows boot loader) but I feel the issue is around switching from real mode (ipxe+aoe initiator) where the disk is seen and windows kernel mode (where windows seems to wait for a disk).

 

But my understanding/analysis could be all wrong :)

 

Regards,

Erwan



#15 Sha0

Sha0

    WinVBlock Dev

  • Developer
  • 1679 posts
  • Location:reboot.pro Forums
  • Interests:Booting
  •  
    Canada

Posted 23 January 2014 - 12:51 AM

I have the feeling that the issue could be around disk signature although I would then expect a 0x7b BSOD and atapi.sys is not even loaded which I would expect to be the one triggering a 0x7b BSOD.
For now, windows is stuck on loading AOE32.SYS driver.
It start loading (windows boot loader) but I feel the issue is around switching from real mode (ipxe+aoe initiator) where the disk is seen and windows kernel mode (where windows seems to wait for a disk).

Drivers don't trigger a STOP 0x0000007B, but the lack of a driver certainly can. :)

The driver loading order that you observe should be precisely the same as the order you'd see if the OS was on a local HDD. If they're any different, then the cloning process didn't work out quite right, I'd suggest. When you see the list of drivers go by, none of them are being invoked. It is only after they've all been loaded that the boot-program hands control to the kernel, who then invokes the loaded drivers. That is, almost always the last driver you see loaded is a red herring; the only reason why loading A, B, C would stall at B would be if there was a filesystem or disk I/O problem that stalled it.

Are you cloning the disk to an image file while running the OS that you are cloning? How are you cloning the disk?

#16 erwan.l

erwan.l

    Gold Member

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

Posted 23 January 2014 - 07:00 AM

Hi Shao,

 

I am booting a winpe and from them I am dumping the physical disk to a raw image.

I can mount fine the image fine in imdisk, I can boot it fine in qemu.

 

Boot loader goes fine until it loads aoe32.

Could it be that aoe32 crashes silently? Note that the laptop stops responding at that time : caps lock key no longer responds.

 

Regards,

Erwan



#17 Sha0

Sha0

    WinVBlock Dev

  • Developer
  • 1679 posts
  • Location:reboot.pro Forums
  • Interests:Booting
  •  
    Canada

Posted 24 January 2014 - 12:02 AM

Boot loader goes fine until it loads aoe32.
Could it be that aoe32 crashes silently? Note that the laptop stops responding at that time : caps lock key no longer responds.

I find that unlikely. As I tried to explain, loading a driver is different than invoking a driver. If you run Microsoft's SysInternals' Load Order utility, what is the very last item with a Boot start-value? The list of drivers you see has nothing to do with any particular driver causing an issue; it just shows which drivers are loaded. (No driver code is executed.)

EDIT: I suppose if there was a problem with the PE image, that could possibly hang the OS loader before finishing its list. Having the PE "unsigned" could possible present such an issue, but I'd expect the OS loader to inform the user about that case. My guess is that WinAoE will be last in your load-order, so all drivers are being loaded. It'd be fun to be wrong about that; LoadOrd lets you copy the list to the clipboard.

#18 wimb

wimb

    Gold Member

  • Developer
  • 2281 posts
  •  
    Netherlands

Posted 29 January 2014 - 07:34 PM

iSCSI Starwind Server running on Windows 8.1 x64 + Tiny PXE Server is working OK :)

 

Here  is the first result of PXE booting of Windows 81x32 img file of 2.5 GB

 

Starwind iSCSI Server on Win8.1 x64 === > PXE booting on Intel i5 via iSCSI of Win81x32.img file

 

iSCSI-Starwind.png ===> iSCSI-81x32.png

 

Thanks to StarWind iSCSI SAN Free Edition :1st: -   http://www.starwinds...m/starwind-free

Thanks to Erwan for making Tiny PXE Server :1st: - http://reboot.pro/fi...iny-pxe-server/

 

:cheers:



#19 wimb

wimb

    Gold Member

  • Developer
  • 2281 posts
  •  
    Netherlands

Posted 30 January 2014 - 07:03 AM

After the success with Starwind iSCSI then I decided to try the same image for AoE

 

I installed AoE driver and then reboot and Install of CCBoot Client and reboot.

 

Then I used vblade GUI to mount the Win81x32.img file as AoE disk

Then start of Tiny PXE Server.

 

Then PXE booting on Intel i5 machine and selecting AoE in iPXE Menu

 

The picture shows that PXE booting of AoE disk is working, but I have no access to Internet

I solved the issue by changing for the Win81x32.img the IPv4 Adapter settings into Automatic IP address and then  PXE reboot.

The problem is caused by Install of the CCBoot Client which changed the setting into fixed IP address :ph34r:

 

AoE-W81x32.png ==== > AoE-OK.png

 

:cheers:



#20 wimb

wimb

    Gold Member

  • Developer
  • 2281 posts
  •  
    Netherlands

Posted 31 January 2014 - 03:38 PM

Intel i5 Client machine PXE booting  with Windows 7 x32 2GB VHD as AoE Disk in Tiny PXE Server running in XP OS.

 

Everything working OK - Network and Internet OK after changing fixed IP address into automatic IP and then PXE reboot.

 

W7x32-AoE.png

 

When the Tiny PXE Server is running in Win  8.1 x64 OS then Win7 x32 is booting as AoE disk or as iSCSI (CCBoot Client needed),

but Internet is not working - So here the OS of Tiny PXE Server is also quite important.

 

:cheers:



#21 erwan.l

erwan.l

    Gold Member

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

Posted 31 January 2014 - 03:46 PM

Hi Wimb,

 

Some questions :

 

-is CCBoot mandatory? 

 

-Are you using proxydhcp or dhcp only in Tiny PXE Server? if dhcp only, then beware that most probably your booting AOE O.S will get its ip config from Tiny PXE Server (hence the need to set the dns, gateway, etc...)

 

Regards,

Erwan



#22 wimb

wimb

    Gold Member

  • Developer
  • 2281 posts
  •  
    Netherlands

Posted 31 January 2014 - 04:18 PM

Hi Erwan,

 

PXE booting of Win8 VHD as iSCSI on Starwind Server is working out of the box and does not need CCBoot

For Win7 VHD I could iSCSI only get working after Install of CCBoot client in Win7 VHD

 

Both VHD's require for AoE booting to install the CCBoot client in VHD

 

For PXE booting of Win7/8 as iSCSI then I need to rename the VHD and give it .img extension,

since Starwind does not know .vhd extension ....

 

In Tiny PXE Server I did not use yet the ProxyDhcp checkbox.

Thanks for your remark about it. I will try again and using the checkbox :)

 

:cheers:



#23 erwan.l

erwan.l

    Gold Member

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

Posted 31 January 2014 - 04:34 PM

I'll redo my tests with AOE with installing CCBoot although I am puzzled as CCBoot should not make a difference.

 

Any specific actions your performed in ccboot client?

 

ISCSI has always worked 100% at first shot for me on most (if not all) windows versions since XP.

And since Win7, one can install straight to an ISCSI target.



#24 erwan.l

erwan.l

    Gold Member

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

Posted 31 January 2014 - 05:23 PM

Oki, it works : win7+aoe+ccboot.

 

I am not sure 100% yet that the ccboot did the trick.

I also notice that the ccboot client installs the iscsi drivers and the MS MPIO drivers along with its ownn CCBoot drivers.

 

What I did :

 

1-install O.S on physical machine

2-install AOE (and reboot to make sure the driver gets installed ok)

3-set the network card driver with start=0

          -> not sure this part is mandatory but it would make sense that the network starts asap

4-install ccboot client with default settings

          -> dont know why for now this would be mandatory

5-clone physical drive to an image file

6-remove physical drive

7-boot on san with ipxe+vblade (target)

 

Edit:

I deinstalled the CCBoot client in my AOE image.

The AOE image no longer boots and remains stucks on the windows orb right after loading drivers AOE32.SYS, just like my previous tests with CCBoot client.

 

So there is definitely something that does the CCBoot client which is needed to boot with AOE.

And to go further, I believe something is missing on AOE side as it does not work by itself.



#25 wimb

wimb

    Gold Member

  • Developer
  • 2281 posts
  •  
    Netherlands

Posted 31 January 2014 - 06:06 PM

I followed the descriprtion on How to boot with AoE

 

http://ipxe.org/appn...dowsdisklessaoe

- Download and Install WinAoE Driver as Storage Controller

- Download and Install CCBoot Client without options

 

 

https://windowsdiskl...-ccboot-client/

 

So I unchecked the two Checkboxes in CCBootclient.

 

=======================================================

 

iSCSI is working for me in case of Win8 img (the renamed portable Win8 VHD of size 2.5 GB made with my program)

iSCSI does work for me in case of Win7 img only when the CCBoot client is installed as described above.

This last result I think is strange since Win7 has iSCSI support.

 

:cheers:







Also tagged with one or more of these keywords: vhd, ipxe, network, minixp, mini7, mini8

1 user(s) are reading this topic

0 members, 1 guests, 0 anonymous users