Home > Linux > HowTo: No-effort Backup Solution for Partitions and Hard Drives

HowTo: No-effort Backup Solution for Partitions and Hard Drives

HowTo: Install SystemRescueCD on a Dedicated Hard Disk Partition.
HowTo: No-effort Backup Solution for Partitions and Hard Drives

Downloading and burning SystemRescueCD provides a bootable Gentoo-based distro on a CD. The installed applications focus on restoring disabled Linux/windows distros on the hard drives, or retrieving data if things go terribly wrong. You can operate direct from the booted CD. It’s great. But SystemRescueCD also contains PartImage, the powerful free Linux alternative to Norton Ghost. So it’s a too-easy tool for backing up single or multiple partitions, or whole drives.

Here I recount HowTo install SystemRescueCD onto a dedicated partition. I include a script for creating backup images of your hard drive partitions. Once you go through this tutorial as a practical exercise, you’ll have the knowledge and confidence to customise all manner of backup solutions so very easily.

This tutorial is for the middle ground reader, too hard for new Linux users and too simple for Gurus. It’s drawn from material in the On Line Manual at the System Rescue CD Site.

Summary of the steps for installing SystemRescueCD on a dedicated hard disk partition:

  1. Prepare a separate SystemRescue partition
  2. Download the SystemRescueCD ISO file
  3. Extract bootable image files from the ISO to the boot partitiion
  4. Edit Suse’s GRUB configuration to facilitate booting the SystemRescue partition
  5. Prepare and place your scripts, if any
  6. Boot with Suse’s loader –> select item SystemRescueCd

Step 1: Prepare a separate SystemRescue partition: I leave it to you to make the partition. You need about 160Mb plus any extra storage you might need. I use 400Mb. Note that this partition becomes the root of the cdrom after SysRescueCD boots from it, so its filesystem becomes read-only. This means you will select writeable workspaces on other partitions.

Suppose for illustration that you have prepared partition hda13 for the installation. Now make a directory to mount hda13 into openSUSE, e.g. /SysRescCD. You can mount hda13 with this command:

mount /dev/hda13 /SysRescCD

BUT I use the more convenient permanent mount created by placing this line into /etc/fstab:

/dev/hda13    /SysRescCD    ext3    defaults    1 2

You can do that with Yast –> System –> Partitioner OR more simply by issuing this command in a console: kdesu kwrite /etc/fstab and then typing the line in.

Step 2: Download the SystemRescueCD ISO file: You can download the CD ISO for the SystemRescueCD by following this project download link. The ISO filename looks like this: systemrescuecd-x86-x.y.z.iso. Place it anywhere on your hard drives, at e.g. /path_to/systemrescuecd-x86-x.y.z.iso

Step 3: Extract bootable image files from the ISO and place them in boot partition: You can mount the ISO file for viewing the files on the CD. First create a folder to mount the ISO in, e.g. /iso. Then mount the ISO with this command in a root terminal:

mount -o loop -t iso9660  /path_to/systemrescuecd-x86-0.3.6.iso    /iso

You’ll find these three files of special interest on these paths inside the mount folder:


Create the folder sysrcd in the root of hda13, using the mount point /SysRescCD to place it at /SysRescCD/sysrcd. Then copy the three files into folder sysrcd. The name sysrcd is immutable.

The partition hda13 is now configured with the bootable Gentoo distro and all that remains is to point Suse’s bootloader at it.

Step 4: Edit Suse’s GRUB configuration to facilitate booting the SystemRescue partition: You can open the Grub configuration file in a text editor with commands like this one for Kwrite:

kdesu kwrite /boot/grub/menu.lst

Edit/add these lines at the bottom of the file, one blank line below the last entry:

title    SystemRescueCd
root    (hd0,12)
kernel    /sysrcd/rescuecd root=/dev/ram0 init=/linuxrc looptype=squashfs loop=/sysrcd/sysrcd.dat splash=silent nosound subdir=sysrcd cdroot=/dev/hda13 setkmap=us vga=0x31a
initrd    /sysrcd/rescuecd.igz

Remember to adapt my (hd0,12) which is for my hda13, across to your situation. Also, note that the sequence beginning “kernel” and ending “0x31a” is all the same/one line. I’ve included three parameters at the end: cdroot=/dev/hda13 setkmap=us vga=0x31a. These set the distro upto have hda13 at the root of the cd (on /mnt/cdrom), to have the US keyboard and for a vga screen that suits me. If you wanted to boot into the Window Manager Desktop Environment to access GUI tools, you would use this line instead:

kernel    /sysrcd/rescuecd root=/dev/ram0 init=/linuxrc looptype=squashfs loop=/sysrcd/sysrcd.dat splash=silent nosound subdir=sysrcd cdroot=/dev/hda13 setkmap=us vga=0 dostartx

A list of boot options can be seen on this link at the SystemRescueCD site.

Step 5: Prepare and place your scripts, if any: Pre defined sites [like the floppy disk, the root of the CDROM, the root of the installation partition] are searched straight after booting for scripts which if found are executed. You can have one or many scripts. See the SystemRescueCD site for full details. I’ll deal with only one location here: the root of the installation partition. It’s really simple. Rust create a script called autorun and lodge it in the root of the installation partition, hda13. It will run just after the system boots to a console.

Step 6: Boot with Suse’s loader: Reboot and select item SystemRescueCd. The root of partition hda13 automounts at location /mnt/cdrom in the booted-up virtual filesystem. All files and scripts placed on the partition are thus available at /mnt/cdrom.

Backup Script: I constantly change the filesystems on my primary hard drive and it’s hard to prevent damage to them. So I back them up regularly. This takes a long time. I use a script called autorun in the root partition of hda13 and simply boot to SystemRescueCD on hda13 and walk away to let the job proceed. Here’s my scenario and script. You could easily modify the script for your scenario.

Scenario: I have a Suse root partition at hda5 and a /home partition at hda6. These have to be backed up when they’re not being used, i.e. from within another operating system. The Gentoo installation on the SystemRescueCD partition contains a script, “autorun”, which employs “partimage”, the Linux free version of “Ghost”. It is perfect for the task. I have prepared a folder called “partimage” on partition hdb2 on IDE2 drive. The script mounts hdb2 into Gentoo/SystemRescueCD’s filesystem, generates a date-coded folder on hdb2 and copies image files across from the Suse root and home partitions.


# mount the target directory
mkdir /mnt/hdb2
mount /dev/hdb2 /mnt/hdb2
# assign today’s date to xx, example 071130 on 30Nov2007
xx=`date +%y%m%d`
# make a directory in the folder “partimage” on hdb2 and name it for the date
mkdir /mnt/hdb2/partimage/$xx
cd /mnt/hdb2/partimage/$xx
# write start time to a logfile
echo ‘start at: ‘`date`>$zz
# make an image of suse102_root options: -z1=gzip -d=no description save=save_image -b=batch(not gui) -f3=quit when finished
partimage -z1 -d save -b -f3 /dev/hda5 /mnt/hdb2/partimage/$xx/hda5.partimg.gz
# make an image of /home options: -z1=gzip -d=no description save=save_image -b=batch(not gui) -f3=quit when finished
partimage -z1 -d save -b -f3 /dev/hda6 /mnt/hdb2/partimage/$xx/hda6.partimg.gz
# write contents of file autorun to a file in the target directory
cat /mnt/cdrom/autorun >>script.used
# write end time to the logfile
echo ‘end at: ‘`date`>>$zz
# write the contents of the backup directory into the logfile
ls -l>>$zz

These are the things to customise: Change hdb2 to match your target storage partition. Change hda5 to match your root partition. Change hda6 to match your home partition. Everything else should match your system.

This is the key line:

partimage -z1 -d save -b -f3 /dev/hda5 /mnt/hdb2/partimage/$xx/hda5.partimg.gz

If you have six partitions, duplicate this line six times, replacing hda5 with your correct partition designations and hdb2 with your target storage/backup partition.

That’s all there is folks, enjoy.

For more technical articles, news and forum discussion logon

Categories: Linux
  1. rapha
    March 17, 2008 at 9:27 am

    hi, sorry for my english

    Mainly I am trying to do something like laptops integrated automatically restore system, with grub in mbr who let me choose XP,Vista(or the bootloader that manage them), Ubuntu,Debian and SystemRescuecd(to manage all backups from there),but I have doubts at certain points and I can’t finish.

    I thought in a schema like this, and installed in this order:
    sda1 25GB XP
    sda2 20GB Vista
    sda3 1 GB free with ext3 for SystemRescuecd
    sda5 20GB free for Ubuntu
    sda6 20GB free for Debian

    I followed SRCD(Systemrescuecd) manual but I can’t understand some steps.
    (I boot from SRCDbeta5 usb/cd, an I need know how to install it to hd)

    mount -t ext3 /dev/sda3 /mnt/custom
    I copy this files sysrcd.dat, sysrcd.md5, initram.igz, rescuecd from /mnt/cdrom to /mnt/custom/sysrcd/

    to install grub in mbr, wich files need, to copy/create? I do anything and I reboot in a readonly system,I don’t know why.

    /mnt/custom/boot/grub/(stage1,stage2,menu.lst,ex2…, this files copied from livecd system)
    I touch and add entries to menu.lst (title, root (hd0,2),kernel,initrd, boot)
    then I call grub(root(hd0,2),setup (hd0)mbr or (hd0,2)if I want to load from winloader which have on C: de linux boot copied with dd command)

    at the end, umount -a ,but says is busy

    First I only want to install only SRCD on a partition with grub in mbr and second other OS with it’s boots in it’s partitions(second I know, but first not at all), and then I’ll adapt your backup scripts for restoration images that I’ll save in SRCD partiton(can you tell me image’s size aprox)

    Can you indicate me detaily your step 4,where i find grub files(think that at this moment have no other linux, only win OS or not),


  2. Alexwebmaster
    March 3, 2009 at 10:49 am

    Hello webmaster
    I would like to share with you a link to your site
    write me here preonrelt@mail.ru

  3. August 26, 2011 at 5:02 pm

    Thanks for the sensible critique.Me & my neighbor were just preparing to do some research on this.We got a grab a book from our area library but I think I learned more clear from this post.I am very glad to see such magnificent info being shared freely out there

  1. No trackbacks yet.

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out /  Change )

Google+ photo

You are commenting using your Google+ account. Log Out /  Change )

Twitter picture

You are commenting using your Twitter account. Log Out /  Change )

Facebook photo

You are commenting using your Facebook account. Log Out /  Change )


Connecting to %s

%d bloggers like this: