Fév 092014
 

Another worthy tool to add to your toolset.

Disk2vhd is a utility that creates VHD (Virtual Hard Disk – Microsoft’s Virtual Machine disk format) versions of physical disks for use in Microsoft Virtual PC or Microsoft Hyper-V virtual machines (VMs). The difference between Disk2vhd and other physical-to-virtual tools is that you can run Disk2vhd on a system that’s online. Disk2vhd uses Windows’ Volume Snapshot capability, introduced in Windows XP, to create consistent point-in-time snapshots of the volumes you want to include in a conversion.

See here.

 Posted by at 17 h 24 min  Tagged with:
Fév 082014
 

Yet another tool (batch) to generate a minimalist winpe iso using the Windows Assessment and Deployment Toolkit (ADK) or Windows Automated Installation Kit .

Uncompress to x:\quickpe and launch make.cmd.
Get winpe iso in x:\quickpe\%processor_architecture% .

Changelog:

    • 0.2
    • -make4.cmd will generate a winpe4.iso (using MS ADK)
    • -make3.cmd will generate a winpe3.iso (using MS WAIK)
    • 0.3
    • -winre.cmd will generate a winre.iso (using local WINRE)
    • 0.4
    • -any files/folders in \pe_extra will be added in the wim file in the \tools folder
    • -winre.cmd renamed to make_re.cmd to be consistent with make_pe3.cmd and mape_pe4.cmd
    • -added setres to the zip file.
    • 0.5
    • -added make_re_from_iso.cmd which will generate a winpe iso based from a windows 7 or 8 iso.
    • -added make_re_from_dvd.cmd which will generate a winpe iso based from a windows 7 or 8 dvd.
    • -added a dpinst GUI so that one can easily load drivers from a driverspack.
    • 0.6
    • -added : compatibility with x64 hosts for winpe4
    • 0.7
    • -added : add-pack3.sample, add-pack4.sample (rename to cmd to add a winpe package in winpe3 or winpe4)
    • -added : _run_me.cmd as a main menu
    • 0.8
    • -added : x64 tinyshell
    • 0.9
    • -modified : reviewed code so that it all works on x64 platforms
    • -added : add-drivers3.sample, add-drivers4.sample (rename to cmd to add a windows drivers in winpe3 or winpe4)

Download/Discuss it here

The batch menu :

quickpev09

A generated Winpe :

winpe

 Posted by at 22 h 03 min
Fév 022014
 

New CloneDisk 2.0.7 version out.

Download it here.

Discuss it here.

Changelog since 2.0:

  • modified : remove some screens/functions for simplicity and focus
  • added : can backup/restore to/from a wim file (using MS WIMGAPI)
  • added : can mount/unmount a wim file
  • added : get information about an image within the .wim file
  • fixed : support for drives > 2147483647 sectors, now up to 4294967295 sectors
  • fixed : cleaned all pchar to pansichar to prepare a move to unicode (where pchar=pwidechar)
  • removed : madsecurity, preparing for a 64bits version
  • modified : use ms offlinereg for offline registry rather than mounting the hive (less intrusive on the target hive)
  • modified : dropped getlogicaldrives api in favor or querydosdevice
  • added : set symbolic link
  • added : set volume point
  • fixed : will properly catch message from wimgapi
  • added : will check presence of wimgapi
  • added : will exclude files listed in wimscript.ini when capturing to wim
  • added : ability to backup and restore to/from devio (from Imdisk / Olof)
  • modified : regorganised menus into clone, disk and volume categories

clonedisk207

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

bootice

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

rufus_en

 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

Features:
– 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

winntsetup3x

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…

/Erwan

 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 :
=>ROOT
-bootx64.efi
==>SOURCES
==boot.wim
==>BOOT
==boot.sdi
==bcd (for win8)
==>EFI/MICROSOFT/BOOT
==bcd (for win7)
===>FONTS
===*.ttf

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"


[LaunchApps]
%SYSTEMDRIVE%\Windows\system32\startnet.cmd
%SYSTEMDRIVE%\windows\system32\cmd.exe

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

tps_howto_uefi

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.

Cheers,
Erwan

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

Ipxe script

#!ipxe
#change with you dhcp or proxydhcp server
set next-server 192.168.1.11
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  Tagged with: