Windows Password Reset Using MP3/WMA Player or a USB
Flash Drive
This is a description of how to make NTPasswd, an
excellent Linux-based password reset/registry editing utility, working from a
bootable USB device
Software and download locations
* Windows XP or Windows Server 2003 and/or Linux
* NTpasswd
*
Virtual CD-ROM Control Panel for Windows XP
*
Windows-based Format Utility for HP Drive Key or DiskOnKey USB Device
* Syslinux
Additional software specific to my setup
*
Creative NOMAD MuVo TX firmware upgrade and format utility
Hardware
* A USB memory stick up to 512MB (I'm using Creative NOMAD MuVo TX)
* A floppy drive and a floppy for DOS system files (optional)
Warning
Experimenting may result in data loss and non-functional
devices. Backup now! Preferably create full binary image of the
device, as firmware may have specific dependencies (i.e. iRiver).
Step 0 (optional): Creating a DOS bootable device
1. Format a floppy in Windows. Then create an MS-DOS startup disk. All of that
can be done in Windows GUI.
2. Install and run the HP Format Utility. Format the drive to FAT file system
(not FAT32 or NTFS) using "Create a DOS startup disk" option, specifying the
previously created floppy as the source of system files.
3. Testing: the USB device now should be bootable - boot from it, you should see
a DOS command prompt
Step 1: Installing SYSLINUX
The Linux boot loader is required to run Linux-based NTpasswd.
1. Download and unzip SYSLINUX. From the win32 folder, run
syslinux d:
(replace d: with your USB drive letter)
Step 2: Copy NTpasswd to the USB device
1. Download NTpasswd ISO image. I'm using the cd050303.iso
2. Download Virtual CD-ROM Control Panel for Windows XP. Follow the instructions
to install the driver and run VCdControlTool.exe
3. Using VCdControlTool.exe, mount the NTpasswd ISO image as a Windows drive
(I'm using Y:)
4. Copy the following files from the ISO image drive to the USB device:
VMLINUZ
INITRD.GZ
BOOT.MSG
Step 3: Create syslinux.cfg file in the root directory of the USB drive
The file should contain the following:
default ntpasswd
display boot.msg
label ntpasswd
kernel vmlinuz
append rw vga=1 init=/linuxrc initrd=initrd.gz root=/dev/ram0
Newer versions of NTPasswd require slightly different
entries - look at the default file.
Step 4: Testing
Now you should be able to boot right into NTpasswd to
reset local passwords, edit the registry etc.
It is possible to do all of the steps required to create a USB device that boots
NTpasswd in Linux - using dd, mkdosfs and mount utilities.
My device continues to work as an audio player, although during experiments I've
broken the file system and had to reformat the device using Creative firmware
upgrade utility - none of the standard tools, including Linux one, could work
with the device at that stage.
Important note: the version of NTPassword that I'm using here mounts NTFS in read-only mode if dirty flag is set e.g. the system wasn't shut down properly. If NTpassword didn't work for you, that is the likely problem. It is possible to change the behaviour but I let you figure out how, or the author to make changes in the image. This is actually in the FAQ for NTPasswd.