Had an irritating experience last night when after rebooting, Vista informed me that it could not start due to a missing or corrupt ‘c:windowssystem32driverssptd.sys’
It took me a while to get this solved, so hopefully I can save someone else the trouble.
A few points:
- This is most likely caused by Daemon tools, or Alcohol 120%, or some other virtual drive/ISO mounting tool.
- Safe-Mode booting doesn’t seem to help with this problem under Vista.
- If you have a Vista cd, and can boot into recovery mode to fix this, by all means, give it a try. Didn’t work for me.
Basic goal for fixing this problem is removing, or renaming, the problematic sptd.sys file.
To do this, we’ll use a ubuntu live CD, and install ntfs-3g support to write to our NTFS partition.
Make yourself a Ubuntu Linux LiveCD, which you can download an ISO for here:
Plug your victim machine into a LAN cable, we need internet access and we don’t want to mess with wireless.
Drop the CD into your victim machine, and choose to boot into Ubuntu. We won’t install ubuntu, just use the liveCD environment to delete our file.
If Ubuntu makes it into the graphical environment, great. If not, don’t worry, everything here will be done from a terminal, so you can launch one from the GUI, or just use the console.
Lets get into Admin mode.
> sudo su
And edit our apt sources to include the repository containing NTFS drivers
> nano /etc/apt/sources.list
You’ll see two lines in there with # comments in front of them, for a deb and deb-src, to the universe repository. Remove the # comment from the deb line, so we include the universe repository.
Press control+x to exit, and confirm to save.
Then lets update the package lists.
> apt-get update
And install ntfs drivers
> apt-get install ntfs-3g
(choose yes to any prompts)
Now here we will be assuming your drive is /dev/sda1, if you have more than one drive, it may be sda2, or hda1, etc.
Lets make sure it’s not mounted already.
> umount /dev/sda1
And lets mount it with the ntfs-3g driver, in read-write mode. This will mount it up into the media directory. You can mkdir a new folder in there if you prefer first.
> mount -t ntfs-3g /dev/sda1 /media -o force
Lets navigate to our drive
> cd /media/Windows/System32/drivers
And get rid of the file by moving it to another directory
> mkdir old_driver
> mv sptd.sys /olddriver
Now lets shutdown, and you should be able to boot vista.
> shutdown now