Jan 252014

BOOTICE is a powerful boot-related utility.
It’s desired to manipulate (install, backup, restore) the MBR and PBR of disks (or disk images), to partition and format disks, to edit disk sectors in hexadecimal, to erase all the data on your disk or logical drive (by filling with customizable characters), to edit Grub4DOS boot menu, and to edit BCD file of Windows NT 6.x.

2013.12.10 v1.3.2.1
1. Fixed the bug that compacting VHD doesn’t work on Windows 7.

â—† 2013.12.07 v1.3.2
1. VHD/VHDX supporting. Now you can create, mount or unmount, resize, compact, reset the parent VHD file for VHD/VHDX files.
2. Better partition formatting speed, especially for NTFS.
3. Allow formatting as FAT32 on a partition larger than 32GB.
4. Fixed a bug that cuases wrong total sectors of VHD files.
5. When installing GRUB4DOS/WEE MBR, the choice « Install NT6 MBR to the 2nd sector » was checked initially.

Find it here.


Jan 252014

A must have.

Get it here.
Discuss it here.

Rufus is an utility that helps format and create bootable USB flash drives, such as USB keys/pendrives, memory sticks, etc.

It can be especially useful for cases where:

you need to create USB installation media from bootable ISOs (Windows, Linux, UEFI, etc.)
you need to work on a system that doesn’t have an OS installed
you need to flash a BIOS or other firmware from DOS
you want to run a low-level utility


 Posted by at 14 h 13 min  Tagged with:
Jan 252014

See here .

Very handy GUI to perform the following : apply install.wim file, takes care of the mbr, pbr and bcd

– Install Windows 2k/XP/2003/2008/2012/Vista/7/8.x x86/x64
– Practically runs even on the most minimalistic WinPE
– Choose able drive letter for the new Windows installation
– Install Windows also if nlite/vlite has remove winnt32.exe/setup.exe
– Integrate Drivers: normal PNP and Textmode Drivers also
– patch uxtheme to allow unsigned Themes
– Some tweaks
– Support « Windows to Go » for Windows 7 and later installs


Jan 232014

Plan is to rewrite all my delphi 7 apps with Delphi XE5.

First to benefit from a more modern IDE, and to stay in synch with libs I used (jvcl, jwa, etc) but also to be able to build 64bits binaries (following this guide).
Additionally, building android apps would be a nice plus with this new version.

-Installed a brand new Windows7 x64
-Downloaded and installed the eval version.
-Installed JCL and JVCL (thru github, see here)
-Installed JWA
-Installed Madshi

Now the fun starts, CloneDisk delphi projects opens fine in Delphi XE5 (yes!), compiles fine (yes again!) but code needs to be reviewed to work properly.
Side note : x86 binary is much bigger than before. Something to check later.

Let start with the following :
-pchar now means pwidechar (we are now unicode) whereas it meant pansichar in delphi 7, so all ansicode api need to use keyword pansichar.
-replace ansi api by generic ones where possible: i.e messageboxa->messagebox so that it works both in delphi 7/ansi & delphi xe5/unicode

Still a long way to build a x64 binary.

To be continued…


 Posted by at 10 h 24 min  Tagged with:
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 122014

Clonedisk now supports WIM format to backup/restore a logical disk.
Clonedisk currently focuses on 2 standard format : RAW and WIM.

In the advanced menu, one can also retrieve WIM informations, capture/apply, export, mount …

Discuss it here.


 Posted by at 20 h 27 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