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.


Author: Svyatoslav Pidgorny (sl at mvps dot org)
Version: 1.1 - 20 August 2006