I use the MiniXP on Hiren's BootCD. The included version 5.1.2600.0 is a little outdated but does the job.
With this I'm able to obtain the full functionality of chkdsk.exe with merely another boot entry on my rescue stick!
Here is my manual, step-by-step, linux-only approach with an emtpy usb stick:
start a bash session in a terminal
mkdir /tmp/d1 && cd /tmp/d1
wget http://www.hirensbootcd.org/files/Hirens.BootCD.15.2.zip
unzip Hirens.BootCD.15.2.zip
mkdir iso
sudo mount -o loop,ro,uid=$UID Hiren\'s.BootCD.15.2.iso iso
plug in the usb stick you want to use: careful! everything on it will be deleted!
determine the device of the stick:
dmesg
or
journalctl
or
less /var/log/syslog
note device and partition:
USB_STICK= # e.g. /dev/sdb
USB_STICK_PARTITION=${USB_STICK}1
recheck it:
/sbin/fdisk -l $USB_STICK
check if mounted:
mount | grep $USB_STICK
if yes: unmount device or partition(s)
sudo umount ${USB_STICK}{,{1..4}}
clear it:
sudo dd if=/dev/zero of=$USB_STICK count=10000
download syslinux:
wget https://www.kernel.org/pub/linux/utils/boot/syslinux/syslinux-6.03.tar.gz
extract it:
tar xzf syslinux-6.03.tar.gz
write master boot record:
sudo dd if=syslinux-6.03/bios/mbr/mbr.bin of=$USB_STICK
create a FAT32 partition, e.g.
echo ,,c,\* | sudo sfdisk $USB_STICK
format it:
sudo mkfs.vfat -n MINIXP -v $USB_STICK_PARTITION
make it bootable:
sudo syslinux-6.03/bios/linux/syslinux --install $USB_STICK_PARTITION
copy content:
mkdir usb
sudo mount -o uid=$UID $USB_STICK_PARTITION usb
cp -rv iso/* usb
create config file:
echo "default minixp\nlabel minixp\nboot /HBCD/grldr" >usb/syslinux.cfg
make MiniXP default:
sed -i '/^default/s|/default|2|' usb/HBCD/menu.lst
tidy up:
sudo umount $USB_STICK_PARTITION
sudo umount iso
cd ..
rm -r d1
done!
I deleted Parted Magic and the big virus stuff and got it down to 200MB on my Rescue Stick.
Adjust this procedure appropriate for your own rescue stick!
chkdsk.exe NTFS_DRIVE: /F /V