– Ben Martens

SprinRite in Hyper-V

You may remember a previous post about a product called SpinRite. It’s a hard drive maintenance and recovery tool, and it’s handy to have it in my bag of tricks. It has always been slightly annoying to use though because it requires me to dedicate a machine to it while it’s running and it can easily take a day (or even a week) to run.

Last week I had cause to run it again and after futzing around for a long time trying to get it to run on a spare laptop (it wouldn’t see the USB drive that was connected to the laptop), I started to wonder if I could get it to run in a virtual machine on my main desktop. SpinRite uses very low level commands to access the drive and I didn’t think that would work inside a VM, but why not try anyway?

Sure enough, it did work! Here are the steps I did:

  • Attach the USB hard drive dock to my desktop and insert the drive.
  • Power up the drive and wait for Disk Manager to recognize it.
  • Set the disk to Offline mode.
  • Create a new VM in Hyper-V (I’m running Windows 8.)
  • Use SpinRite.exe to create an ISO and set the VM to boot that ISO.

From that point, SpinRite could see the drive, and I didn’t care how long it took to run because it wasn’t blocking me from doing other work on the machine. Perfect! Theoretically I could even spin up multiple instances of the VM and point it to multiple drives to parallelize a big recovery job.