You're reading a how-to that is part of our new Learn Beta. Track your progress. Earn badges. Learn IT! Read More about the beta experience.

Introduction

There are many system imaging solutions out there, specifically for large deployments of computers, they involve servers, front end software, sysprep, and other stuff. Sometimes these solutions make sense for small businesses, but let's suppose you don't have the resources for that, don't have the time, or only have a machine or two you want to image, but not all of them. There is the poor mans' system imaging. With a live Ubuntu CD, or Live Ubuntu USB stick (better) you can image a one off system easy as eating pie (very easy if you are particularly rotund like myself)

Steps
(12 total)

1

Gather the required tools

1) Ubuntu Live CD

*Alternative - Ubuntu Live USB Stick with persistent casper storage, this would make life easier, as you would not have to install the additional packages each time you wanted to save or write an image. You can easily install Ubuntu to a USB stick by downloading the Ubuntu ISO and then downloading the Universal USB Installer from here http://www.pendrivelinux.com/universal-usb-installer-easy-as-1-2-3/

*Alternative - USB Hard Drive, this would provide faster read and write times of the image vs. using a network share, especially if on a 100MB network.

2

Boot from your Ubuntu CD or USB stick

Open up the Software sources window from the System Administration Menu. Then select all the available sources and if applicable select a server. Once this is done click the "Close" button

3

Ubuntu will update the list of available packages

Ubuntu will now download the list(s) of available packages from the various software sources. You can twiddle your thumb(s) while this happens.

*With USB this only needs to be done once.

4

Ubuntu updating available software

5

Open Up a terminal and gain Root access

****Root access can be very dangerous, but it is required (or sudo can be used) to install and or update software.****

Open up a terminal (CLI) window from the Accessories Menu and then type

sudo su

6

Now perform an upgrade

To make sure you have the latest version of all the system software. type

apt-get upgrade

Agree to the prompts regarding upgrading software if presented. If you recently downloaded the Live CD there may not be any updates.

*With USB this only needs to be done once

7

Add the smbclient and smbfs packages to your Ubuntu

SMB stands for Server Message Block (if I recall correctly) it is what CIFS (Common Internet File System) was previously known as. All this really is, is the file sharing protocol that Microsoft implements in its Operating Systems.

At the command prompt type

apt-get install smbfs smbclient

*If you are using the alternative method of a USB hard drive you can plug the hard drive in at this time and let Ubuntu format if it is the first time being used, or mount it if you will be reading an image from it.

8

Create a Mount Point for your SMB file share

In Linux mount points are directories within the file system that you mount something such as a file system to. AN example of this is when you plug in a USB stick it Linux (such as Ubuntu) will create a mount point and mount the drive to that location.

If you will be using a local hard drive via USB you can disregard this step.

At the command prompt type

mkdir /mnt/images

This will create an empty folder inside the mnt directory on the Linux filesystem. In the next step we will use the smbfs package to connect to a file share and mount it as if it were a local filesystem on the Ubuntu machine.

This will read the file and decompress it in real time the feed it to dd which will write it block by block to the hard drive.

12

Unmount the Windows File Share

At the command line type

umount /mnt/images

then reboot the computer by typing

reboot

Conclusion

This method is a quick and dirty method of imaging a hard drive, very effective though. I used this method to setup 23 Windows 7 PCs. Used a 2003 server for the image storage on a gigabit network with two hops between the server and clients I set up. I obtained max throughout of about 50 megabits per second with four machines imaging at a time. These were 80GB Hard drives it took about 2 hours each to write the image. But much less time than configuring, even from an OEM image on the machine all ready. Using a local drive should increase the speed significantly as will the hard drive spin speed. If you want to see you sustained throughput also install iftop and run that as you read or write the image to your file share.

Hope this helps fill a gap and is useful to the community,

6 Comments

Interesting read. It's nice to see that ubuntu could be used for this. However, imaging 23 PCs using this method would seem a bit time consuming. And if I only had one or two PCs to image, Clonezilla would have been a better alternative in my opinion. If all I have is an Ubuntu CD though, I'll be sure to reference this. Thanks for sharing.

Used to use live Ubuntu cd's and dd / sfdisk for imaging but now use the Clonezilla live based on Ubuntu. Images on network storage. More reliable and easier to use. Multiple unicast system builds work fine. Use 'load to ram' option then take the stick/cd out.

A daily dose of today's top tech news, in brief.
You need to hear this.
Reddit gets native video support
Variety reports that Reddit has just introduced a new feature that allows you to upload video clips directly to the service. The feature was ...

For a long time we have been happily using the Dell E Dock. But as Dell are removing the E dock port I need to find a good USB docking station. What is everyone else using? We are a nonprofit so need something cheap.

I am curious about what others think when having to take an exam to qualify for a position. I personally don't feel that a company can really judge a person just by taking a test for a position the company is hiring for. Now I know they are trying to see if this individual is qualified, but sometimes there are questions on these exams that even experts can't answer.