Best way to Duplicate a Laptop's Hard Drive One-to-One
Solution 1:
You could try using Clonezilla:
You're probably familiar with the popular proprietary commercial package Norton Ghost®, and its OpenSource counterpart, Partition Image. The problem with these software packages is that it takes a lot of time to massively clone systems to many computers. You've probably also heard of Symantec's solution to this problem, Symantec Ghost Corporate Edition® with multicasting. Well, now there is an OpenSource clone system (OCS) solution called Clonezilla with unicasting and multicasting!
Clonezilla, based on DRBL, Partition Image, ntfsclone, partclone, and udpcast, allows you to do bare metal backup and recovery. Two types of Clonezilla are available, Clonezilla live and Clonezilla SE (server edition). Clonezilla live is suitable for single machine backup and restore. While Clonezilla SE is for massive deployment, it can clone many (40 plus!) computers simultaneously. Clonezilla saves and restores only used blocks in the harddisk. This increases the clone efficiency. At the NCHC's Classroom C, Clonezilla SE was used to clone 41 computers simultaneously. It took only about 10 minutes to clone a 5.6 GBytes system image to all 41 computers via multicasting!
Features of Clonezilla
Free (GPL) Software.
Filesystem supported: ext2, ext3, ext4, reiserfs, xfs, jfs of GNU/Linux, FAT, NTFS of MS Windows, and HFS+ of Mac OS. Therefore you can clone GNU/Linux, MS windows and Intel-based Mac OS, no matter it's 32-bit (x86) or 64-bit (x86-64) OS. For these file systems, only used blocks in partition are saved and restored. For unsupported file system, sector-to-sector copy is done by dd in Clonezilla.
LVM2 (LVM version 1 is not) under GNU/Linux is supported.
Multicast is supported in Clonezilla SE, which is suitable for massively clone. You can also remotely use it to save or restore a bunch of computers if PXE and Wake-on-LAN are supported in your clients.
Based on Partimage, ntfsclone, partclone, and dd to clone partition. However, clonezilla, containing some other programs, can save and restore not only partitions, but also a whole disk.
By using another free software drbl-winroll, which is also developed by us, the hostname, group, and SID of cloned MS windows machine can be automatically changed.
Using Clonezilla Live, you can create a LiveCD/USB drive that you boot to, and then image the partitions or the whole disk.
Solution 2:
I've had a lot of luck using DriveImage XML.
It works on computers Windows XP and up, including Windows 7 (has to be run as an administrator).
DriveImage XML is an easy to use and reliable program for imaging and backing up partitions and logical drives.
Image creation uses Microsoft's Volume Shadow Services (VSS), allowing you to create safe "hot images" even from drives currently in use. Images are stored in XML files, allowing you to process them with 3rd party tools. Never again be stuck with a useless backup! Restore images to drives without having to reboot. DriveImage XML is now faster than ever, offering two different compression levels.
DriveImage XML runs under Windows XP, Windows Server 2003, Vista and Windows 7 only. The program will backup, image and restore drives formatted with FAT 12, 16, 32 and NTFS.
There is one caveat, however - it is Windows-only, so you would have to run the backup/image creation from your Windows partition. I think it should back up the whole drive, but I am not entirely sure, as I've never tried it on a multi-boot setup.
From their FAQ:
With the software installed on a PC, supported file systems are Windows XP, Windows Media Center, Windows Server 2003, Vista, and Windows 7. However you can create a BartPE CD with our software on it and boot from any of the Windows 9x or Windows 2000 machines and back them up as well.
It can even restore an image to a larger harddrive - I've used it to move an existing system to a larger harddrive with no problems at all.