Usually this happens if the "Usbstor.inf" or "Usbstor.pnf" files are missing or corrupt or if the INF directory (in your Windows directory) is missing or has been deleted.
You can check this as follows:
- Go into Start -> Run, type in "%windir%\inf" and click 'OK'
- Locate for the two files "usbstor.inf" and "usbstor.pnf"
- Check the 'Properties' of each to see their file sizes.
If you get a "Windows cannot find ..." error for Step 1, I would recommend running a chkdsk on your hard disk. Unless you accidentally deleted it, this is a fairly good indication of file system corruption. After running chkdsk, try inserting the USB drive again. If it still fails, search the PC for a folder containing a large folder of INF files (i.e. 500+) and move the folder into your Windows directory, renaming it to 'INF', then try your USB drive again.
If the INF file is missing or is not at least 14KB in size, delete the 'PNF' file (if present), then search your PC (or Windows recovery CD) for a file called "USBSTOR.IN_" and copy it to your desktop. Then click start -> run, type in "expand %userprofile%\desktop\usbstor.in_ %windir%\inf\usbstor.ini" (without the quotes) and click 'OK' (Windows will automatically create the PNF file later). This file can now be deleted from the desktop. Now try your USB pen drive again.