Steve C's LOGO
[ Home > Tivo Upgrades > Large Disk Upgrade ]

My TiVo Upgrade Diary using Large Disks

Up until recently, it's been impossible to upgrade Tivo beyond it's physical limits. Tivo's operating system limits the size of a disk it can access to 137G. Thus even though you could put in a 160G drive, Tivo could not use the extra 23G beyond it's limit.

With drive sizes getting larger and larger now, a solution has been developed to allow Tivo to use these bigger disks.

The solution involves installing a patch to the Tivo operating system to correct, what is now known to be, a software limitation.

Here are the steps I took to upgrade a UK Thompson Tivo pvr from its current 120G hard drive (see here for how I got this far) to a single 250G drive which gives me slightly over double the recording capacity that I had previously. Note, however, these instructions will work for a basic 40G drive too (I've included information if you have a twin drive machine too), even if you have not already upgraded previously. It is the final drive size that these instructions depend on, not the starting drive size.

This time, I was not interested in keeping any existing programs, but I did want to keep all my season passes and existing hacks (Tivoweb, endpad and the like) that I had running on the current system.

The whole process took around one hour.

The machine used was a single drive model number 6023.

If you are planning to back up or restore to twin drives, instead of a single drive, then follow the relevent comments in GREEN.

Note: of the upgrades I've done recently, this was the most tricky - I found lots of different options on how to do the upgrade but not all of them worked for me.

Here's how I finally managed to do the upgrade...

What I had at the start.

  • TiVo
  • A larger hard drive. I used a 250G drive, a Maxtor DiamondMax Plus 10 (6B250RO) drive. Remember - you cannot use SATA drives in TiVo !
  • A multi bit screwdriver , preferably magnetic.
  • Torx screwdriver bits sizes T10 and T15. (six pointed star shaped)
  • A spare PC with cables for Primary and Secondary IDE ports.
  • A spare hard drive, formatted to FAT for storing the backup on.
  • A BootCD of MFSTools2 LBA48
  • A floppy boot disk with diskutil copied onto it.
  • Some sort of CD burning software (Nero etc).

basic requirements for the upgrade

Web links I used.

Part 1 : Creating and testing the CD Boot disk.

Firstly, download the ISO image of the MFSTools2 Large Disk CD (file size = 11 Meg). This file is different from the previous MFSTools2 disk that I used in my 40G to 120G upgrade diary in that it has been adapted to allow larger disk access.
Note: I used a couple of boot disks available online with varying success - this ISO is the one I finally got things to work with.

Using your CD burning software, burn this image onto a CD. (In Nero, choose RECORDER -> Burn Image then select the downloaded iso image. The image will create you a Linux bootable CD.

Now reboot your machine and drop into the BIOS (you usually need to press DEL or F2 or F12 as you machine first boots up). Once in the BIOS, check your boot-up settings to ensure that your machine will boot from the CD first and not look on any of the Hard Drives for an operating system.

Now insert the newly burnt MFSTools2 CD into your cd drive and reboot your machine again. You should see the system boot into linux and not windows. Remove your Boot CD from the drive and shut the PC down.

Depending on the drive you are going to use, you might need the Diskutil program. Now would be a good time to create it. You need to format a floppy disk so that it will boot into DOS. Then download the Diskutil program unzip it and copy it to the floppy drive.

Part 2 : Removing the Tivo drive.

Check the removal information on my previous upgrade page to see how to remove a Tivo drive.

Part 3 : Creating a Backup Image.

If you are planning to restore to twin drives, at this point take your new twin drives and LABEL one drive A and the other B, to avoid getting them mixed up.

Now connect your existing Tivo hard drive (the one you took out of Tivo), to your PC as follows:

  • Primary Master IDE cable - FAT32 hard disk of size > 1Gig. (remember to set the jumper switch on the drive to Master). This be used to save the backup image.
  • Primary Slave IDE cable - empty (if you have a twin drive machine - connect your B drive here, jumper set to SLAVE)
  • Secondary Master IDE cable - Tivo drive (Place your A drive here if you have a twin drive machine). Set the jumper to MASTER
  • Secondary Slave IDE cable - CDROM drive (jumper set to Slave).

Once everything is connected, put the CDROM of MSFTools2 Large Disk into the CD drive and turned on the machine.

The PC booted into Linux from the CD. You need to press ENTER to get to the Bash prompt ( /# ).

To backup the Tivo, enter the following two commands to ready the disks.

To do the actual backup, enter the following command:

If you have a twin drive machine - enter the following instead of the above command:

mfsbackup -l 32 -6so /mnt/dos/tivo.bak /dev/hdc /dev/hdb

(The l in the command is a lowercase "L" by the way.)

The command took under 5 minutes to run and should then report a result as shown. Notice the system has recognised that I'm upgrading an already upgraded drive. You will not get this line if you are upgrading from a basic 40G drive.

This will transfer an image of the Tivo settings (thumbs data, season passes etc, but not recorded programs) onto the hard disk attached to the Primary Master cable. The resulting image, called "tivo.bak" was about 350Meg in size. This image can be burnt later onto a CD for safekeeping.

Type Reboot to reboot the PC and turn it off once it starts to reboot.

Part 4 : Transferring the Backup Image to the New Drive.

We now need to transfer the backup image over to the bigger 250Gig drive.

First ensure that the PC is tuned off.

Disconnect the original TIVO drive(s) from the PC. They can now be stored away because they are no longer required.

Put the new 250Gig drive onto the Secondary Master cable - check the drive is set to Master on it's jumpers.

Your drives should list as follows:

  • Primary Master IDE cable - FAT32 hard disk containing the backup image.
  • Primary Slave IDE cable - empty (if you are restoring to twin drives, connect your B drive here, jumper set to SLAVE)
  • Secondary Master IDE cable - New 250Gig drive (Place your A drive here if you are restoring to twin drives)
  • Secondary Slave IDE cable - CDROM drive (jumper set to Slave).

Again start up the PC and it should ensure it drops into Linux.


At this point, I found that Linux was registering my drive as locked (this often happens on Maxtor drives apparently). To see this, you need to page back about 6 pages (use Shift + Page Up) to the line similar to that shown below:

Firstly, depending on your drive sizes/makes your version of this screen may look different.

This shot is taken from an unlocked hard drive - you can see in the highlighted area that the system recognizes the secondary master drive (hdc) as 251,000 MB (approx 250G). This is what you should be seeing for a 250G drive.

However, if your drive size registers as only 10 MB then the system will not allow you to proceed without unlocking the drive. In previous guides, we unlocked the drive with the QUNLOCK utility. However, under no circumstances should you use Qunlock on these large drives - you may render the drive unusable!

We will use the diskutil utility instead - this is large disk safe.

You need to do the following:

  • Reboot the system
  • Before it reboots, insert the floppy disk with Diskutil on it.
  • Drop into your BIOS and ensure that the system will boot to the floppy this time (it should currently be set to CD-Rom)
  • Allow the system to boot into DOS
  • Type the following (note the capitals) :

  • This will unlock the drive at position 2 (hdc) and you should see the following:

  • Now switch off the PC, remove the floppy disk and reboot.
  • As the PC reboots, change the BIOS to boot back to the CD-Rom.

Once the linux boot has finished, again check back to the HDC disk size to ensure it's of the correct size you should see the full size of the drive listed against HDC. Only continue when you are happy that this is the case.

Now page back down to the bash prompt and enter the following:

This will again mount the hda FAT drive allowing you access to the backup you made earlier.

Now enter the restore command as shown below. (note If you are using a drive 300G or above, use the command shown in the red box below).

(yes, that is "restore" not mfsrestore. This command is detailed at the end of the boot disk start up sequence.)

If you are restoring to twin drives - enter the following instead of the above command:

restore -x -s 300 -zpi /mnt/dos/tivo.bak /dev/hdc /dev/hdb

If you are restoring to individual drive(s) 300GB or greater in size, you need to add an extra parameter to the restore command to overcome the next Tivo threshold at 274Gb:

restore -x -r 4 -s 300 -zpi /mnt/dos/tivo.bak /dev/hdc Single drive
restore -x -r 4 -s 300 -zpi /mnt/dos/tivo.bak /dev/hdc /dev/hdb dual drives

This command will restore the image (tivo.bak) from the previously mounted drive onto hdc, your new large drive.
In the case of a restore to twin drives, the backed up image is restored to both drives at the same time.

You will see the progress indicator update and finally report (hopefully) success.

Again, your figure may vary depending on the size of the drives you are using.

Part 5 : Patching the Tivo Operating System.

On your new drive, you should now have a copy of the original Tivo drive. You have one more step to complete before it is usable in Tivo.

Currently, although the drive is ready for use and is using the whole 250G of the drive, the Tivo system will not know how to access the area of this drive beyond 137G. If you were to place the new drive into Tivo at this point, it would only register 137G as the size of the new drive - a large waste of drive space!

So we need to tweak the Tivo system with a patch to the Tivo Kernel (it's main program).

Fortunately, this is not too difficult to do...

If you have just restores to twin drives, check that your A drive is correctly connected to HDC before continuing.

Still at the bash prompt, following the upgrade above, type in the following command:

This will start off a series of menus.

  1. Firstly, copykern will ask you to confirm whether you wish to continue. Answer Y
  2. Now you will be given a list of possible drives to update. Our Tivo drive is on hdc, so we need to answer hdc
  3. Confirm your hdc choice with a Y
  4. Now the system asks which Kernel you want to transfer to your Tivo drive as shown below:

    Now although UK Tivo's are the 'standalone' type, we in the UK actually need the first kernel. So respond to the question by typing 1
  5. Confirm your previous answer with a Y
  6. The system will now ask you to backup the Kernel. Since we currently still have the original drive this is not as important. I answered Y to the "continue?" prompt.
  7. The system will now show you the command it intends to run. Here is what I was shown.

  8. Answer Y to the final 'are you ready' prompt.

Finally, the new kernel will be copied over to the hdc drive, allowing your Tivo to utilise the full capacity of your drive!

Shut down the system, by typing REBOOT and powering off as the system restarts.

Part 6 : Replacing The Drive.

All that is left to do now is to replace the drive into Tivo, screw down the drive and replace the lid.

Part 7 : Finishing Off.

Reattach Tivo to the TV and power it up again.

Tivo should boot up, play it's little 'Tivo on a slide' video clip then jump to the main menu ready for use.

Again check the SYSTEM INFORMATION screen on Tivo and the settings should now show an increase to around 86 hours in Best and 299 hours in Basic. Again your figures will be slightly different to these if you use a non 250G drive.

Here's a chart showing approximate recording hour capacities for a modified UK Tivo.



All in all, the complete process should take about 1 hour to complete.
This does require a certain amount of PC literacy, and you have to be confident messing about with drives and cables in the Tivo/PC.


Part 8: Things To Note.

My Tivo is now running on a 250G drive and also is using a Cachecard network interface. Using the steps above, the Cachecard drivers and settings (that were already on my 120G drive) were all copied over, so I didn't need to re-do these. Tivoweb, endpad, autospace and the rest of the hacks I was using also came across OK.

However, once I'd initially done the upgrade to 250G I noticed that Tivo was re-booting every now and again. Sometimes hours apart sometimes minutes. I enquired on the Tivo Forum and consensus was that I was now overpowering the power supply of Tivo. Remember, Tivos PSU is designed to work with just a 40G drive and no interface card. Both the larger drive and cachecard draw more power and this is the accepted cause for my reboots. It is also understood that Tivo's PSUs do actually wear out over time.

I therefore decided to order a new PSU from which arrived in double quick time (Cheers Dave!) and was easy to fit - no soldering required. Tip - when installing the PSU, temporarily remove the Tivo fan first to give you more room to work.

I have not had the re-occurrence of the reboot problem. (update - now been running for over a year without incident!)

You should realise that this may not happen to you - indeed if you don't use cachecard or one of the other network interfaces, then it's unlikely it will. I've noted this here just in case you have the same problems as me.


Written Jan 2005.

Written by SteveC