willfe's picture

Dead Hardware Parade: Seagate On the Ball

Last Thursday, I continued the dance of the Dead Hardware Parade by shipping off the ailing 750GB Seagate disk to its warranty service center in Texas. I shipped the drive via DHL ground, which cost me $6.25 (including the insurance). It was supposed to get there this coming Thursday (that is, two more days from now). It actually arrived yesterday … woohoo!

Before I could get too excited about the (very) early delivery of the drive back to Seagate, I noticed another dose of good news — Seagate had already checked it out and sent me a refurbished replacement drive. It’s due here Friday! That’s pretty damned good turnaround time for a warranty replacement like this. They’ve beaten Canon’s response time, which was adequate to me.

In preparation for the drive’s arrival, I’ve been researching (just to make sure) how to actually get my 80GB factory drive (it came with the Dell) transferred non-destructively to the new 750GB disk. Running Linux, and using the XFS filesystem, happened to be a good choice here. It makes life really simple:

  • Attach new disk to the machine (to its internal SATA connectors for best performance)
  • Boot from a Live CD (Ubuntu 7.10 should do the trick here, as should System Rescue CD, which is what I’ll use here)
  • Use plain old dd (or ddrescue, a more verbose version of dd) to flat-out copy the whole damned disk’s image (boot sector, partition table, and all) straight over to the new 750GB disk
  • Shut the beast down again, plug the new 750GB disk into the same SATA port the old 80GB occupied, and yank the 80GB disk entirely (it is no longer needed, believe it or not)
  • Boot on the new disk, which should operate just as before, since it should have a valid boot sector, a valid partition table, and a valid partition containing an existing, valid, bootable filesystem. At this point, the box will be up and running on the new 750GB disk, but will believe it’s still an 80GB disk (technically, it’ll believe it’s a 750GB disk, with just one 80GB partition on it)
  • Here’s where it gets friggin’ cool. Run fdisk on the new disk, and delete the partition that just got copied (hehehe … nervous yet?)
  • Still in fdisk, recreate the partition from the same starting sector (in my case, it’s the first partition, so it’s hard to guess which sector to start from — the first partition on a disk should always start at the drive’s first sector: sector 1), but let it grow out to fill the end of the disk (I’m actually going to go a gigabyte shy of that, to leave room for the swap partition). Write the new partition.
  • Mount the XFS filesystem on the newly-grown partition. It will mount normally, and operate as it would normally — 80GB total space. While it’s mounted, run xfs_growfs on the filesystem, which will automatically grow it (while it’s frigging mounted — how cool is that?) to fill the available partition space.
  • Run LILO just to make sure that flaky-ass bootloader doesn’t panic and die next time the system starts (running it here will let it refresh its information about the system’s devices and drive layouts).

The short version (too late, I know) is “copy the old drive, every last bit of it, to the new drive, boot from the new drive into the normal system, grow the partition, grow the filesystem, update the bootloader.” That ain’t bad Smiling I have yet to successfully migrate Vista from any disk to any other (which pissed me off something fierce when I first tried it — Partition Magic and Ghost and similar programs are supposed to be able to do that without incident), while this specific process in Linux is something I’ve actually done before and I know it works. I only dug around this time to make sure I hadn’t missed any steps.

I guess we’ll find out Friday whether or not I actually know what I’m talking about, eh? Smiling

Reply

The content of this field is kept private and will not be shown publicly.
  • Allowed HTML tags: <a> <em> <strong> <cite> <code> <ul> <ol> <li> <dl> <dt> <dd>
  • Lines and paragraphs break automatically.
  • Textual smileys will be replaced with graphical ones.
  • You can use Markdown syntax to format and style the text.
CAPTCHA
This question is here to test whether you are a human visitor and to prevent automated spam submissions.
6 + 2 =
Solve this simple math problem and enter the result. E.g. for 1+3, enter 4.