Burn the ISO as an “image” and boot from the CD. You will then have to navigate options for language, X.org, and screen resolution. Most people can just push Enter three times, resulting in a 1024×768 setup, which is perfectly sufficient. You may then eject the CD if you desire. Booting Puppy Linux on my system took only about two minutes.
If you would like network access (required if you want to use SSH), click on the Connect icon. Puppy should (hopefully) find your network module. Select your network card (eth0 in most cases), and configure with Auto DHCP (most cases). If you have a static IP address, you will need to enter that information manually. Once configured, you should have a networking icon in the system tray (see screenshot).
Make Room for the New Partition
If you don’t care about the size of the original partition and just want to store your system image directly on another server with SSH, you may safely skip this section.
Now that you are running from CD, let’s make room for the system image. As I mentioned previously, ntfsclone cannot easily restore an image to a smaller partition than the original. One solution here is to resize your original partition before you create the image. For instance, if you have a 200 GB drive with only 25 GB used, shrink your partition to something more manageable (maybe 40 – 50 GB), and allocate the remaining portion as a separate partition for storage.
Of course, I cannot cover every possible partition scheme, but I assume that many readers of this article have their entire hard disk dedicated to Windows, formatted as NTFS. In that case, I suggest shrinking that partition down to a manageable size, and designating the remainder as a separate NTFS partition.
Resizing a partition is easy, and can be done completely with a graphical interface using GParted. To launch it, go to the Puppy menu, then System, and then choose GParted. Once GParted has opened, select the Windows partition and click Resize/Move. Drag the right side of the original partition to the left, thus shrinking it to your designated size. In the unallocated space, create a new partition and format it using the filesystem of your choice. Note: if you suspect that your system image will be quite large, I do NOT recommend FAT32, since it has a 4 GB file size limit. Yes, you can split the image into 4 GB chunks, but this increases the complexity. If you just plan to use Windows on your machine, NTFS is a fine choice.
In my case, I resized a 40 GB drive with one NTFS partition into two NTFS partitions, ending up with something like this (see screenshot).
Once you have resized and created your partition scheme, click Apply, and let GParted go to work. Depending on the size of your disk and the speed of your processor, this task may take an hour or more. Go make a cup of coffee or something.
If you want to verify that Windows still works when GParted is finished, feel free to reboot afterward. Windows will scan the disk for errors, but should come alive when finished. If all is well, breathe a sigh of relief and boot your Linux live CD again.
Make Directories and Mount
Once again, if you just want to store your system image directly on another server with SSH, you may safely skip this section.
Now we need to mount the newly-created partition. First, we need to specify the folder where it will be mounted. GParted should tell you the name of the spare partition that you just created. If it is the second partition on the first hard drive, the name is likely hda2. If you are using a SATA hard disk, the spare partition is probably named sda2. Whichever it is, remember it, and adjust it accordingly in the steps below. DO NOT MOUNT THE PARTITION THAT CONTAINS WINDOWS.
Using a Terminal, create a directory inside /mnt where you will mount the spare partition. I will use hda2 as the directory name.
# mkdir /mnt/hda2
Assuming your spare partition is formatted as NTFS, let’s mount it using the ntfs-3g driver.
# ntfs-3g /dev/hda2 /mnt/hda2
The above command tells the system, “Using ntfs-3g, mount the second partition of the first hard drive into the folder /mnt/hda2.” Adjust your commands as needed.
Still with me? Good! Now we get to the fun part: Creating our image.