Sep 072014

Latest changelog :

added : @arch variable can be used in the altfilename (next to @mac and @ip). 00000 = bios, 00006=efi32, etc … see
fixed : tftpd will also bind if option is checked
modified : if the root folder in config.ini is incorrect, it will be set to the exe current directory
modified : if the filename cannot be resolved (like when using @arch or @mac), it will not prevent execution
modified : tftp will display the full path (within root) for a file request
added : @arch will also be used in opt252
fixed : opt67 in the config.ini would not set the root folder
added : [arch] section in config.ini optional, applies to filename and opt67. ex values -> 00006=bootia32.efi, 00007=bootx64.efi, etc …
added : support for nics.txt for BINL (overule the inf parsing)
fixed : opt13 was incorrect when loading a filename thru config.ini
fixed : opt13 was incorrect when using arch=00007/00006
fixed : when using opt67, would crash if [arch] section was missing
added : can re load settings from config.ini
added : can save settings to config.ini
added : smb checkbox
fixed : httpd uses fmShareDenyWrite to allow multiple i/o to one file
added : sent bootp packet will be word aligned
added : will replace \0 by null char for opt60,66,67 (some pxe clients require a null terminated string there)
added : attempt to support rfc951 = boot request will be handled as dhcp request (rfc951=1 in config.ini)
added : no_hostname=1 in config.ini to skip the server hostname field
changed : if opt54=’′ then skip in makebootp_vend (useless?)
added : no_opt13=1 in config.ini to skip option 13
changed : opt53 skipped if bootp request (i.e not a dhcp request) to be compatible with bootp clients

Discuss it here.
Download here.

 Posted by at 18 h 21 min
Mai 102014



 Posted by at 20 h 13 min
Mai 102014

PartedMagic is a disk management solution.
It does disk partitioning, disk cloning, data rescue, disk erasing, benchmarking.
Note, since August 2013, the tool has required a fee to download.

Lets now see how to PXE boot this linux distribution.

For this we will use TinyPXE Server and IPXE.


First lets prepare our iPXE script (save it to rescue.ipxe)

set boot-url http://${next-server}
kernel ${boot-url}/memdisk iso
initrd ${boot-url}/images/pmagic/pmagic_2013_02_28.iso

Now, lets setup TinyPXE Server


Now, lets boot !

Note :

-My iso is from february 2013, I cannot tell for sure it earlier or newer ISO’s will boot thru PXE

-This method (using memdisk) requires at least twice the size of the iso (lets round it up to 1 gb). if this is an issue, you may want to revert to booting pmagic filesquash.

 Posted by at 19 h 43 min
Avr 072014

Latest changelog

fixed : should detect if a socket is already in use
fixed : messages sent from threads would not always reach the memo box
added : will execute an executable/batch if cmd parameter is present in config.ini
fixed : httpd will handle both non keep-alive (default) and keep-alive http requests
fixed : would create crashes (under certain conditions) if the root path was incorrect
fixed : would not start tftpd if not set in config.ini
added : support for dhcp-relay (Thanks to Stefan Smet)

Discuss it here.
Download here.


 Posted by at 9 h 57 min
Mar 122014

About SystemRescueCD :

Description: SystemRescueCd is a Linux system rescue disk available as a bootable CD-ROM or USB stick for administrating or repairing your system and data after a crash. It aims to provide an easy way to carry out admin tasks on your computer, such as creating and editing the hard disk partitions. It comes with a lot of linux software such as system tools (parted, partimage, fstools, …) and basic tools (editors, midnight commander, network tools). It can be used for both Linux and windows computers, and on desktops as well as servers. This rescue system requires no installation as it can be booted from a CD/DVD drive or USB stick, but it can be installed on the hard disk if you wish. The kernel supports all important file systems (ext2/ext3/ext4, reiserfs, btrfs, xfs, jfs, vfat, ntfs), as well as network filesystems (samba and nfs).

Now as you have understood by now, whenever I can, I skip burning CD/DVD’s and will at worse use a USB stick or at best use PXE Boot.

Lets use TinyPXE Server + iPXE.

First lets prepare our iPXE script (save it to rescue.ipxe)

set boot-url http://${next-server}
kernel ${boot-url}/sysrcd-4.1.0/isolinux/rescue32 dodhcp netboot=${boot-url}/sysrcd-4.1.0/sysrcd.dat
initrd ${boot-url}/sysrcd-4.1.0/isolinux/initram.igz

Then lets prepare our files

Extrat the content of SystemRescueCD iso to /sysrcd-4.1.0, next to TinyPXE Server.
You can use 7Zip for this operation.

Now, lets setup TinyPXE Server


Now, lets boot !

 Posted by at 20 h 20 min
Mar 112014

In previous article, we have seen how to make a bootable disk image using CloneDisk.

Lets see now how to boot this disk image thru PXE boot with TinyPXE Server.

1-Prepare the the IPXE script
2-Setup TinyPXE Server
3-PXE Boot !

1-Prepare the IPXE script and save it as disk.ipxe

Pretty simple

set boot-url http://${next-server}
initrd ${boot-url}/test.vhd
kernel ${boot-url}/memdisk raw

2-Setup TinyPXE Server

Next to pxesrv.exe, in the same folder, you must have the following files :
-disk.ipxe (see previous item)
-ipxe-undionly.kpxe (in TPS zip file)
-memdisk (in TPS zip file)
-test.vhd (see previous article)

Now set TinyPXE Server as follow


3-PXE boot

 Posted by at 14 h 15 min
Jan 132014


  • fixed: remoteport=4011 when srcport=4011 -> was preventing some ipxe client to boot (uefi for exemple)
  • changed: opt60=empty by default when using opt67 (was ‘PXEClient’ before) -> was preventing ipxe client to boot with opt67
  • changed: opt60=’PXEClient’ when proxydhcp=1 (was hardcoded before) -> more flexible
  • fixed: xid is now displayed correctly -> was reversed order
  • fixed: was sending an empty boot filename in proxydhcp in the dhcp_offer stage -> removed, was preventing proxydhcp+opt67
  • changed: bind=true by default when multiple interfaces detected -> was preventing pxe boot with multiple interfaces when bind=false

Discuss it here.

 Posted by at 23 h 26 min
Jan 122014

Here below some drafts notes on how to boot WINPE on a UEFI computers.

1/Files you need from your windows x64 dvd

-\efi\boot\bootx64.efi file (1)
-\efi\boot\bcd file (2)
-\efi\boot\boot.sdi file (3)
-\efi\microsoft\boot\fonts folder (4)
-\sources\boot.wim (5)

If you dont find bootx64.efi, you can use bootmgfw.efi which is in install.wim on your dvd (sources folder).
Use 7zip to extract this file from the wim file and rename it to bootx64.efi

2/Files you need in your tftp root

-get in your tftp root
put bootx64.efi (from 1)
-create a SOURCES folder
put boot.wim in there (from 5)
-create a BOOT folder
put boot.sdi in there (from 3)
put bcd in there (from 2) / applies for Win8
-create a EFI/MICROSOFT/BOOT folder
put bcd in there (from 2) / applies for Win7
put the FONT folder in there (from 4)

You should end up with the following :
==bcd (for win8)
==bcd (for win7)

3/Things you need to do on your boot.wim

Add the following winpeshl.ini (create it with notepad) file in your boot.wim (system32), making it a « cheap » winpe.

To modify your boot.wim, you can either mount/change/commit it with DISM (from the command line), or with CloneDisk or else modify it with wimlib :
wimlib-imagex update boot.wim 1 --command="add CustomWinpeshl.ini \Windows\System32\winpeshl.ini"


4/Things you need to do in your PXE Server :

Set bootx64.efi as the bootp filename.

The UEFI + PXE boot process will be the following :
pxe->bootx64.efi (from windows install dvd)->bcd (pointing to winload.efi)->boot.wim (x64 only)

as opposed to a legacy bios computer :
pxe->pxeboot.n12 (from windows install dvd)-> bootmgr.exe -> bcd (pointing to winload.exe) -> boot.wim

Site note : you can use option dhcp 252 to decide which BCD file to load.
Can be handy when you want to switch from a UEFI computer to a legacy BIOS computer : efi\microsoft\boot or boot\bcd


side note : you can check if you booted on uefi with the following reg query HKLM\System\CurrentControlSet\Control /v PEFirmwareType Will output 0x1 for bios, 0x2 for uefi.


Note that the following would aso work : PXE-> IPXE.efi ->MS Bootx64.efi ->BCD (winload.efi) ->Boot.wim (x64).

Ipxe script

#change with you dhcp or proxydhcp server
set next-server
set filename boot/x64/bootmgfw.efi
chain tftp://${next-server}/${filename}

And changes to apply to your BCD : bcdedit.exe /store my.bcd /set {bootmgr} nointegritychecks yes

 Posted by at 21 h 49 min
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.


  • 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.


Prepare the ipxe script

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

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

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 »


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

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 :
tiny pxe server

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

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

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 🙂


 Posted by at 19 h 25 min