Someone at DBStalk gave instructs on how to replace the hard drive and restore all recordings and "season passes". basically doing a disk copy under linux and then expanding the partition. He upgraded to a larger disk.
I received Earl's permission to post this, but with the following prerequisites:
Please take the poll above to show that you are aware of the risks of opening your DVR. Please DO NOT DISCUSS extracting programs from the DVR in this forum. This will NOT be tolerated by the moderators! Okay, here we go!!!
FYI- I have successfully performed this upgrade on 2 HR20's, so this is NOT theory or speculation. It actually works, and I maintained all settings and content from before, plus gained extra space.
First, why did I want to do this?
1) I don't want an external hard drive box on top of or beside my HR-20 making more noise and using more power.
2) I want to retain all of my settings, recording lists, and current recorded shows.
3) The same reason a dogs licks... Well you get the idea, I wanted to do it as a challenge.
Second, What do I need to do this?
1) A T10 Torx screwdriver.
2) A Phillips screwdriver.
3) A computer with SATA interface.
4) Proper software for the computer. You could possibly do this completely with Linux. I didn't. I used Ghost, MBR Tool and Tiny Hexer.
5) A SATA internal hard drive. I used a 1TB Hitachi Deskstar.
6) A pair of snips.
7) Possibly a pair of pliers depending on your unit.
Lastly, let's get to it!
1) Take out the 5 T10 Torx screws from the back of the unit.
2) Note that you are breaking a seal that violates the warranty when you remove the cover.
3) Slide the cover towards the back of the unit and it will come unlatched, then you can remove it.
4) Remove the SATA connector, Power connector and Fan Power connector from the internal hard drive.
5) Find the 2 plastic fasteners that attach the drive mount to the frame. Place your Torx screwdriver in the center of them and push the plastic pin downward. This will release them and they can be removed.
6) Use a phillips screwdriver to remove the ground wire. You can't remove the Torx side unless you have some type of tamper-proof driver, as far as I can tell.
7) Now is the hardest part. I have done this on 2 different HR20's and they were both different. You have to remove the 2 screws holding the drive mount to the front of the unit. On one of mine, their were nuts holding them, so I just removed the nuts with a pair of pliers. That was fairly easy and I didn't have to remove the front panel. On my other unit, they were screwed in from the front, so you have to remove the front panel and unscrew them with your Torx screwdriver. It takes some patience and coodination to remove the front panel. Good luck!
8) You have to snip the tie wrap on the fan power connector in order to remove the hard drive.
9) Remove the hard drive mount (and hard drive) from the unit.
10) You need to install the new drive into the HR20 temporarily and power it up. Let the HR20 format the drive and then shut it back down. This is important because you have to write down the partition information from the new drive.
11) Now is the fun part. Hook your new drive and current internal drive up to a computer with a SATA interface.
12) Next, you have to get the raw parameters from your new disk's MBR. I used a utility called MBR tool, which is free and is bootable media. I used the Edit Partition option in MBR Tool, and wrote down all of the Hex numbers that make up each of the 3 partitions. If someone could post a similar process in Linux, it would be most appreciated. It would be nice to be able to do this whole process in Linux from beginning to end.
13) Next I rebooted the computer and started a bootble media version of Norton Ghost, using the command line "ghost -ia" which tells Ghost to start in a "copy disk sector by sector mode."
14) Go through the Ghost wizard and start the copying process. It took me about 2 hours and 10 minutes to copy the entire 250GB drive.
15) You can also do this in Linux with 'dd', but I found it took much longer. I just used the command 'dd if=/dev/sda of=/dev/sdb' but maybe someone knows some other command line switches that can make this faster. It took SEVERAL HOURS!
16) When you have finished copying the disk, you can remove the 250GB original. You are done with it. Remove it from the mount if you haven't already. It is just mounted with some Phillips screws.
17) Next, you have to edit the Raw MBR table on the new disk with a Hex disk editor, in order to tell the HR20 that the disk is bigger. This is where you use the information you gathered earlier. You are going to overwrite the hex data for the 3rd partition in the MBR. This partition is where the HR20 stores recordings. Again, if someone could post a similar process in Linux, it would be helpful. I know there is a package called 'lde', Linux Disk Editor, which should work. However, most people will probably boot up on something like a Fedora Core rescue disk, which I doubt has this package installed.
18) I hooked my Windows drive back up to my PC, booted to Windows, and used a utility called Tiny Hexer to do this. It is a free software that you can use to edit the MBR.
19) When you open the disk with Tiny Hexer and start browsing Sector Zero, which is where your raw MBR is stored on the disk, you'll notice towards the end of the sector, that you'll start seeing the data that you wrote down for the three partitions. If you follow, you'll see the first partition data, followed directly by the second partition data, followed directly by the third partition data. No need to edit the first or second partition data. Mine mine was not exactly the same, I think it differed by a hex value or two but I left it alone. Only change the partition 3 data.
20) When you get to the third partition data, recreate it EXACTLY as you copied it from MBR Tool earlier.
21) Don't forget to write the data back to disk.
22) Now you can mount the new drive and put everything back in the HR20 and fire it up. If everything works okay, you'll have your original settings, recordings, record lists, etc. AND you'll have a heck of a lot more free space showing. Good luck!!!
VERY IMPORTANT NOTE: All of this was done on HR20-700's. I don't know how different the process will be using an HR20-100. I also don't know if the whole disk process is any different with an HR20-100. If anyone upgrades an HR20-100, PLEASE POST THE RESULTS!
If you see errors, problems, issues, etc. with this process, please message me and I will edit and make changes. I am also interested in hearing any alternate ways of doing this, or any ways that are easier or will save time.