Saturday, May 14, 2011

Epson P-3000 hard drive upgrade

Following Julius Lagula's instructions, I upgraded my Epson P-3000 from a 40GB hard drive to a WD 1200BEVE model. The difference is I did it using Linux. Here's what I did:
  1. Plug the P-3000 into my Linux desktop computer, which had a lot of unused disk space.
  2. Copy the contents of the BACKUP folder to the computer.
  3. At this point, don't make the mistake I made. Do not delete the contents of the BACKUP folder (or any folder) from your Linux desktop. Use the P-3000 if you want to do any cleaning up. It appears the P-3000 keeps an index of the backups somewhere, and if the contents of the folder suddenly disappear, the P-3000 doesn't know how to set things straight again. Nothing really bad will happen when you fire the P-3000 up, but you'll be left with a list of backups that aren't there any more and no easy way to get rid of them. If you made this mistake, just copy the backups back into the BACKUP folder and go to the next step.
  4. Unmount the P-3000.
  5. Using the P-3000, clean out the "Backup Files" and anything else (videos, pictures, music) you don't want to waste time copying over later, and which you have previously already backed up.
  6. Power down the P-3000.
  7. Disassemble the P-3000 using Julius Lagula's excellent guide.
  8. Plug the P-3000's 40GB drive into a external USB drive controller and connect it to the Linux desktop computer.
  9. At this point, you can copy the contents of the P-3000 folder to your hard drive, or use dd to copy the entire partition. The advantage of using dd is you'll get everything. The disadvantage of dd is it's slow, as it copies everything, including the blank space. Before you use dd, unmount the partition.
  10. If necessary, unmount the EVP_SYSTEM partition and use dd to make an image of it on the hard drive:
    dd if=/dev/sdb5 of=/bigdisk/image.sdb5.EVP_SYSTEM
  11. Using fdisk, make a record of the old drive's partitions:
    debian:~# umount /media/EPV_SYSTEM
    debian:~# umount /media/P-3000
    debian:~# fdisk /dev/sdb
    The number of cylinders for this disk is set to 4864.
    There is nothing wrong with that, but this is larger than 1024,
    and could in certain setups cause problems with:
    1) software that runs at boot time (e.g., old versions of LILO)
    2) booting and partitioning software from other OSs
    (e.g., DOS FDISK, OS/2 FDISK)
    Command (m for help): p
    Disk /dev/sdb: 40.0 GB, 40007761920 bytes
    255 heads, 63 sectors/track, 4864 cylinders
    Units = cylinders of 16065 * 512 = 8225280 bytes
    Disk identifier: 0x05e51aee
    Device Boot      Start         End      Blocks   Id  System
    /dev/sdb1               1        4780    38395318+   c  W95 FAT32 (LBA)
    /dev/sdb2            4781        4864      674730    f  W95 Ext'd (LBA)
    /dev/sdb5            4781        4864      674698+   b  W95 FAT32
  12. Unmount the 40GB drive.
  13. Attach the new drive to the external USB controller, and plug it into the desktop computer.
  14. Partition the drive using fdisk. For my new drive, the Units (cylinders of 16065 * 512 = 8225280 bytes) was the same as it was in the old drive. So I calculated how many cylinders sdb5 needed to be, and created sdb1 to fill the rest of the drive. To be more specific,
       Device Boot      Start         End      Blocks   Id  System
    /dev/sdb1               1       14509    c  W95 FAT32 (LBA)
    /dev/sdb2           14510       14593    f  W95 Ext'd (LBA)
    /dev/sdb5           14510       14593    b  W95 FAT32
  15. Set the types of the partitions as indicated above, namely sdb1=c, sdb2=f, sdb5=b.
  16. Format the partitions:
    mkfs -t vfat -n P-3000 /dev/sdb1
    mkfs -t vfat -n EPV_SYSTEM /dev/sdb5
    Optional: Include the -c option to check for bad blocks as the filesystem is being made. This significantly increases the time it takes for mkfs to run, but may be worth it.
  17. Copy the images back to the hard drive:
    dd if=/bigdisk/image/sdb5.EPV_SYSTEM of=/dev/sdb5
    mkdir /media/P3000
    mount /dev/sdb1 /media/P3000
    # If you used dd to save the P-3000 partition, do this:
    mkdir /media/loop
    mount -o loop /bigdisk/image.sdb1.P3000 /media/loop
    # Now copy the directories from the old P-3000 to the new one
    cp -aR /media/loop/* /media/P3000/
    cd /media/loop
    cp -aR .Trash* /media/P3000/
    cp -aR ._.Trashes /media/P3000/
    cp -aR .RATE /media/P3000/
    cp -aR .DS_Store /media/P3000/
  18. Use ls -aR | wc to compare the contents of /media/loop to /media/P3000.
  19. Unmount the new drive.
  20. Install into the P-3000 and reassemble
If all went well, you should be able to boot up the P-3000 and see 111GB (or so) free disk space. I have noticed one problem: sometimes a CF card backup will hang half-way through, and the only recourse is to power-down the system by removing the battery. It seems this is happens only when the P-3000 is moved in some significant way, e.g. flipped over or jarred. Backups continue to completion if the P-3000 is moved gently or left alone. Update: Yep, the WD Scorpio Blue (vintage Jan 2008) resets or something if it is rotated or moved too much, causing the backup process to hang. I reinstalled the Fujitsu 40GB, and could not repro the problem using the same motions. I'm going to try a Samsung drive next.

1 comment:

  1. Hi.
    I inherited the P-3000 of my father in law.
    It is broken and he asked me to fix it.
    There are 2 things that are broken:
    1. A small fuse close to the power supply is busted.
    2. The hard drive seems to not boot at all.

    For solution 1 I am able to bypass it using a small cable for now.
    For 2, well I am SOL. I was wondering if i could get the partitions from you to be able to get a new HDD and copy the software in it.

    Thanks in advance