I had a similar problem just recently. No matter what I did the tivo would not boot up completely (I could get a bash prompt).
Anyway it's not too hard, if you know your way around linux. Get vplay (make sure you have the latest source).
change both instances of "/Recording/NowShowing" to "/Recording/NowShowingByClassic"
to compile (on a pc running linux):
I then copied the i386 folder to a pc running windows, say c:\i386.
I attach my tivo drives to my pc thus:
primary tivo -> primary slave
secondary tivo -> secondary slave
I use Kazymyr's Bootable Utility CD. Got it here: http://www.9thtee.com/tbdv2_6i.iso and burn it to a cd.
I boot up off the cd and then mount the partition (on the primary master) that contains the i386 folder thus:
mount /dev/hda1 /mnt/c
then you can cd into /mnt/c/i386 and run the programs therein.
before you do so however you need to have a correct MFS_DEVLIST (which is the tricky part):
export MFS_DEVLIST="/dev/hdb10 /dev/hdb11 etc... /dev/hdd2 ..."
to find the correct devices to add to the above statement you need to type this on the command line:
export MFS_DEVLIST="/dev/hdb /dev/hdd"
and then run:
it will warn you about some errors or somesuch but in it you will find the needed /dev/hd... strings.
then you can create the correct MFS_DEVLIST statement. For example mine reads:
export MFS_DEV="/dev/hdb10 /dev/hdb11 /dev/hdb12 /dev/hdb13 /dev/hdd2 /dev/hdd3"
type it on the command line.
Then you type:
which will return a list of the file parts (fsids) for each show.
actually it only returns the first part's fsid. So what I do is:
which returns a object fsids for each recording, then I do:
./mfs_dumpobj <fsid of the show I want to extract>
which returns a bunch of stuff. I then make note of the fsid's for each RecordingPart.
Then you can extract the ty (to a directory on your c drive, eg, ty_files).
./mfs_export <fsid> /mnt/c/ty_files/recording_partX.ty
I know this seems convoluted but I am no expert. However, it works for me. YMMV.