如何将 .img 挂载为硬盘?

Win*_*ist 3 google-chrome-os partitioning ubuntu

我正在尝试从 Vanilla 版本安装 ChromiumOS。要安装到硬盘驱动器,建议仅将dd其安装到闪存驱动器并将文件从完成的闪存驱动器复制到您自己创建的相同分区。但是,如果我能以某种方式欺骗 Ubuntu 将 .img 文件识别为实际的块设备或使用 GParted 打开它,我可以使用 GParted 的分区复制来粘贴扩展分区中的空白空间,然后从我的硬盘驱动器启动它,而无需进行中间闪存驱动器复制。

这甚至可能吗?(编辑:这是一个完整的磁盘映像)

all*_*tic 5

是的,但是有许多类型的“img”文件。出于本次讨论的目的,我将假设您的映像文件包含raw disk blocks,这就是dd

一种类型的 img 文件包含整个硬盘映像。另一种类型包含分区映像。

通过创建的 .img 文件的一般概念dd是它包含构成硬盘驱动器(或相应的分区)的磁盘块。区别在于:

如果 img 文件用于整个硬盘,则它包含:

  • 分区表(无论是 GPT、MBR 还是其他)。
  • 引导扇区(如果有)。
  • 硬盘的所有分区,每个分区都遵循分区表的布局/格式并包含特定于文件系统的数据。

如果img文件是针对一个分区的,那么它只包含一个分区的数据,而没有分区表的任何“容器”数据。

把你的整个硬盘想象成一个从中间切下来的橙子或葡萄柚。你在水果的橙色部分周围建造了这些小墙。

分区表创建了那些小墙,文件系统数据就是橘子多汁的水果本身。

听起来您的 img 文件可能是整个硬盘,因此它包含一个分区表。

您要做的是运行losetup命令将您的 img 文件“映射”到环回块设备中。这会将您的文件(只是包含二进制数据的普通文件)转换为内核可以执行类似磁盘 I/O 的块设备。

例如/dev/loop3/dev/sda如果您的 img 是整个硬盘,则您选择的环回设备节点可以被认为在功能上等同于(整个硬盘)。如果你的 img 只是一个分区,那么循环设备可以被认为在功能上等同于/dev/sda1(只是一个分区)。

如果它是整个硬盘,那么你就可以运行的工具,如gpartedpalimpsestcfdisk,等来:

  • 识别分区表类型
  • 确定分区的位置、大小和文件系统类型
  • 挂载各个分区以修改它们

如果它只是一个分区,那么您可以mount直接在环回设备上运行该命令,例如mount /dev/loop3 /mnt/part.

Lostup(8) 联机帮助页。学习阅读联机帮助页;我不会为您提供在命令行中键入的确切语法,因为这取决于您的系统配置。