硬盘克隆
硬盤克隆（），是一種透過電腦軟件或硬件，把硬碟內容完整複製到另一台硬碟的過程。一般來說，若是透過軟件方式來複製的話，都會把整顆硬碟的內容寫進一個映像檔裡，以待下次恢復時，能夠從映像檔裡還原硬碟內容。
硬盤克隆軟件主要有以下幾種用途：
在沒有硬碟克隆的幫助下，要安裝一台電腦，一般要經歷以下步驟： 然後每一台電腦都要經歷上述的五個步驟。
在硬碟克隆軟件的幫助下，以上五個步驟可以簡化為以下三個步驟：
硬件克隆的好處，在於其快捷速度，以及無需受制於用作克隆的電腦。最簡單的硬件拷貝機，可以提供1對1的克隆；若要同時製造多個克隆的話，有些機型允許用戶一次過克隆29個副本。 目前硬碟複製機有分為兩種:一種是入門款的【克隆機】，功能較陽春且支援的硬碟種類較單一；另一種則是專業的【硬碟拷貝機】，拷貝的速一般比克隆機穩定且快速且支援多種硬碟介面拷貝，如:IDE、PCIe、M.2、U.2、SATA等硬碟介面拷貝。這種專業的拷貝機大多應用在企業內的資料複製、系統商的系統拷貝、製造商的生產過程的系統或資料複製及公家單位的特殊系統資料拷貝，目前市場上較知名的拷貝機品牌如:EZ Dupe 。
在Windows 95以前，部份電腦生產商利用硬體的硬碟複製機器來複製軟件。然而，由於硬碟複製機器沒有判別硬碟的結構，也沒有判別內容的智能，所以在克隆時會連同沒有使用的空間也一併克隆，白白浪費操作的時間。此外，一旦電腦的硬體環境轉變（例如：換成了不同大小的硬碟），基於上述原因，機器無法對不同的大小的硬碟進行複製，生產商亦需要重新建立一個新的影像。
其他生產商及公司選擇手動為硬碟進行分割及格式化，然後再用複製檔案或備份的軟件去複製系統內的檔案。這些檔案一般會先進行壓縮，然後在寫入硬碟時才解壓。比較常見的壓縮有tar（Unix/Linux系統，俗稱tarball）、zip或cab格式。舉個例子：Compaq及Acer在他們的Windows 95/Windows 98安裝光碟裡，會先把要複製的Windows檔案用多個需要密碼來解碼的zip檔案儲存，然後把zip檔案儲存在可啟動的CD-ROM裡。當用戶用電腦進行安裝時，會自動執行程式去為zip檔案解壓到硬碟上。用這種方法來克隆硬碟有一個弊處：就是通常這些方法都不能把啟動磁區一併克隆，而需要安裝程式去額外處理。
Windows 95的出現，使原來的問題更複雜化：過往的作業系統的安裝碟只需要數張軟碟，但Windows 95卻要用上十多張碟片，使安裝的時間加長了許多。新的作業環境對FAT檔案系統加入了長檔案名稱的支援，但很多當時存在的程式都不懂得去讀取。到1997年引入的FAT32檔案系統更引起了其他軟件的各種問題。個人電腦市場的成長，促使軟件開發商去尋找一個更好的答案去解決這些問題。
1996年，Norton Ghost由Binary Research推出市面。它最初只直接支援FAT檔案系統，對於使用其他檔案系統的分割，則只能逐個逐個磁區克隆，而不能改變其分割大小。之後一年，Ghost增加了NTFS檔案系統的支援，亦提供讓用戶改變硬碟的Security Identifier（SID）的程式，使Windows NT系統能夠分辨源電腦及克隆的電腦。1999年，對於ext2的支援亦加入了。
Ghost的競爭對手很快出現，而且他們一直都在比較特色，直到現在還是如此。現時很多硬碟克隆程式都會提供比單純作克隆更多的功能，例如：硬件資產管理、用戶設定轉移等。
對於UNIX（包括Linux和Mac）系列的電腦系統，由于Ghost只能识别其个别几种文件系统如ext2，对于不识别的文件系统则需要逐扇区（sector by sector）進行“1:1”克隆，速度较慢且不支持分区缩放。一些专门的工具包如Clonezilla则能支持大部分主流的文件系统，并对这些类型的分区进行逐文件的克隆。
對於某些作業系統，兩部位於同一網絡上的電腦不可以使用同一個名稱，例如：對於Windows NT及其繼後的版本來說，保安認證（Security Identifier，SID）在相同的Active Directory裡是不可以一樣的。一個及格的硬盤克隆程式，應該要在進行克隆及還原時更改此值。此外，對於一些對硬體變更比較敏感的作業系統，例如Windows XP，有可能會在克隆完成後因為底板、顯示卡或網路卡等硬體的變更而拒絕運作。這時候，就不能夠採用硬盤克隆軟件，而要改用作業系統生產商提供的軟件進行安裝。再以先前的Windows XP為例，其實微軟公司建議用戶應該採用Sysprep而不是硬盤克隆軟件來進行作業系統的安裝。
Linux系統一般在啟動時都會採用LILO或GRUB這兩套Bootloader軟件。Bootloader的作用，在於啟動系統之時，為硬體指向主要啟動紀錄（Master Boot Record，MBR）的位置所在。對於一般系統來說，這可能很簡單，但若系統由多於一組硬碟，而啟動分割又未必在第一個分割時，硬盤克隆軟件就要有辦法去指引系統，並在複製時順道修改這一紀錄。
一個硬盤克隆程式需要能夠讀取源硬碟上所有內容，即使它被作業系統所保護，而且必須保證在讀取硬碟的資料時，仍然能夠保持始終如一。在寫入目的硬碟時，亦要確原來的作業系統被完全覆寫。為簡化這些步驟，大多數硬碟克隆程式都會在一個與電腦宿主的原來作業系統不同的環境裡運作。舉例說，早期的硬盤克隆程式（例如：舊版的Norton Ghost）都在PC-DOS或DR-DOS環境裡執行，而隨着Linux的盛行，不少較新的克隆程式都以Linux LiveCD的形式在網上發布。
電腦系統打從一開始就以一個與作業系統不同的環境運作，有助克隆的過程順利執行；但亦有部份程式（例如：Acronis TrueImage）選擇依舊在原作業系統上執行，不過會安排在所有其他應用軟件運作執行之先而執行，以避免系統內容被干擾、及避免檔案因為被開啟而無法克隆。這種做法有兩個缺點：其一是軟件不能覆寫執行中的系統分割區；其二是軟件未必可以對非作業系統支援的分割作完整的支援。又再以Acronis TrueImage為例子：他們系列的免費版本DiskImage就未能複製Linux分割的啟動磁區，而需要用戶在複製後手動重建。另外，他們的Acronis TrueImage 2009版本只能在WinXP電腦上執行，所以若用戶希望透過這軟件來把舊有的Windows 2000系統從舊硬碟克隆到新硬碟的話，就會英雄無用武之地。
採用非Windows操作環境的硬盤克隆程式有一個問題要克服，就是對相關硬體需要提供驅動程式的支援。部份硬件由於沒有相關的支援驅動程式，往往需要由硬件生產商去撰寫，又或透過其他功能來補救。早期的硬盤克隆程式都不支援外部貯存設備，到後來才逐漸加入對可讀寫CD-ROM/DVD的支援，再擴展到磁帶機、USB貯存裝置、Firewire及網絡硬碟等不同設備的支援。對於支援網絡存取的硬盤克隆程式，其多播的功能使用者能夠同一時間對網絡上多台電腦在同一時間進行克隆。
要用硬盤克隆程式為硬盤建立一個映像檔，最簡單的方法是把源硬碟和目的硬碟都放在同一部電腦裡面，但實際運作上不一定要受此限制。簡單點來說，可以透過簡單的連線：不論是平行埠的連線（例如：Norton Ghost可以透過Laplink cable進行硬碟克隆）又或是網絡連線也可以。對於網絡連線，一般會把映像檔儲存在網絡硬碟上。由於這些映像檔一般都非常大，動軋數百MB，所以當需要為多台電腦同時進行硬碟克隆時，會對網絡造成很大的壓力。解決辦法是透過多播技術，使單一的映像檔能夠同時往多個網點發送，以減輕網絡的壓力。不過，現時支援多播技術的硬碟克隆軟件不多，而且價錢頗為昂貴。
早期具有線上克隆功能的軟件，在使用時往往需要用戶提供網卡的驅動程式，費時失事。新一代以Linux為基礎的LiveCD普遍都已無需再擔心這個問題。
另外，一般線上克隆程式都允許用戶使用現在的Windows分享、FTP伺服器等功能；但亦有一些軟件要求用戶在使用前先行安裝TFTP/PXE的服務支援。
雖然一般的硬盤克隆軟件都不是設計作備份用途，但他們很多時都被這樣用。備份程式的一項主要功用是允許使用者在無需恢復整個備份而可以存取當中的部份檔案。有些硬盤克隆軟件會提供一個近似Windows Explorer的工具程式，以便用戶能夠翻閱映像檔內所包含的檔案內容，甚或抽至部份檔案出來。　亦有一些軟件可以讓用戶把映像檔當作一個唯讀的硬碟來架設。有些程式亦允許用戶把影像內所包含的部分檔案刪除。