Move linux to another hard drive (dump, restore, backup)

Welcome to Linux Screw! If you're new here, you may want to subscribe our RSS feed.

There are several methods to move running Linux to another hard drive at the same server. But I used Unix dump/restore utility to perform this…

First of all it’s necessary to partition new hard drive in the same way as it’s done with old drive (Linux is running at). I usually use ‘fdisk’ utility. Let’s assume that old drive is /dev/hda and new one is /dev/hdb. To view hda’s partition table please run ‘fdisk -l /dev/hda’ which should show something like this:

Disk /dev/hda: 60.0 GB, 60022480896 bytes
255 heads, 63 sectors/track, 7297 cylinders
Units = cylinders of 16065 * 512 = 8225280 bytes

Device Boot Start End Blocks Id System
/dev/hda1 * 1 15 120456 83 Linux
/dev/hda2 16 276 2096482+ 82 Linux swap
/dev/hda3 277 7297 56396182+ 83 Linux

After this run ‘fdisk /dev/hdb’ and make the same partitions at it. Interactive mode of fdisk utility is well documented and is very intuitive, so I don’t think it would be difficult to perform partitioning.

After this is done, we should make new filesystems at partitions we’ve created:

mkfs -t ext3 /dev/hdb1
mkfs -t ext3 /dev/hdb3
mkswap /dev/hdb2

When it’s done it’s NECESSARY to mark newly created filesystems as it’s done with old ones. To check filesystem volume name run command ‘tune2fs -l /dev/hda1 | grep volume’ and etc. You’ll see something like this:

Filesystem volume name: /boot

It means that we should mark new hdb1 with label /boot. It can be done by command:

tune2fs -L “/boot” /dev/hdb1

The same should be performed for all partitions except swap one. In my case I should label hdb3 by command:

tune2fs -L “/” /dev/hdb3

At this point new hard drive preparation is finished and we can proceed with moving Linux to it. Mount new filesystem and change directory to it:

mount /dev/hdb1 /mnt/hdb1
cd /mnt/hdb1

When it’s done we can perform moving by command:

dump -0uan -f – /boot | restore -r -f -

And the same with / partition:

mount /dev/hdb3 /mnt/hdb3
cd /mnt/hdb3
dump -0uan -f – / | restore -r -f -

When dump/restore procedures are done we should install boot loader to new HDD. Run ‘grub’ utility and execute in it’s console:

root (hd1, 0)
setup (hd1)
quit

In case everything is done carefully and right (I’ve tested this method by myself) you can boot from new hard drive and have ‘old’ Linux running at new hard drive running.

Good luck!

 
 
» You might also be interested in the following articles:
Moving Linux to remote server (over ssh via third server)
Keep ssh session saved (Unix “screen” utility)
Portable and integrated Linux distro for USB drives
Mobile phone contacts, calendar and messages online backup
PCLinuxOS Magazine Latest Issue (Nov 2007)



» Want to stay up to date? Subscribe to our E-MAIL or RSS feed!

8 Responses to “Move linux to another hard drive (dump, restore, backup)”


  1. 1 David Medinets

    Nice article! Thanks.

  2. 2 Make Money Online

    Hey, this is Jing here and I just want to say interesting WP blog you have here. Just dropping by and saying hey!

  3. 3 Yousuf

    Hi, good info, but using dump & restore is very proprietary to each filesystem. It will work for Linux’s Ext2/Ext3 filesystems, but it may not work if you’re using another Linux filesystem like ReiserFS or JFS or XFS. The dump program is proprietary to each filesystem, though the restore is portable. An alternative solution would be to use tar in a similar respect to how you used the dump and restore:

    tar cf – –one-file-system /source | ( cd /destination ; tar xvf – )

    The first tar command in the sequence acts like your dump, while the second tar inside the parenthesis “()” act like your restore. The first tar sends its output directly to the second tar through the standard input and output. No tar archives are created.

    The “–one-file-system” option only works with GNU tar (which is the version that comes with Linux), and it prevents the tar from crossing filesystem mount points. This way you will only backup and restore one file system at a time.

  4. 4 Øyvind

    Hi, nice guide, but i’m stuck at the “dump” part, do you think you could help me out?

    oaeide@server:/mnt/sdd1$ dump -0uan -f – /boot | restore -r -f -
    DUMP: You can’t update the dumpdates file when dumping a subdirectory
    DUMP: The ENTIRE dump is aborted.
    restore: Tape read error on first record

    Both Sda1 and Sdd1 are labaled /boot

  5. 5 sankar

    this is very useful to us.

    Thanking you,

    with regards,
    p.sankar

  6. 6 JohnnyBoyClub

    The method i am using to move linux is :
    - I am using the software http://www.dmailer.com/dmailer-backup.html is a free software that allows you to backup and save your files online.
    - Making the backup to all files
    - Saving it online
    - Than restore it on the other drive
    - And i am ready to go

  1. 1 Changer de disque dur sans réinstaller Ubuntu | Void And Any
  2. 2 Linux – move to new hard drive - Iam8up Blog

Leave a Reply




Friendly Sites:Who is behind Linux Screw?
Aspiring Sysadmin | GeekyBits³ | Bash Cures Cancer | TOTMS
Linux Operating System | Small Linux Deployments | My SysAd Blog
The Danesh Project | ZEPY | Linux config Wiki | Planet Sysadmin
The Sys Admin | {buhay sysad} | a non-geek's linux notes
Linux HOWTOs, Tutorials & Projects with Adam Palmer | LinuxAlt.Com
My name is Artem N. (artiomix AT gmail DOT com) and I'm Linux/Unix, Cisco systems engineer. The main idea of Linux Screw is to share relevant knowledge, skills and observations over The Web. Here you can find a lot of information related to different Linux distributions, FreeBSD, IOS as well as a other Open Source around staff. Read more ››