Saturday, November 7, 2009

Ways to Transfer a 20GB File to a Laptop

I had three machines:  a laptop running only Ubuntu 9.10 (Karmic Koala) and two dual-booting Ubuntu/WinXP desktops.  One of the desktops ran almost exclusively in Ubuntu 9.04, with VMware Workstation 6.5 running Windows XP virtual machines on top.  The other desktop ran almost exclusively in WinXP SP3.  The project at hand:  the Ubuntu 9.04 desktop had a 20GB VMware virtual machine (VM) file, and some other related VMware files.  I wanted to copy those files over to the laptop, so that I could use them as a ready-to-go VM, rather than having to create a new VM from scratch on the laptop.

Before wiping the laptop and replacing 9.04 with 9.10, I had set up a Vista installation on it, and had tried using the Tornado UBS file transfer device to copy the 20GB file from the 9.04 machine to the laptop.  The Tornado needs to run a WinXP executable file, so I was able to do this on the source machine only by running that executable in a WinXP VM.  For some reason, though, the transfer would terminate at the 4GB mark.  In other words, I wound up with only a 4GB file, not a 20GB file, on the target laptop.

I thought about trying to upload and then download the 20GB file, but I realized that would probably take a couple of years.  I didn't have a USB flash drive big enough.  I thought about using a file splitter to transfer it over in several pieces via thumb drive, but that was an admission of defeat.  Besides, I wanted to be able to move files back and forth henceforth, not just this once.

I had two external USB hard drive docks and one external USB hard drive enclosure.  The latter, a Rosewill RX-358-S SLV, had recently died and needed to be repaired or replaced.  It was the only one that Ubuntu 9.04 had recognized.  The two external docks - a Rosewill RX-DU 100 and a Cavalry EN-CAHDD2B-ZB - had been recognized by Windows XP and, I think, by Vista, but not by Ubuntu 9.04.  I discovered, though, that Ubuntu 9.10 did recognize the Rosewill dock, and in passing it appeared that it might also work with the Cavalry.  I had manually swapped hard drives around previously, and was thus now able to copy an earlier version of the 20GB VM from one of those drives, inserted into the Rosewill dock, to the laptop.

If that hadn't worked, there were some other possibilities for the job. Up through Windows XP, you could use something called a direct cable connection, which if I recall correctly could be impossibly slow, depending on which method you used.  Under Windows Vista and Windows 7, you can use Windows Easy Transfer, provided you have bought the special cable.  Both of these methods, like a crossover cable but unlike a router-based network, would require you to manually unplug and replug cables if you brought more than two computers into the mix.

A better way was to use ethernet cabling.  One possibility was a crossover cable for a direct wired connection between the two machines.  I saw somewhere that some network adapters were now able to detect whether it's a crossover kind of situation, and were able to change their connections internally, so you could just use a normal ethernet cable running between the two machines.  Another possibility was to set up a home network using an ethernet switch or an ethernet router.  These ethernet options had the drawback of requiring various kinds of command-line tinkering, which seemed to have failed for a lot of people (including me) who had tried their hand at it but had found it to be dysfunctional in one way or another.

I saw somewhere that smb4k provided a good interface for Ubuntu ethernet management.  I went into System > Administration > Synaptic Package Manager, searched for smb4k, and marked it for installation.  It required a bunch of other packages - it is for KDE rather than the Gnome desktop interface that Ubuntu uses.  When I typed "smb4k" on the command line, I got an error message, "Either your PATH environment variable is not set properly or there are the following programs missing on your system:  kdesu."  I checked Symantec for kdesu.  The closest it got was kdesudo.  I installed that, and smb4k started up.  I did like its interface, but I ran out of time to explore it.