硬盘克隆

硬盘克隆(英语:Disk cloning),是一种通过电脑软件硬件,把硬盘内容完整克隆到另一台硬盘的过程。一般来说,若是通过软件方式来克隆的话,都会把整颗硬盘的内容写进一个映像档里,以待下次恢复时,能够从映像档里还原硬盘内容。

用途

硬盘克隆软件主要有以下几种用途:

  • 重启和恢复:硬盘克隆技术可用于系统恢复的过程里,把原来的硬盘内容全数清除,然后再从“干净”的主映像档里,把电脑原先应有的内容恢复过来。这种做法,可以确保电脑能够恢复应有的功能之余,亦能够铲除留存在硬盘内的电脑病毒。这在部分网吧、学校或训练学院很常用,以确保当用户在有意无意中改动过系统的设置,又或招惹了病毒到电脑后,可以通过重启而快速恢复系统至“干净”的状态。通过对电脑及克隆软件的设置,电脑可以通过定时重启而恢复系统,又或当系统出现问题时自动恢复。
  • 为新电脑的安装作准备:通过硬盘克隆软件,可以把标准设置的软件安装到电脑里,让新用户可以即时应用,而无需等候安装。这种做法,在原装电脑及大公司的电脑部门尤为普遍。
  • 硬盘升级:当用户购买了新的硬盘回来,可以利用软件把旧硬件的内容全数克隆到新的硬盘去,免去重装的麻烦。
  • 全面的系统备份:用户可以利用软件来为电脑的操作系统及已安装的软件来一个全面的备份,以省却日后要恢复系统时所花的时间。
  • 系统恢复:对于OEM厂商,一般会连同电脑附送一张系统恢复的光碟,以便用户能够把系统恢复至出厂时的状况。

如何运作

软件方面

在没有硬盘克隆的帮助下,要安装一台电脑,一般要经历以下步骤:

  1. 在硬盘上建立一个分割
  2. 通过对每个分割格式化来在其上建立文件系统
  3. 安装操作系统
  4. 为特定的硬件安装驱动程式
  5. 安装有关之应用软件

然后每一台电脑都要经历上述的五个步骤。

在硬盘克隆软件的帮助下,以上五个步骤可以简化为以下三个步骤:

  1. 如上述形式一样安装第一台电脑
  2. 为电脑的硬盘建立一个影像
  3. 把这个硬盘的影像克隆到其他电脑去

硬件方面

硬件克隆的好处,在于其快捷速度,以及无需受制于用作克隆的电脑。最简单的硬件拷贝机,可以提供1对1的克隆;若要同时制造多个克隆的话,有些机型允许用户一次过克隆29个副本。[1] 目前硬盘克隆机有分为两种:一种是入门款的【克隆机】,功能较阳春且支持的硬盘种类较单一;另一种则是专业的【硬盘拷贝机】,拷贝的速度一般比克隆机稳定且快速且支持多种硬盘接口拷贝,如:IDE、PCIe、M.2、U.2、SATA等硬盘接口拷贝。这种专业的拷贝机大多应用在企业内的资料克隆、系统商的系统拷贝、制造商的生产过程的系统或资料克隆及公家单位的特殊系统资料拷贝,目前市场上较知名的拷贝机品牌如:U-Reach页面存档备份,存于互联网档案馆)、EZ Dupe页面存档备份,存于互联网档案馆)。

历史发展

Windows 95以前,部分电脑生产商利用硬件的硬盘克隆机器来克隆软件。然而,由于硬盘克隆机器没有判别硬盘的结构,也没有判别内容的智慧,所以在克隆时会连同没有使用的空间也一并克隆,白白浪费操作的时间。此外,一旦电脑的硬件环境转变(例如:换成了不同大小的硬盘),基于上述原因,机器无法对不同的大小的硬盘进行克隆,生产商亦需要重新建立一个新的影像。

其他生产商及公司选择手动为硬盘进行分割及格式化,然后再用克隆文件或备份的软件去克隆系统内的文件。这些文件一般会先进行压缩,然后在写入硬盘时才解压。比较常见的压缩有tar(Unix/Linux系统,俗称tarball)、zipcab格式。举个例子:Compaq及Acer在他们的Windows 95/Windows 98安装光碟里,会先把要克隆的Windows文件用多个需要密码来解码的zip文件存储,然后把zip文件存储在可启动的CD-ROM里。当用户用电脑进行安装时,会自动执行程序去为zip文件解压到硬盘上。用这种方法来克隆硬盘有一个弊处:就是通常这些方法都不能把启动扇区一并克隆,而需要安装程序去额外处理。

Windows 95的出现,使原来的问题更复杂化:过往的操作系统的安装碟只需要数张软碟,但Windows 95却要用上十多张碟片,使安装的时间加长了许多。新的作业环境对FAT文件系统加入了长文件名称的支持,但很多当时存在的程序都不懂得去读取。到1997年引入的FAT32文件系统更引起了其他软件的各种问题。个人电脑市场的成长,促使软件开发商去查找一个更好的答案去解决这些问题。

1996年,Norton GhostBinary 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里是不可以一样的[2][3]。一个及格的硬盘克隆程序,应该要在进行克隆及还原时更改此值。此外,对于一些对硬件变更比较敏感的操作系统,例如Windows XP,有可能会在克隆完成后因为底板显卡网卡等硬件的变更而拒绝运作。这时候,就不能够采用硬盘克隆软件,而要改用操作系统生产商提供的软件进行安装。再以先前的Windows XP为例,其实微软公司建议用户应该采用Sysprep而不是硬盘克隆软件来进行操作系统的安装。

Linux系统一般在启动时都会采用LILOGRUB这两套Bootloader软件。Bootloader的作用,在于启动系统之时,为硬件指向主要启动纪录(Master Boot Record,MBR)的位置所在。对于一般系统来说,这可能很简单,但若系统由多于一组硬盘,而启动分割又未必在第一个分割时,硬盘克隆软件就要有办法去指引系统,并在克隆时顺道修改这一纪录。

操作环境

一个硬盘克隆程序需要能够读取源硬盘上所有内容,即使它被操作系统所保护,而且必须保证在读取硬盘的资料时,仍然能够保持始终如一。在写入目的硬盘时,亦要确原来的操作系统被完全改写。为简化这些步骤,大多数硬盘克隆程序都会在一个与电脑宿主的原来操作系统不同的环境里运作。举例说,早期的硬盘克隆程序(例如:旧版的Norton Ghost)都在PC-DOSDR-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的工具程序,以便用户能够翻阅映像档内所包含的文件内容,甚或抽至部分文件出来。 亦有一些软件可以让用户把映像档当作一个只读的硬盘来架设。有些程序亦允许用户把影像内所包含的部分文件删除。

软件

商业及专用软件

自由软件

  • Carbon Copy Cloner (Mac)
  • DriveImage XML
  • IRestorer - Drive Image Backup & Disaster Recovery
  • Maxblast Acronis based, for Maxtor or Seagate HDDs
  • Partition-saving
  • SelfImage
  • XXCLONE File based cloning, not low-level HDD clone

开源软件

内部链接

参考资料