https://unix.stackexchange.com/a/278966/674
图像文件是数据的副本块设备,以文件的形式(在另一个文件系统上)。图像文件可以有任何扩展名; .img 很常见。
https://en.wikipedia.org/wiki/Disk_image
在计算中,磁盘映像是包含以下内容和结构的计算机文件:一个磁盘卷或的整个数据存储设备,例如硬盘驱动器、磁带驱动器、软盘、光盘或 USB 闪存驱动器。
第二个中的“磁盘映像”和第一个中的“映像文件”是相同的概念吗?或者第二个中的“磁盘映像”是第一个中“映像文件”的特殊情况?
第二个“磁盘卷”是什么意思?它与 LVM 中的逻辑卷或分区相同吗?
可以创建镜像文件来镜像什么:
- 磁盘、DVD、CD
- 逻辑卷(如 LVM 中)
- 一个分区,或
- 文件系统(文件系统包含在分区中,但分区可以包含文件系统之外的内容)
- ...?
无法为文件系统创建映像文件,而只能为分区或逻辑卷创建映像文件,是否正确?
我这里也有一个相关的问题:如何genisoimage
为目录创建图像文件?(假设上面未列出目录)。
谢谢。
答案1
如果数据格式X可以存储在UNIX块设备上,那么它也可以存储在文件中。 [但请参阅下面令人讨厌的细节]。 “图像文件”是一个简短的通用名称。即,它是可以复制到块设备或从块设备复制的字节序列。如果您愿意,您可以根据您的用途将其称为不同的名称。
“图像文件”可能意味着磁盘图像......或者图像在技术上可能是在光盘...下面有有关此案例的更多详细信息。它也可能是一种可以在磁盘分区上使用的格式。它也可能是一个文件系统。我们可以将其称为“文件系统映像”。
LVM 逻辑卷是另一种类型的块设备。
我认为最重要的区别是它是否是文件系统映像或不。如果它是文件系统映像,则它是可以使用mount -oloop
.
完整的“磁盘映像”可能不是文件系统映像 - 例如,如果它是内部硬盘的副本。但它可能 - 例如,如果它是软盘的副本。但您也可以将此文件系统映像复制到内部磁盘的分区。因此,我发现“磁盘映像”不明确,并且并不比“映像文件”更具体。
[注意] 您没有提及“主机管理的SMR”设备。这些施加了额外的限制。仅为标准磁盘设计的文件系统无法在这些限制内工作。我不会进一步提及它们。
[讨厌的细节]古代设备可能还提供了一些数字来指定“几何形状”;通常是扇区、磁道和柱面的大小。这些用于优化古老的慢速磁盘上的数据布局。
到目前为止,一切都很好。现代文件系统布局可以进行优化,使其与 RAID 设备的条带大小保持一致。
但是磁盘上使用的数据格式可以还假设您已经知道这些数字是什么......因此,如果您只有磁盘的映像,那么您可能会难以读取数据格式。 MBR 分区表格式可能存在问题。过时的地方还有一些更恐怖的故事大磁盘操作指南。
MBR 以及 GPT 分区表的现代使用不使用 C/H/S 几何结构。然而他们仍然要求您知道扇区大小!历史上大多数磁盘都使用 512 字节扇区。所以大多数软件在读取图像文件时都会尝试这个扇区大小。然后,如果为报告 4KB 扇区的磁盘创建分区,你会遇到问题!
也许令人惊讶的是,这意味着如果 USB 记忆棒开始报告 4KB 扇区大小,则将无法将它们用于当前的 Linux 安装程序映像!
(这旧版 Apple 格式仔细考虑了扇区大小和扇区数量。正如中提到的这个故事)。
文件系统往往不会有这个问题。如果您将使用 512 字节块的文件系统写入使用 4KB 扇区的设备...超级块很可能会存储所使用的块大小。然而,如果块大小小于设备扇区大小,文件系统代码可能会拒绝工作。
一些软件试图猜测“几何形状”。例如旧版本的fdisk
,用于尝试从现有分区猜测 C/H/S 几何形状。
CD-R 和 DVD-R 使用不同的扇区大小:2048 字节。