如何在Linux上挂载OpenBSD硬盘镜像?

pol*_*mon 6 filesystems mount openbsd

首先,我将首先解释我是如何遇到问题的,这将帮助我了解我需要什么。

几个月前,我的笔记本电脑硬盘坏了。我无法快速更换,但第二天我需要那台笔记本电脑,所以我所能做的就是从路由器上拆下 2.5 英寸驱动器。路由器实际上是一台 ATX PC,运行 OpenBSD 4.9。现在,因为我需要它驱动器速度很快,我dd在台式电脑上创建了一个映像,将驱动器放入笔记本电脑并安装了 Fedora。

好吧,现在我的笔记本电脑有了一个替换硬盘,在我开始在要返回路由器的硬盘上安装东西之前,我问自己,如何安装我开始时制作的映像。 。

关键是,我可以全新安装最新的 OpenBSD,然后只使用映像中的配置文件等内容。我知道我现在能做的唯一一件事就是简单地将图像写回磁盘dd。这应该可行,但我也想利用这个机会升级系统。

我尝试在制作映像之前挂载 OpenBSD 分区,但它不起作用,而且我的时间很少(这一晚只有几个小时)。我是否应该将映像写回磁盘,然后尝试挂载它,恢复我需要的文件,然后安装最新的 OpenBSD?

Ant*_*hon 3

不能只挂载分区的原因是因为您拥有磁​​盘映像而不是各个分区的映像。您将需要不同分区的偏移量,并在使用循环和偏移选项安装时使用这些偏移量。

在你的情况下,我会播放图像然后升级,但你没有说明如何将 2.5" 连接到台式计算机,或者你现在将如何执行此操作。如果你要使用 USB,则升级假设图像位于内部 SATA 驱动器上,则在播放之前可能会更快(但需要更多工作)。由于 USB 2.0 与 SATA 速度差异,升级需要更长的时间。图像的播放(是否升级)将花费相同的时间。

如果您想在播放之前升级,请使用parted来查找图像的开头。parted hd.img将为您提供分区号、开始和结束的列表。使用启动信息(例如 12345),您可以在磁盘映像中挂载分区:

mount -o loop,ro,offset=12345 hd.img /mnt/tmp
Run Code Online (Sandbox Code Playgroud)

如果您的桌面无法识别分区类型,您可能还需要指定分区类型。然后,您可以使用该信息更新全新安装,重新rw安装分区,清理分区并将内容写回。我唯一不确定的是这是否会混淆 ATX 板的引导加载程序,但是升级恢复到磁盘的系统也会遇到同样的问题。