Disk cloning
|
Disk Cloning is a category of software which copies the contents of one computer hard disk to another. Often, the contents of the first disk are written to an image file as an intermediate step, and the second disk is loaded from the image.
A disk cloning program is most commonly used by large companies to provision new computers, by a computer manufacturer to install the initial package of the operating system and applications for sale, or by a training or educational institute to refresh the software on the computers used by a class. An individual user may use disk cloning to upgrade to a new hard disk.
This article is specific to disk cloning on the x86 platform.
To provision the hard disk of a computer without using disk cloning software, the following steps are generally required for each computer:
- Create one or more partitions on the disk
- Format each partition to create a file system on it
- Install the operating system
- Install device drivers for the particular hardware
- Install application software
With disk cloning, this is simplified to:
- Install the first computer, as above.
- Create an image of the hard disk (optional)
- Clone the first disk, or its image, to the remaining computers
Contents |
History
Before Windows 95, some computer manufacturers used hardware disk copying machines to copy software. This had the disadvantages of copying not just the used data on the disk, but also unused sectors, as the hardware used was not aware of the structures on the disks, and usually required the disks to be copied before being inserted into the machines. A larger hard disk could not be copied to a smaller one, and copying a smaller one to a larger left the remaining space on the new disk unused. The two disks required identical geometries.
Other manufacturers and companies partitioned and formatted disks manually, then used file copy utilities or archiving utilities, such as tar or zip to copy files. It is not sufficient simply to copy all files from one disk to another, because there are special boot files or boot tracks which must be specifically placed for a operating system to run, so additional manual steps were required.
Windows 95 compounded the problems because it was larger than earlier popular operating systems, and thus took more time to install. The long filenames added to the FAT filesystem by Microsoft in Windows 95 were not supported by most copy programs, and the introduction of the FAT32 filesystem in 1997 caused problems for others. The growth of the personal computer market at this time also made a more efficient solution desirable.
Ghost was the first disk cloning program. Introduced in 1996 by Binary Research, it initially supported only FAT filesystems directly, but it could copy but not resize other filesystems by performing a sector copy on them. Ghost added support for the NTFS filesystem later that year, and also provided a program to change the Security Id (SID) which made Windows NT systems distinguishable from each other. Support for the ext2 filesystem was added in 1999.
Competitors to Ghost soon arose, and a features war has carried on to the present day. Many disk cloning programs now offer features which go beyond simple disk cloning, such as asset management and user settings migration.
Post Cloning Operations
For Windows NT and its successors, two machines with identical names and security IDs (SIDs) are not allowed on the same network. A disk cloning program must change these as part of copying the disk or restoring the image. Some operating systems are also (by design) not well suited to changes in hardware, so that a clone of Windows XP for example may object to being booted on a machine with a different motherboard, graphics card and network card. Microsoft's solution to this is Sysprep, a utility which runs hardware detection scans and sets the SID and computer name freshly when the machine boots. Microsoft recommends that Sysprep be set up on all machines before cloning, rather than allow third party programs to configure them.
There are files in some Microsoft operating systems (called BOOTSECT.*) which are copies of the Boot Partition Block (BPB). They must be altered if partition sizes are changed during the clone.
Linux systems usually boot using either the LILO or grub bootloaders. These contain lists of absolute disk sectors in their MBR, which must be altered by the cloning program as the files they refer to are likely not to be in the same location of the destination disk.
Operating Environment
A disk cloning program needs to be able to read even protected operating system files on the source disk, and must guarantee that the system is in a consistent state at the time of reading. It must also overwrite any operating system already present on the destination disk. To simplify these tasks, most disk cloning programs run under a version of DOS (MS-DOS, PC-DOS and DR-DOS are all used by different disk cloning manufacturers). Some disk cloning programs, notably PowerQuest's DriveImage, can perform most operations without rebooting to DOS unless the Windows System Drive is involved.
Running under a DOS environment does cause problems for disk cloning programs, as some devices no longer have DOS drivers available for them. Disk cloning programs often provide their own functionality for accessing tape drives, CD and DVD readers and writers, and USB and FireWire drives. They often contain their own TCP/IP stack for multicast transfer of data.
Image Transfer
The simplest method of cloning a disk is to have both the source and destination disks present in the same machine, but this is too restrictive. Disk cloning programs can link two computers by a parallel cable, or save and load images to a network drive. As disk images tend to be very large (usually at least several hundred MB), performing several clones at a time puts excessive stress on a network. The solution is to use multicast technology. This allows a single image to be sent simultaneously to many machines without putting greater stress on the network than sending an image to a single machine.
Image Manipulation
Although disk cloning programs are not primarily backup programs, they are sometimes used as such. A key feature of a backup program is to allow the retrieval of individual files without needing to restore the entire backup. Disk cloning programs either provide a Windows Explorer-like program to browse image files and extract individual files from them, or allow an image file to be mounted as a read-only filesystem within Windows Explorer.
Some such programs allow deletion of files from images, and addition of new files.
External links
- Ghost, now owned by Symantec (http://www.symantec.com/sabu/ghost/)
- PowerQuest's DriveImage, now owned by Symantec (http://www.powerquest.com/driveimage)
- Altiris eXpress (http://www.altiris.com)
- g4u ("ghost for unix") - Open Source disk cloning software (http://www.feyrer.de/g4u/)