磁盘映像

磁盘映像（Disk image）是计算机领域中的一个计算机文件，其包含一个磁盘卷或数据存储设备的内容和结构，包括但不限于硬盘、软盘、磁带、光盘、闪存盘等。磁盘映像通常是按照原介质的扇区级复制，从而完全复制存储设备文件系统的结构和内容。根据磁盘映像的格式不同，一个映像可能表现为一个或多个计算机文件。

磁盘映像的文件格式可能是开放标准，例如用于光盘映像的ISO映像格式；但也可能是特定应用程序的专有标准。

因为磁盘映像包含整个磁盘的内容，所以它们通常体积庞大。部分磁盘映像工具可以识别和忽略源介质中未使用的空间的空间，或者压缩映像内容以减少存储所需空间。

## 历史

磁盘映像最早（1960年代末）是用于大型机磁盘介质的备份和磁盘克隆，小至5兆字节，大至330兆字节，拷贝介质是磁带，每卷可存入200兆字节。磁盘映像在软盘介质开始流行时变得更加流行，复制与存储精准的结构是必要和有用的，尤其是对存在复制保护的软盘。

## 使用

磁盘映像在复制包括DVD、蓝光等光学媒体时被大量使用，并也用于制作完美的硬盘克隆。

虚拟磁盘可以模拟任何类型的物理驱动器，例如硬盘、磁带机、闪存盘、软盘、CD/DVD/BD/HD DVD、网络共享等几乎所有介质；当然，因为它不是物理上存在的，这需要虚拟一个适合它的读取设备。虚拟设备可以在内存（RAM）或硬盘上创建，在内存上创建可以获得更高的读写速度，也称内存盘。虚拟设备的典型应用包括CD和DVD磁盘映像的挂载，以及挂载虚拟硬盘做到运行中磁盘加密（OTFE）。

包括Linux和Mac OS X等一些操作系统内置了虚拟设备功能（例如/dev/loop loop设备），而Microsoft Windows需要额外的软件。Windows 8包含原生的虚拟设备功能，其被称为Hyper-V。

典型的虚拟驱动器是只读的，会将现有的磁盘映像挂载为不可修改的虚拟驱动器。但也有一些软件提供可以生成新磁盘映像的虚拟CD/DVD驱动器；此类虚拟驱动器有多个名称，例如虚拟刻录机（virtual burner）。

### 增强

在虚拟驱动器中使用磁盘映像可以使用户转移数据所用的存储技术，例如将CD光盘的数据转移到硬盘。这可以提供更快的速度、更低的噪声（硬盘驱动器通常比光驱快四五倍、更安静和不易磨损，固态硬盘还可以更加耐物理冲击）。此外这样可以降低功耗，因为将只需要一个设备（硬盘）而不是两个（硬盘+光驱）。

虚拟驱动器还可用作仿真一整台计算机（即虚拟机）。

### 软件分发

随着宽带网络的普及，CD和DVD映像已变为Linux分发的一个常见方式。适用于Mac OS X的应用程序通常在线提供为一个苹果磁盘映像，里面包含着一个文件系统，而该文件系统中包含该应用程序、该应用程序的文档等文件。部分商业软件公司也会为客户提供联机数据与可启动恢复CD的镜像。

磁盘映像也可能用于在公司网络或便携式媒介上分发软件。有多种软件用于将软件分发到大量联网的计算机，同时减少或消除对用户的中断。有些还可安排为仅在夜间更新，从而完全避免对工作期间的计算机造成干扰。这些技术减少了对最终用户的影响，同时大幅减少了确保企业环境安全性所需的时间和人力成本。同时也增加了效率，因为这减少了人工操作出错的几率。磁盘映像还可用于将软件转移到没有相关物理设备或接口的机器。

对于运行Mac OS X的计算机来说，磁盘映像是软件下载中最常见的类型，通常使用网页浏览器下载。这通常压缩为苹果磁盘映像（以.dmg为后缀）。它们通常被直接挂载而打开，而不需要一个真正的磁盘。与其他一些技术（例如ZIP和RAR压缩文件）相比，这不需要额外的磁盘空间存储未被压缩的数据。

面向Windows的软件包有时也会使用磁盘映像为形式，例如ISO映像。在Windows 7原生提供将磁盘映像挂载到文件系统之前，有多款第三方软件可提供此功能。参见磁盘映像软件比较。

### 安全

诸如FreeOTFE和TrueCrypt等软件会以提供虚拟硬盘作为即时加密（OTFE）方式，一个磁盘会以“加密”的映像为形式存储在计算机上。在输入正确的磁盘密码后，磁盘映像会被挂载，并在计算机上呈现为一个新的可用卷。写入虚拟驱动器的文件会被写入加密的映像，不会以明文方式存储。

使一个计算机磁盘可用的过程被称为“挂载”（mounting），移除它的过程可被称为“解除挂载”或“卸载”；对加密的磁盘映像，上述用词无区别。

### 虚拟化

硬盘映像可以被虚拟机监视器解释为一个系统的硬盘驱动器。信息技术管理员和软件开发人员使用内置或第三方的工具以离线操作管理它们。在命名方面，特定的虚拟机监视器都有特有的文件类型扩展名，例如用于VMware VMDK的.vmdk、用于Xen和微软Hyper-V的.vhd，以及用于Oracle VM VirtualBox的.vdi。

硬盘映像主要用在以下几个应用领域：

原始磁盘可以映射以供虚拟机使用，它可以用下列的两种模式之一映射：

虚拟模式：映射的磁盘将呈现为客户机操作系统的逻辑卷或虚拟磁盘文件，并且隐藏其真实硬件特性。在此模式下，文件锁定机制将隔离并发更新从而保护数据；写入操作将制成副本以允许快照。虚拟模式还提供跨存储硬件的可移植性，因为它将虚拟磁盘文件呈现为一致的行为。

物理模式：在这种模式下，虚拟机监视器绕过I/O虚拟化层，并将所有I/O命令直接传递到设备。底层硬件的所有物理特性都暴露给客户机操作系统。没有文件锁定机制提供数据保护。

### 系统备份

部分备份程序只备份用户文件。操作系统的启动程式信息和锁定的文件可能无法被正常备份。而磁盘映像会包含所有文件，忠实地复制所有数据。就此原因，它也被用于备份CD和DVD。

### 旧款硬件模拟

目前为止，许多的操作系统已经基本不再支持旧的硬件，旧硬件在新的操作系统上有可能会发生无法识别甚至是兼容性也会受到极大影响，而此时利用磁盘映像并在虚拟机或模拟器里安装旧的操作系统便可以解决此类问题

### 传统硬件仿真

仿真器经常使用磁盘映像来模拟被仿真计算机的软盘驱动器。这通常比访问真正的软盘驱动器更容易编程（尤其是如果磁盘是主机操作系统不支持的格式），并且更易于较大软件库的管理。

### 规避复制保护

“迷你映像”是一种光盘映像文件格式，它是为仿造出能绕过CD/DVD复制保护的磁盘内容。

相较于原始光盘的完整大小和内容，迷你映像很小巧，一般只有几KB，仅包含绕过光盘检查的必要信息。因此，迷你映像是一种免光盘破解形式，用于无授权或合法副本的游戏。迷你映像不包含常见映像文件那样的实际数据，只有满足光盘检查的必需代码。它不能向计算机程序提供CD或DVD提供的，例如游戏数据或视频文件。

## 创建

创建磁盘映像可以使用一个合适的程序完成。不同的映像程序有着不同的功能，它们可能不同程度着重于硬盘（包括硬盘驱动器备份、恢复和回滚）或光学媒体（CD/DVD/BD）的映像。

“虚拟光驱软件”是一种可以模拟计算机上存在光盘的软件。它的作用不写入数据到实际的光盘，而是创建一个虚拟的光盘映像。虚拟光驱软件的创建是在系统上呈现为一个可以写入的光盘驱动器（这不同于创建虚拟磁盘映像的光盘制作程序），从而允许刻录光盘的软件来创建虚拟光盘。

## 文件格式

在大多数情况下，一种文件格式会捆绑到特定软件。软件本身经常会定义和使用自己专属的映像格式。但也有某些格式已按开放标准广泛支持，几乎所有光学媒体软件都会支持这些格式。

## 实用工具

RawWrite和WinImage是适用于MS-DOS和Microsoft Windows的软盘映像创建工具。它们可以创建软盘，的原始映像文件，以及将这种映像文件的内容写入一个软盘。

在Unix和类似系统中，dd程序可以用来创建磁盘映像及将映像内容写入到特定磁盘，并还可以挂载到/dev/loop loop设备并访问它们的块。

Apple Disk Copy在Mac OS系统上可以创建和写入磁盘映像文件。

诸如Nero Burning ROM等软件可以生成和加载光碟的映像文件。

## 外部链接

- Software repository including RAWRITE2