Jan 112014
 

There are times where you may not have a dvd drive or media available, or else, you may also want to perform some tasks before triggering the windows setup.

Agenda

  • Prepare winpe with QuickPE
  • Prepare the ipxe script
  • Prepare the PXE server with TinyPxe Server
  • Boot to winpe and Install windows
  • Reboot and complete the installation on the local drive

Prepare winpe with QuickPE

You can either use MS WAIK (winpe3), or MS ADK (winpe4) or an existing windows setup DVD or ISO file.
Launch _run_me.cmd and make your choice.

quickpe_menu

Prepare the ipxe script

The following will attach an iscsi drive and will boot your winpe


#!ipxe
dhcp net0
set boot-url http://${dhcp-server}
initrd ${boot-url}/images/winpe4.iso
kernel ${boot-url}/memdisk iso raw
boot

Prepare the PXE server with TinyPxe Server

Use ipxe-undionly.kpxe as « boot file name » and the above script (name it install.ipxe) as « filename if user-class=iPXE »

tinypxeserver

Boot to Winpe

Now lets network boot (pxe as first device in the bios).
Computer will pxe boot, load ipxe, then load your script.
The script will boot into winpe.

Now we are ready to perform the installation : map a drive thanks to PeNetwork (in the tinyshell launchbar) and map a network share containing your windows installation files.
You could eventually script this part (in batch file) :

net use \\servername\sharename /user:username password
\\servername\sharename\setup.exe

Note1 : CloneDisk can also mount a virtual dvd drive from an iso file (only in winpe4).

Note2 : Rather than launching the setup.exe from the windows DVD, you can also apply a wim file to the target drive using imagex (or clonedisk).
If so, then remember that you need to prepare the drive (partition active, boot sector …).
Example code using imagex (we’ll assume the partition has been made active already) :

Imagex /apply \\servername\sharename\install.wim 1 c:
bcdboot c:\windows /s c:
bootsect /nt60 c: /mbr

Launch the windows setup and let it run.

Reboot to local drive

Windows should the complete the installation, and reboot one last to your windows desktop.

See below a video demonstrating the above steps.

 Posted by at 14 h 51 min
Oct 162013
 

Here below a step by step to PXE boot Linux Mint over NFS

needed :
ipxe
tiny pxe server
winnfsd
Mint

1/Prepare the Linux Mint files

open mint.iso in winrar (or any other iso reading capable tool).
extract casper folder to x:\pxe\iso\mint (or any path that suit you)

2/Prepare NFS Server

launch winnfsd with the following :
winnfsd.exe -id 0 0 x:\pxe\iso\mint

note : adapt the above path with your own path

3/Prepare iPXE Script

#!ipxe
set nfs-server ${next-server}
kernel /ISO/mint/casper/vmlinuz root=/dev/nfs boot=casper netboot=nfs nfsroot=${nfs-server}:/x/ISO/mint quiet splash
initrd /ISO/mint/casper/initrd.lz
boot

note : adapt /x/pxe/ISO/mint to your own path.
name it mint.ipxe and put it in x:\pxe

4/Prepare PXE Server

put ipxe-undionly.kpxe in x:\pxe
launch tiny pxe server with the following settings (leave other settings untouched) :
->boot filename = ipxe-undionly.kpxe (use the browse files and folders « … » button)
->filename if user-class=iPXE = mint.ipxe

push the online button

5/Boot !

pxe boot your computer and here we go 🙂

linux-mint-10-lxde

 Posted by at 19 h 25 min
Sep 242013
 

needed :
tiny pxe server
gParted

open gparted.iso in winrar (or any other iso reading capable tool).
extract live folder to x:\pxe\iso\gparted

use the below ipxe script :

#!ipxe
set boot-url http://${dhcp-server}
kernel ${boot-url}/ISO/gparted/vmlinuz boot=live config union=aufs noswap noprompt vga=788 fetch=${boot-url}/ISO/gparted/filesystem.squashfs
initrd ${boot-url}/ISO/gparted/initrd.img
boot

name it gparted.ipxe and put it in x:\pxe

put ipxe-undionly.kpxe in x:\pxe

launch tiny pxe server with the following settings (leave other settings untouched) :
tick « httpd »
boot filename = ipxe-undionly.kpxe (use the browse files and folders « … » button)
tick « filename if user-class=gPXE or iPXE » = http://${dhcp-server}/gparted.ipxe
push the online button

pxe boot your computer and here we go

 

Gparted

 Posted by at 18 h 51 min
Sep 062013
 

needed :
ipxe
tiny pxe server
winnfsd
ubuntu

1/open ubuntu.iso in winrar or 7zip (or any other iso reading capable tool).
extract casper folder to x:\pxe\iso\ubuntu.13.04 (or any path that suit you)

2/launch winnfsd with the following :
winnfsd.exe -id 0 0 x:\pxe\iso\ubuntu.13.04
note : adapt the above path with your own path

3/use the below ipxe script :

#!ipxe
set boot-url http://${dhcp-server}
kernel ${boot-url}/ISO/ubuntu.13.04/casper/vmlinuz root=/dev/nfs boot=casper netboot=nfs nfsroot=${dhcp-server}:/x/ISO/ubuntu.13.04 ip=dhcp ro
initrd ${boot-url}/ISO/ubuntu.13.04/casper/initrd.lz
boot

note : adapt /x/pxe/ISO/ubuntu.13.04 to your own path.
name it ubuntu.ipxe and put it in x:\pxe

4/put ipxe-undionly.kpxe in x:\pxe

5/launch tiny pxe server with the following settings (leave other settings untouched) :
tick « httpd »
boot filename = ipxe-undionly.kpxe (use the browse files and folders « … » button)
tick « filename if user-class=gPXE or iPXE » = http://${dhcp-server}/ubuntu.ipxe
push the online button

6/pxe boot your computer and here we go

 Posted by at 22 h 43 min
Sep 012013
 

Latest version 1.0.0.14 now support ProxyDHCP features.

In short :

TinyPXE Server can now co exist « peacefully » with another dhcp server on the same LAN.
No more race conditions where first one (dhcp server) to answer wins the lease.

With ProxyDHCP option enable, TinyPXE Server will now « only » provide the boot file name information (and only to proxydhcp clients) : the client will then use/combine the dhcp offers from both servers (lease+boot file name).

Tested with success with the following boot straps : ipxe , gpxe , pxelinux , startrom.0 , pxeboot.com …

Discuss it here at reboot.pro.

More info around PXE here.

Cheers,
Erwan

tinypxeserver_proxydhcp

 Posted by at 21 h 02 min
Août 292013
 

Agenda

  • Prepare winpe (3 or 4) with QuickPE
  • Prepare the ipxe script
  • Prepare the PXE server with TinyPxe Server
  • Prepare the ISCSI target
  • Boot to winpe, prepare the drive, and Install windows
  • Reboot to your target !

Note that we have already covered installing win7 (or win8) directly to an ISCSI target : here.

However, there are times where yoy may not have a dvd drive or media available, or else, you may also want to perform some tasks before triggering the windows setup.

Prepare winpe (3 or 4) with QuickPE
You can either use MS WAIK (winpe3), or MS ADK (winpe4) or an existing windows setup DVD or ISO file.
Launch _run_me.cmd and make your choice.

quickpe_menu

Prepare the ipxe script
The following will attach an iscsi drive and will boot your winpe


#!ipxe
dhcp net0
set gateway 0.0.0.0
set keep-san 1
sanhook iscsi:192.168.1.248:tcp:3260:0:iqn.2000-01.com.synology:test
set boot-url http://${dhcp-server}
initrd ${boot-url}/images/winre.iso
kernel ${boot-url}/memdisk iso raw
boot

Prepare the PXE server with TinyPxe Server
Use ipxe-undionly.kpxe as « boot file name » and the above script (name it install.ipxe) as « filename if user-class=iPXE »

tinypxeserver

Prepare the ISCSI target
There you can either use starwind target free edition or any other target (many home nas device do have that feature also).
The target should be at least 8GB.

starwind_setup

Boot to Winpe, prepare the drive
Now lets network boot (pxe as first device in the bios).
Computer will pxe boot, load ipxe, then load your script.
The script will atatch your iscsi target and boot into winpe.
Note : you need one physical disk in your computer or else winpe might reboot in a loop. Also the windows setup will not go pass the disk selection if not physical disk is present.

Once in Winpe you should see your iscsi target listed as a physical drive : to check this, launch CloneDisk or diskpart.

Fist, lets create a disk, then lets create a (active) partition and finally lets format it : you can do all this with CloneDisk or diskpart.

clonedisk_iscsi
Then Lets also take care of the MBR and BS either with « bootsect.exe /nt60 c: /MBR » or with bootice or with CloneDisk.

Finally lets also create the bcd store with the following « bcdboot x:\windows /s c: ». C: is your iscsi disk, X: is your winpe disk.
Another alternative is to copy the bcd folder and the bootmgr file from your dvd to your target drive.
Then edit c:\boot\bcd with bootice or bcdedit and add a default win7 entry.

Now we are ready to perform the installation : map a drive thanks to PeNetwork (in the tinyshell launchbar) and either map a dvd shared over the network or an iso found in a network share.
Note : CloneDisk can also mount a virtual dvd driver from an iso file (only in winpe4).

Launch the windows setup and let it run : you should find your iscsi drive there.

screenshot.7

Boot to your ISCSI target via PXE
Here comes your second ipxe script, name it boot.ipxe and use it within Tiny PXE Server :
#!ipxe
dhcp net0
set gateway 0.0.0.0
set keep-san 1
sanboot iscsi:192.168.1.248:tcp:3260:0:iqn.2000-01.com.synology:test

Windows should the complete the installation, and reboot one last to your windows desktop.

 Posted by at 19 h 12 min
Août 132013
 

needed :
tiny pxe server
Partition Wizard

put pwhe8.iso in x:\pxe\iso

use the below ipxe script :

#!ipxe
set boot-url http://${dhcp-server}
initrd ${boot-url}/iso/pwhe8.iso
kernel ${boot-url}/memdisk iso
boot

name it pwhe8.ipxe and put it in x:\pxe

put ipxe-undionly.kpxe in x:\pxe

launch tiny pxe server with the following settings (leave other settings untouched) :
tick « httpd »
boot filename = ipxe-undionly.kpxe (use the browse files and folders « … » button)
tick « filename if user-class=gPXE or iPXE » = http://${dhcp-server}/pwhe8.ipxe.ipxe
push the online button

pxe boot your computer and here we go

homepw

 Posted by at 19 h 26 min
Août 132013
 

needed :
tiny pxe server
Clonezilla

open clonezilla.iso in winrar (or any other iso reading capable tool).
extract live folder to x:\pxe\iso\clonezilla

use the below ipxe script :

#!ipxe
set boot-url http://${dhcp-server}
kernel ${boot-url}/ISO/clonezilla/live/vmlinuz boot=live config noswap nolocales edd=on nomodeset vga=788 nosplash noprompt fetch=http://${dhcp-server}/ISO/clonezilla/live/filesystem.squashfs
initrd ${boot-url}/ISO/clonezilla/live/initrd.img
boot

name it clonezilla.ipxe and put it in x:\pxe

put ipxe-undionly.kpxe in x:\pxe

launch tiny pxe server with the following settings (leave other settings untouched) :
tick « httpd »
boot filename = ipxe-undionly.kpxe (use the browse files and folders « … » button)
tick « filename if user-class=gPXE or iPXE » = http://${dhcp-server}/clonezilla.ipxe
push the online button

pxe boot your computer and here we go

clonezilla

 Posted by at 19 h 20 min
Août 132013
 

needed :
tiny pxe server
winnfsd
redo backup recovery

open redobackup.iso in winrar (or any other iso reading capable tool).
extract casper folder to x:\pxe\iso\redobackup (or any path that suit you)

launch winnfsd with the following :
winnfsd.exe -id 0 0 x:\pxe\iso\redobackup
note : adapt the above path with your own path

use the below ipxe script :

#!ipxe
set boot-url http://${dhcp-server}
kernel ${boot-url}/iso/redobackup/casper/vmlinuz boot=casper netboot=nfs nfsroot=${dhcp-server}:/x/pxe/ISO/redobackup
initrd ${boot-url}/iso/redobackup/casper/initrd.lz
boot

note : adapt /x/pxe/ISO/redobackup to your own path.
name it redo.ipxe and put it in x:\pxe

put ipxe-undionly.kpxe in x:\pxe

launch tiny pxe server with the following settings (leave other settings untouched) :
tick « httpd »
boot filename = ipxe-undionly.kpxe (use the browse files and folders « … » button)
tick « filename if user-class=gPXE or iPXE » = http://${dhcp-server}/redo.ipxe
push the online button

pxe boot your computer and here we go

Redo-Backup-Recovery

 Posted by at 15 h 02 min