This article discusses how to clone a failing TiVo hard drive. It doesn’t cover how to upgrade a TiVo drive to a larger drive. It’s meant for people who have a TiVo with a failing hard drive who want to try to save the contents of their TiVo.

(Edit: This known to work for PC computers. According to Colin’s feedback in the comments section, these steps are confirmed to work for Mac Pro computers too — see Colin’s comment for more info.)

Before proceeding, I recommend that you have some basic familiarity with computers, configuring CMOS, and working with the command line before you try these steps. It’s not rocket science, but if you accidentally bork your hard drive, well, it’s not my fault. 🙂

Furthermore I assume that you’re already familiar with how to remove a TiVo drive and reinstall it, as well as how to install/remove hard drives in your PC, so I don’t cover that in this article. And always remember never boot Windows with TiVo drives attached — be sure you don’t accidentally boot into Windows after you’re finished with Linux.

When Good Drives Go Bad

About three months ago I upgraded my TiVo Premiere XL drive from 1TB to 2TB using a Western Digital WD20EARX drive. Unfortunately, in the past couple of weeks my WD20EARX upgrade drive started to fail the S.M.A.R.T. tests and began experiencing drive errors (e.g., glitches in recorded shows, spontaneous reboots, and other nasty stuff). I needed to clone it to a new drive before it failed altogether, and ideally preserve its contents and recover any errors along the way.

Someone in the TiVo Community forums said that the best “affordable” upgrade drive for a TiVo Premiere is the WD20EURS. It’s about 10% more expensive than the more common WD20EARX at Amazon, but the EURS is an “AV” drive optimized for best performance with audio/video applications. So I bought a EURS with the intention sending the failing EARX to Western Digital for warranty service (and using the replacement in a computer) after all the TiVo data is cloned.

However, that raised a question… How the heck do I clone my TiVo drive? Will it preserve my TiVo shows and settings? Is there any way to attempt error recovery while cloning?

Fortunately, the answer to the above questions is “yes”!

The Road To Recovery

After some Googling around I found that some folks in the TiVo Community forums had used a program called dd_rescue to clone their failing TiVo drives onto new drives. They did it by creating a Linux boot CD and then putting the dd_rescue software on a floppy drive, then running that.

Since I haven’t owned a floppy drive in about 10 years, I had to find another way.

After more searching I found out two things. First, there’s a newer program called ddrescue (note: no underscore) from GNU that does what dd_rescue does, and (supposedly) does it better. According to the Linux gurus out there, GNU ddrescue is a more efficient alternative to dd_rescue/dd_rhelp. Second, ddrescue is included as part of the free “Ubuntu Rescue Remix” software, which you can download for free and burn to a bootable CD.

To use ddrescue you need to have two identically sized disks, that is, your new drive should be the same size as your failing TiVo drive (or larger). In my case I had two identically sized WD drives, a failing 2TB EARX (source) and a new 2TB EURS (destination). Your destination drive doesn’t have to be blank or even formatted, BTW, since the ddrescue process will overwrite its contents with a byte-by-byte copy of your failing TiVo drive, and it will attempt to recover any errors along the way. The byte-for-byte copy means that when you eventually put the new drive in your TiVo you will have all your shows, season passes, etc. intact.

GNU and Linux To The Rescue

Here are the steps I followed…

  1. Burn a bootable Ubuntu rescue CD on your PC
    This bootable CD contains the ddrescue program we’ll use to clone the failing drive. The Ubuntu Rescue Remix download page is here. I used release 12.04. When you burn the ISO onto a CD-ROM disc, be sure to burn it as an ISO and not as a plain file onto the CD. In other words, if you haven’t burned an ISO before, simply follow these steps to burn the ISO onto your CD.
  2. Shut down, then disconnect ALL Windows or Mac OS hard drives from your system
    You don’t want to accidentally boot Windows with a TiVo drive attached.
  3. Hook up the TiVo source and destination drives

    • The “source drive” should be connected to the first SATA connector (when you boot Linux it will show up as /dev/sda in Linux) — this is the failing drive with TiVo software on it that you want to clone
    • The “destination drive” should be connected to the second SATA connector (shows up as /dev/sdb) — this is the new, blank drive
    • The only devices that should be connected are your CD-ROM drive, your failing TiVo source drive, and your destination TiVo drive
  4. Restart, then configure your PC’s BIOS

    • Set the boot order so that your CD-ROM is your first boot device
    • Set the drive type to AHCI for best speed (i.e., SATA drives will be used as SATA, not as legacy/IDE)
    • Save the CMOS settings when done
  5. Boot Linux
    Put the Ubuntu CD in the CD-ROM, then reboot. When Linux begins to boot you’ll see a “boot:” prompt. Simply hit <Enter> at the boot: prompt. The system slowly boots and leaves you at a Linux shell prompt (i.e., the Unix command line). Note: Depending on the hardware in your system, you may get some warnings during the boot, but as long as you don’t get an error you should be fine.
  6. Switch to the root user
    At the shell prompt, type:
    sudo bash
    The prompt on your command line may change, this is normal. Now you have Unix super powers, so be careful. 🙂
  7. Double check your source and destination drives
    Assuming that the two drives are different models and/or sizes, type this at the shell prompt to confirm that the source disk (/dev/sda) is in fact your SOURCE drive:
    hdparm -i /dev/sda
    and for the DESTINATION drive:
    hdparm -i /dev/sdb
    Confirm the drive types and sizes match your expectations for the types for your source and destination drives. If /dev/sda is not your source drive and /dev/sdb not your destination, then power off, swap the SATA cables between drives, reboot, and try this step again.
  8. Start the cloning process
    You invoke the ddrescue program by typing this EXACTLY AS SHOWN:
    ddrescue -f -n /dev/sda /dev/sdb tivo-rescue.log
    Remember in Linux that lower case matters. Be sure to use that “-n” option or the recovery can literally take weeks to complete if you have a lot of errors (it gets stuck in “splitting failed blocks”). Depending on the size of your drives and the number of errors the ddrescue process can take a VERY LONG TIME to run, anywhere from 5 hours to 24 hours is not uncommon. Do not power down or otherwise disturb your computer during the cloning process.

Send In The Clones

After the clone operation completes, switch off the computer and install the destination drive into your TiVo. Hook the TiVo up to your TV as normal. We’re almost done.

When you first start your TiVo, IMMEDIATELY do a Kickstart 57 (i.e., MFS disk check/repair). This will fix any disk errors that resulted due to any missing data from the source drive. Remember kickstarting only works with a regular TiVo IR Remote, NOT the TiVo Bluetooth Slide Remote.

Here are the steps for the kickstart:

  1. Power on the TiVo and wait for the green light to come on.
  2. When the yellow/amber lights flash irregularly, hold the PAUSE button on the remote. You will have approximately 10 seconds to do this.
  3. Release the PAUSE button when the yellow/amber and red lights come on.
  4. You will have approximately ten seconds to press 57 on the remote control.
  5. If you were successful, the blue light will come on and the TiVo will reboot. Do not stop the TiVo rebooting. This is normal.

If you were successful with the kickstart, when the TiVo reboots you’ll see a green screen that says “TiVo has detected a serious problem and is attempting to fix it”. The screen says it may take up to 3 hours, but in my experience always seems to take less than a half hour. It probably depends on how many errors it finds on your drive. Once the TiVo is done it will automatically reboot itself again.

Once that’s done you should be all set to enjoy your newly repaired TiVo.

Closing Thoughts

I hope you found this guide useful.

If you need more help with ddrescue, you can find the ddrescue manual online here:

You should be able to do all the above on a Mac Pro or iMac too, although I haven’t tested it. On a Mac, you don’t need to configure your BIOS, so the steps are the same except for skipping the BIOS configuration. When it comes to booting from the CD-ROM drive, just hold down the ‘C’ key when you hear the Mac boot chime to make the Mac boot from the Ubuntu CD. Like I said, I haven’t tested this, but it should work — please drop me a line if it works for you with a Mac.

Tagged with:  

49 Responses to How To Clone Your Failing TiVo Drive With ddrescue

  1. dave says:

    i am new to this back up stuff. what i would like to do is copy/whatever it’s called, a tivo 160 gig sata drive to a 160 gig sata drive i tried clonzilla and it says target drive is to small.
    i don’t understand this because they are the same size drive.
    i want to do this because i replaced the 160 gig drive in the tivo and need a good test drive for when the tivo acts up. i want to be able to make sure tivo fault is drive and not mboard or bad software on drive. i have no way of telling what tivo does when it connects and upgrades, so having a known good drive will tell me. thank you for any help you can give me…..dave

    • Justin says:

      Are your 160GB drives the same model from the same manufacturer? Drive capacities are not exact, when it says 160GB it could be 159.9GB or 160.5GB or whatnot. My guess is that your destination drive is a few kb or mb smaller than the original TiVo drive, and since the software can’t copy every bit and byte the software says the target drive is too small (just a guess, I haven’t tried clonezilla).

      My recommendation is to head over to the TiVo community forums for help with that. I can’t help with clonezilla, I’ve only used ddrescue. Good luck with it!

  2. A couple of shows on my Series 3 had a couple of seconds of garbage in them. I still had the initial 750G installed so I figured it to be time to retire it. Read your article, found gddrescue to be preinstalled in ubuntu 12.04, so I hooked-up the tivo’s disk and a spare I’d bought for this purpose years ago and gave it a shot. Sure was slow.

    Power went out after 500G. When it came back on I started ddrescue again and it magically picked-up where it left-off. Cool.

    It finished, I installed the new drive, assembled the box and hooked it up. Nothing. Red light on the box, black screen. I wonder…

    Disassembled box, hooked-up the disk(!), reassembled, and… Magic. It worked.

    This is a hacked tivo. Software updates are a little stressful. This was not. Your instructions were straightforward and just what I needed, right when I needed it. Thank you.

  3. dean says:

    Can this be done with USB enclosures for the drives instead of connecting them via SATA? I understand the drives in the machine need to be disconnected to ensure no boot from them — but can the TIVO and new drive be USB?

    • Justin says:

      Not sure, I wish I could say for sure. As long as your Linux tools disk has USB drivers I supposed it would theoretically work, but it would undoubtedly be MUCH slower than SATA (which already takes a long time).

  4. Colin says:

    Glad I read to the bottom to see your paragraph for Mac owners! I replaced a failing 1TB drive with another 1TB in my Premiere XL. WIth my MacPro I downloaded the Ubuntu iso file and burned it to disk without any problem. Since ddrescue sees only the first two installed hard drives it’s necessary to open the Mac case and remove all the drives currently installed. The old Tivo drive and the new one must then be fixed to trays and inserted – the old drive in the position nearest the front of the machine, and the new one next to it. I left positions 3 & 4 empty but that may not be necessary. ddRescue copied flawlessly with no errors in about 4 hours, and, after installing the new drive, the Tivo powered up like it didn’t notice the change. Everything is there including all my recorded shows. Thanks for your great instructions. Might be a good idea to put something at the top of the page to let Mac owners know that this page is for them.

    • Justin says:

      Glad it worked for you, Colin! It seemed reasonable that the steps would work for Mac owners, but I didn’t have a Mac Pro to confirm it. It’s good to hear it did. 🙂

      I’ll make a note at the top of the article mentioning that it’s confirmed this works with Macs.

      • HWR says:

        Justin, I ran into a problem — perhaps you can shed some light on it. I confirmed that I have the correct source and destination drives as you outlined, but I get the following error message after I type:

        drescue -f -n /dev/sda /dev/sdb tivo-rescue.log

        ddrescue: invalid option –f

        I googled this and there are only a couple hits and they are not helpful. I’m stuck at the moment. Any help would be greatly appreciated.

        • Justin says:

          Hi, not sure what’s wrong. It’s possible you have an “em dash” or “en dash” instead of a regular dash. You should have “-f” not “–f” for example (note the regular dash in the first case, and the longer incorrect dash in the second case).

          • HWR says:

            Thanks for the quick reply. I think I am using the correct dash. It’s the same short dash I use for other variables which are correctly interpreted by the program (like fsck -l). I am definitely stumped. Do I need the -f or is there a different set of commands to achieve the same end? Thanks for any thoughts you may have!

      • Mike Cashwell says:

        Spiffy to see help for Macs. I see that ddrescue is available via Homebrew so that should be easy. I have two questions:

        1: Regarding the comment that ddrescue only sees the first two installed drives. Anyone know why that might be? Since the program takes arguments for the device paths it should be able to use any interface. I may try this and report back but I wondered if anyone else found out what was causing this.

        2: Is there some way to get/build the JMFS tool needed to expand/supersize? I’d love to be able to do that without having to borrow a PC and use the full JMFS boot image. (Imagine if every application required one to boot a specific and custom OS to run it!)

        My Mac is not likely to work with that boot image (eSATA disk bays via a PCIe card over thunderbolt). I’d wager real money the boot image would have no clue how to handle that.

        Any why should it? The current unix-like OS can handle the hardware. That’s the OS’s job. Again, if the expansion process were just an app reading and writing block devices that *should* be enough.

        If the expansion tools’ source were available I might try porting it.

        I expect the answer is no which precludes me expanding my Tivo. Being able to do a same-size dup is still great and I’ll just do that to protect myself from drive failure.

  5. James Northcutt says:

    If I read this article right, I should be able to copy the data from 1 TB hard drive to a 2TB hard drive? What I would like to do is upsize an external hard drive to larger one that is almost full. That way my wife can add more shows to it. She had shows that she does not want to lose.

    The external drive is the Western Digital DVR Extender. Will this work? Thanks

  6. Chris says:

    I grabbed GNU ddrescue and compiled it from their source on my Macbook, so I’ll report back how it works on a MacBook Pro running Mac OS X 10.8.4. I’ll make sure and use df to identify the source and targets.

    when i run it though, say I use my (possibly flakey) 1TB TiVo drive as the Source and a 2TB drive as the Destination, will the result be a 2TB TiVo drive (TiVo sees 2TB)?


    • Justin says:

      Hi Chris, it’s been a long time since I’ve done this, but if the target drive is bigger than the source, and you want to use all the space on the target drive, then I think you have to “expand” the target drive after you’ve copied over the source data. Sorry, I’m not sure if there’s a way to expand it to 1.16TB–a size that’s smaller than the full 2TB (never tried). That’d be a good question for the folks over at Good luck with it!

    • Chris, any advice on how you figured out what device the old TiVo drive was mapped to? It’s easy to see for mounted drives using “df” but the TiVo drive is obviously not mounted by OS X.

      Any other advice you have based on your experiences on a MacBook Pro with USB drive docks would be greatly appreciated.

  7. Chris says:

    …and turns out my TiVo HD (TCD652160) can only see 1.16TB internally, so I will just put an identically sized drive in. But still curious.

  8. Kirk says:

    I followed the directions closely. I am still stuck as the TiVO Series 3 keeps telling me Wrong External Storage Device! Originally I had the 250GB drive and it was failing along with a 1 TB WD external drive….so I cloned the 250GB original drive to a WD EURX 1 TB drive. I did not use any expand functions so it should have cloned the partition exactly, Right? I have tried to get the TiVO S3 up and going with the external drive unplugged, AND with it plugged in and running…….all scenarios tell me WRONG EXTERNAL STORAGE DEVICE! I also cannot run Kickstart 57 as it obviously searches the external drive routine before it gets to that loop? Everytime I try it ignores the commands from the remote…..HELP!

    • Cat says:

      When recordings are made with an external drive attached the recordings are divided between the internal and external drive. If you’ve copied just the external or just the internal drive, things will not line up correctly. Possibly the cause of your error message.

  9. Craig McCoy says:

    I had a Premiere XL that was stuck at the ‘Welcome! Please Wait…’ screen. Pulled the 1 TB disc out and tested it with the Western Digital Data Lifeguard Tool which reported ‘Too Many Bad Sectors’. My options were to spend $349 for a refurbished unit from Tivo or replace the disc with a preloaded one from Weaknees for $149. In either case I was going to lose the live local newscast I had recorded which featured my son doing charity work with his school. But then I found this website, bought a new WD EURS 2 TB disc from Amazon for $91 (only a couple bucks more than the 1 TB), followed the instructions from here and although it took close to 32 hours to complete, I have the non-replaceable recording back (along with all me previous settings) and twice the recording time. Thank you so much for posting this information.

  10. Ted B says:

    Just used these instructions to recover a bunch of recordings from a failing 1 TB hard drive on my Tivo HD. My kids & wife were glad to recover some of their favorite recordings. Sadly though I’ve lost my excuse to upgrade to a Roamio for now. Seriously though, I am very grateful for the step-by-step instructions. For about $70 I got a replacement WD10EURX at Amazon and after about an hour of set up, and 5 hrs to copy. We’re right back where we left off a few days ago w/ our Tivo. Thanks again!!!

  11. Cory S says:

    For Mac owners: you really do not have to burn and boot from a Linux ISO or swap out your hard disks. I successfully used my MacBook Pro to clone the 1TB disk of my TiVo HD XL this way:

    1) Downloaded the source code for “ddrescue” from the GNU site.
    2) Compiled it (if you don’t have Xcode then download it from Apple’s site).

    3) Attach, but don’t mount, the source and destination disks using your available external interfaces (in my case I used a new USB 3.0 dock and a older FW800 dock). When you power attach the original disk you’ll see a message “The disk you inserted was not readable by this computer”, then buttons for “Initialize…”, “Ignore”, “Eject”. DO NOT PRESS INITIALIZE! Press “Ignore”.

    4) Mac OS will not mount the disk, but the Unix system underneath will allocate a device in the /dev directory. Open a Terminal window and from the command line run the command “diskutil list”, which shows every disk in the system. Running it before and after attaching your disk will show you which disk number was assigned. It will be something like “/dev/disk3”, “/dev/disk4”, etc. You’ll also see numbers like “/dev/disk3s0”. The “s” numbers are partitions, but we’re only concerned with the entire disk, which is the “/dev/diskN” device.

    5) Attach your destination disk and note which disk number it was assigned. If you’re unsure, you can detach and reattach and see what changes before and after, or you can run “diskutil info /dev/diskN” (where N is your disk number) to get more info about the disk.

    6) Once you’re sure which disk is which, run the command as shown previously:

    ddrescue -f -n /dev/disk3 /dev/disk2 tivo-rescue.log

    (/dev/disk3 is the source disk, /dev/disk2 is the destination).

    7) Let it chunk away for a while. You’re free to use your Mac for other things while it’s copying. In fact, it’s best to remove the focus from that terminal window so a stray keystroke doesn’t kill ddrescue.

    8) When done, use diskutil (I used the regular GUI app) to unmount each disk cleanly.

    My TiVo is up and running great!

  12. Thomas Smith says:

    Hi Justin,

    I was able to recover my failing hard drive by using these instructions, thanks a bunch. You saved me $ so I’d like to make a donation. How would I do it?

    It was so easy, next I’m going to upgrade my drive.


    • Justin says:

      Glad to hear it worked for you! No donation needed, I’m just happy to help.

      It’s really not necessary, but if you still want to make a contribution anyway, please make a donation to your local animal shelter.

      Apologies for not responding sooner! I realize my reply is very late, I had some technical issues with the site where it was not sending me notifications of new comments.

  13. Bc says:

    This is my second attempt. Leaving till Sunday when I return.. First attempt the ddrescue went off the screen after 5 minutes. I left the computer on for another 12 hrs and with no light on the hd I thought it must be complete. I then went thru the rest of the steps. But found it rebooted when I tried to go to settings and modem/network . Anyone else have this problem?

    • Gary says:

      Hi – thanks so much for the site! This is my third attempt – like Bc my Ubuntu went black after about 5 minutes (twice). I let it run close to 24 hours but didn’t see the hdd light flash, tried new drive and TiVo really didn’t like it.
      This time I checked my bios, saw nothing in power saving, etc. and hope third time works. Searches on Internet didn’t reveal anything about the blank Ubuntu/ddrescue screen. If fails again I may try with different PC.
      Thanks for any suggestions or advice.

      • Morgan says:

        Hi, your monitor probably went to sleep. Press ALT on your keyboard and it should wake up again.

  14. donald says:

    Hi, I accidentally used a smaller hard disk as I did not know initially although they are both 1TB. Now DDrescue does not let me continue and says that my drive is not large enough after completing almost 1TB. There are still sectors to recover but it would only allow me to continue from the last bit which does not have a large enough size. What can I do to make it restart with what I have and only recover the parts unreadable?

  15. Joe Khalaf says:

    Sorry if I missed this in the thread, but this will work using the external storage drive, correct?
    I can clone the external failing eSATA drive to a new eSATA drive without having to touch the internal 160GB drive on my TiVo Series 3, right?
    Just clone it and plug in the new eSATA drive into the port and all should be fine?

    • Justin says:

      Hi Joe, it sounds like you’re referring to the TiVo external drive? My apologies, I don’t know if this will work with an external storage drive. That’d be a good question for the TivoCommunity forums. Hope you find a solution.

  16. unitron says:


    Good page overall.

    If you used the jmfs cd to copy your Premiere’s 1TB to a 2TB and then expand into the extra space, well, that was ddrescue it used to do the copying, and you can boot with that cd, skip the copy and expand stuff, get to a command prompt, and it’s there for you to use yourself.

    For future searchers, if you have TiVo questions you’ll probably eventually wind up at

    anyway, so you might as well start by coming to talk to us before you start changing anything and possibly doing something that can’t be undone.

    It’s a community of TiVo users helping each other. It’s not owned or controlled in any way by TiVo, Inc., but we’re on good terms with them.

  17. dave says:

    can you tell me the difference between ddrescue and dd_rescue.
    i have heard they are different and one works better or simpler

  18. Scott Weiss says:

    I have a Tivo premier with the GSOD. I was able to use ddrescue to copy the original drive to a larger drive. I was surprised that there where no errors during the transfer. When I put the new drive into the Tivo, I get the GSOD again. I am not able to do the kickstart 57. When I press pause after I see the amber light and press 57, the green and amber light start to flash back and forth and then It seems to go into the GSOD anyway. (That was how I found the original drive)

    • Justin says:

      Hmm, apologies I don’t know what might be going on. Have you tried posting your question on They have some experts there that might be able to help.

  19. Jave says:

    Thanks for this guide. I rescued a 750GB WD Green drive. Whole process took about 3 hours. I also added the “-v” switch to the ddrescue command line in order to invoke “verbose mode”. This gives you info on transfer rates etc and lets you know how the copying process is going.

  20. Glen Sprague says:

    I have a Tivo series 4 with a GSOD. I followed the instructions and the ddrescue command “ddrescue -f -n \dev\sda \dev\sdc” fails with an error – “Invalid type for fill option” not sure why -f doesn’t work. Any ideas?

    • Justin says:

      Hi Glen, one thing to double check is that you’re using a slash “/” and NOT a backslash “\” for your device paths. For example, “\dev\sda” is unknown to Linux, but “/dev/sda” is a path to a drive. Good luck.

  21. Jon says:

    Download DVRBars.. 1000 times easier and can be done right out of windows

  22. Jonah Walker says:

    If you use the ddrescue to clone your drive to a larger drive is it still possible to Expand and supersize the drive or are you stuck with the same size as your original drive? i have been using the JFMD method, but it failed after about 14 hours of copying (I have a premier XL with a tb drive and got a 3tb to move to).

    • Justin says:

      Yes, it absolutely should be possible. Ddrescue simply tries to clone your drive to another drive. If ddrescue completes successfully your new drive should be essentially the same as your old drive (minus any data it couldn’t rescue during the process). If your old drive is too far gone with bad data, it’s possible that the expand/supersize might not work since your drive is missing too much information.

  23. Mark says:

    Just wanted to post my thanks for this very helpful post! My mother-in-law’s TiVo (series 2) hard drive started failing after almost 12 years of use. I was able to clone the old drive onto a new one, saving all her programs and recording schedules.

    I noticed that ddrescue is now a standard part of Linux distributions (or at least easily obtainable), but my current Linux boxes all use SATA drives. Fortunately, I have a collection of older computers with IDE that I was able to boot the Ubuntu Rescue Remix from CD.

    Thanks for making me look like a hero!

  24. Jennifer says:

    Thank you all so much for the help. I followed the instructions, especially Cory S’s because I have a MacBook Pro. I had a failing 500 GB drive in the Tivo Roamio. I used ddrescue to clone my data onto a new 3 TB drive. Everything seemed to work perfectly. I got the green screen after I did the Kickstart 57. But when I restarted, I saw that I had the same amount of capacity as before the hard drive swap. It shows a recording capacity up to 75 HD hours or 506 SD hours, with free disk space of 32 HD hours or 227 SD hours. Does anyone have any suggestions?

  25. Drew says:

    I get to step five and a half. I get the boot prompt and I hit enter, then it brings up a white screen with a flashing underscore. I was so happy, I thought it worked. But when I type it doesn’t do anything. Please help.

Leave a Reply

Your email address will not be published. Required fields are marked *