Late yesterday afternoon, I was cruising around the internet, listening to some music and doing a few other miscellaneous tasks. I was wicked relaxed and thought it was a good idea to kick my legs up on my desk and rest my laptop on my lap for a few minutes…well I forgot the USB cord to my Western Digital 120 GB Passport drive was really short and hooked up to my Macbook Pro. As I sat there, legs kicked up, I heard a thunk and almost immediately knew what happened. I looked down and saw my USB drive, laying on the ground.
I picked it up and hurriedly plugged it back in, hoping everything was OK. Sure the drive survived similar falls in the past, but the sound of moving parts inside of it was a tell-tale sign the drive was on its’ last legs; this last fall couldn’t have helped.
The drive mounted!
And then, right as I go to access the drive it disappears.
Seeing as how my entire 50GB music collection is stored solely on this USB drive, I wasn’t giving up that easily. First, I reboot Mac OS X, log back in, and then plug the drive back in and wait…
OK. No need to panic just yet. Let’s load up Disk Utility and check if the drive comes up there
It’s still OK. Let’s try a different operating system. Luckily I installed the 64 bit version of Ubuntu the other day on a VMware Fusion virtual system. Quick side-note, even though it is only a beta, this VMware Fusion is a great application. Considering it’s running within Mac OS X, Ubuntu loads up quickly and even though the performance is less than optimal, that slight drop is to be expected. I, for one, will gladly take the small performance drop for the ability to use Mac OS X as my main operating system, with the option to fire up Ubuntu whenever I want to. It even supports drag and drop between Ubuntu and Mac OS X, how wicked awesome is that?
So, I load up VMware Fusion, and then load up Ubuntu. Log in, wait for everything to finish loading…and what’s this I see in top pane of VMware Fusion? Is that an option for me to mount my Western Digital USB Drive? Score! Mount please.
It takes about ten seconds, but eventually my WD Passport shows up on the desktop, at which point I’m frantically clicking on the drive’s icon to get at my music, movies, documents and other miscellaneous bits and bytes. Well, I get access to the inside of my drive, and figure I might as well start saving the small but crucial bits first, that way if the drive fails all of a sudden, I would have at least gotten some of my data. So I drag some pictures, documents, and other miscellaneous items on the drive to my Mac OS X desktop (see the drag and drop ability between Ubuntu in VMware Fusion and Mac OS X comes in real handy since I did not assign enough space to Ubuntu to save everything straight to Ubuntu).
Seeing this made me so happy.
So, after I copy all of these small, but still important, items over to my Mac OS X desktop (successfully), I next decide on copying over my 25 GB Movies folder. My rationale behind going after this folder, was that
a) it’s smaller than my music folder and
b) I was listening to my music at the time of the fall, so the music folder has the greatest possibility of read errors.
After some time, all my movies on this USB drive are saved to my Mac OS X desktop. So far, so good.
As I stated above, I was listening to music when my drive hit the ground, so my thinking at this point was if I was going to experience read errors it would occur somewhere in my music folder. I figured the head would’ve scratched the sector it was in at the time, the music folder. Not sure how accurate this is technically, since the drive most likely scattered data around all over the drive.
In either case, before I started I was going to have to delete something to come up with space for this 50GB of music. My internal hard drive would be able to hold all this music, except 30GB of it was assigned to a Windows XP install. I also had another external hard drive, with about 470 GB free, but no matter what I tried I wasn’t able to move items from the WD Passport in Ubuntu onto these external drives. So I did what any rationale person would do and deleted Windows XP (it did feel good, I wasn’t using it now that my Stats II class, which needed Excel 2007 due to a third party plug-in we used, was over and since I hadn’t played on games for a little while). I then started copying my music fold to Mac OS X and went to watch some TV.
I checked back an hour later and saw the transfer was complete and anxiously went to the music folder to see if I had indeed saved all 50GB. Alas, to my extreme disappointment, only 5GB had copied over. There was a message in Ubuntu about having trouble accessing some of the files and I figured there must be errors on the Passport and the other 45GB of my music are lost to those damaged sectors and platters.
I mourned for a little bit, but then decided to try a few more things. So, I ejected the WD Passport, booted down Ubuntu and quit VMware Fusion. I then unplugged the WD Passport, waited a few seconds and plugged it back into my Macbook Pro. Even though it didn’t work once, I tried seeing if Apple’s Disk Utility would at least show the drive. And guess what, my persistence paid off:
So, now, Mac OS X finds my dying WD Passport drive, but it appears grayed out in the Disk Utility side-panel, which can only mean trouble in my mind. Seeing as how I have an option to mount the drive, or more accurately the partition within the drive, I believe that is what it being grayed out means. So, I click the mount drive button…and wait…and wait. I decide to leave my computer alone for a little while to see if it just needs time to mount the failing drive. I come back about a half hour later and see nothing has changed [I also tried mounting the drive through Terminal, but got a "unknown special file or file system" error]. So, knowing it most likely won’t be able to help a FAT 32 formatted drive, I click the Repair button and hope Mac OS X is able to bring this drive back to life.
As you can see, it just didn’t work out that way. Still, hope remained and after a few Google searches, I came across this article about dd, a Unix program that copies hard drives bit by bit into a mountable image. So, I switch over to my Terminal session. Run the command “diskutil list” to find the Unix path to my WD Passport and set up the program to copy my WD Passport drive to an image on my internal drive, with the parameters “conv=noerror, sync”, as the dd program was failing with these parameters as it was attempting to copy bad sectors on the drive. I could still see that dd was kicking out errors but it was running. So I went to sleep and let dd run over night.
When I woke up the next morning, I saw that dd was still running. I knew it would take a long time to make a 120GB image but this was taking really long, I thought. Right then, I realized my mistake; my internal hard drive was 120GB maximum capacity! The dd program wouldn’t be able to make a 120 GB image on a drive that doesn’t have 120 GB free space. Ouch, all that time for naught.
So, after fooling around with the address, I still couldn’t get dd to copy to my 500 GB external Fantom drive. I knew I could get it to work, but I felt I didn’t have enough time to keep trying to get dd to work properly AND even if I did, I only needed the 50 GB of music as I already copied everything. Setting aside dd for now as a last ditch effort, I had two more options to try.
My next step seemed logical, this drive was formatted as FAT32 so Windows XP might have a good chance at getting at all 50GB of this music folder. Note, before I un-installed Windows XP from my Macbook Pro, I did boot into Windows XP to see if it picked up on the drive, and it did find it and mount it but that’s all it did. Still, this is 50 GB of music we’re talking about, which would be a pain to re-buy and re-rip from my CDs, so I went to my step-brother’s computer, booted it, and plugged in my hard drive. Again, Windows XP found the drive, mounted it, but when I went into My Computer to try accessing the drive, Windows would stall. Windows would not even let me pull up the properties of the drive. In fact, it didn’t even pull up the name of the drive, instead referring to is as the E Drive.
Still, I wanted to try one more thing before going just using dd to make a full duplicate of the drive. So I went to the oldest computer in the house (running Kubuntu), booted it up, plugged in my USB 2.0 drive into the USB 1.0 slot, waited as Kubuntu recognized the drive and mounted it, then I got my Fantom drive from my room, unplugged the keyboard on the Kubuntu desktop as it was taking up the only other USB slot and started copying about half the music folder over to my Fantom 500 GB drive. Nice! Everything seemed to be working.
By the way, I had to plug in the other USB drive, because after running the command “df -h” in Terminal, I saw I did not have enough space for my music collection.
Now, I had one small problem. The second part of this plan required me getting to the top pane on Kubuntu…and my mouse was now unplugged to make room for the two USB drives. OK, a quick search on Google brings me to this keyboard shortcut tutorial, where I find I can use alt+F1 to get to the top pane. Once there, I go over to the administration section, connect to my Macbook Pro, and copy the other half of the music folder to the internal drive on my Macbook Pro over our local network. This way, I figured I’d eliminate at least half of the music collection as having the bad sectors. I would have run into problems if they both had faulty sectors, but after a very long time of moving all these gigabytes around, I ended up with all 50 GB of my music back with no errors reported!
I’m not sure why just straight copying the music folder through Kubuntu worked but it failed in Ubuntu, but I’m chalking it up to the alignment on the drive getting knocked back into place while I was moving it to the other computer. Looking back on it, I did panic a little bit towards the end, since I basically just repeated some steps I tried earlier with Ubuntu 64 bit but just on a different computer and in Kubuntu; but hey, you can’t argue with these results:
How awesome is that?