如何读取似乎属于 RAID 一部分的硬盘映像文件的内容

如何读取似乎属于 RAID 一部分的硬盘映像文件的内容

我从朋友那里收到了一个硬盘映像文件。我用 解压了它xz

后来我就跑了fdisk -l the-decompressed-hard-disk-image-file。输出:

Disk the-decompressed-hard-disk-image-file: 64 MiB, 67108864 bytes, 131072 sectors
Units: sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes
Disklabel type: dos
Disk identifier: 0x04b1efc7

Device             Boot Start    End Sectors Size Id Type
the-decompressed-hard-disk-image-file1       2048 131071  129024  63M fd Linux raid autodetect

我现在如何恢复现有数据?我可以mdadm使用来创建软件 RAID 设备the-decompressed-hard-disk-image-file而不丢失其数据,然后安装它吗?

我尝试简单地安装它:mount the-decompressed-hard-disk-image-file /mnt。输出:

mount: wrong fs type, bad option, bad superblock on /dev/loop0,
       missing codepage or helper program, or other error

       In some cases useful info is found in syslog - try
       dmesg | tail or so.

我试过mdadm --assemble /dev/md0 the-decompressed-hard-disk-image-file。输出:

mdadm: the-decompressed-hard-disk-image-file is not a block device.
mdadm: the-decompressed-hard-disk-image-file has no superblock - assembly aborted

我在一个Linux banshee 3.16.0-4-amd64 #1 SMP Debian 3.16.7-ckt20-1+deb8u3 (2016-01-17) x86_64 GNU/Linux.df -Th返回:

Filesystem     Type      Size  Used Avail Use% Mounted on
/dev/sda1      ext4      2.0G  833M  1.1G  45% /
udev           devtmpfs   10M     0   10M   0% /dev
tmpfs          tmpfs      25M  232K   25M   1% /run
tmpfs          tmpfs     5.0M     0  5.0M   0% /run/lock
tmpfs          tmpfs      49M     0   49M   0% /run/shm

任何信息/帮助将不胜感激!

答案1

可以安装图像文件,但您需要使用“环回接口”。您可以尝试以下操作(以 root 身份)

~# losetup -Pf /path/to/imagefile.img

这将选择第一个可用的环回设备(通常为 0 号)并将其设置为附加图像文件。如果您的映像包含多个分区,它还会执行分区扫描。

如果您使用的是图形桌面环境,您应该已经看到(尚未安装的)文件系统的图标出现。双击安装并打开。

如果您想纯粹在控制台上执行此操作,则可以使用

~# mount /dev/loop0 /mnt

您可以将后面的数字替换loop为实际使用的环回设备的实际编号,或者loop0p1如果映像包含多个分区,甚至可以使用表格中的设备编号和分区编号(例如)。运行losetup -l -a将为您提供所有环回设备及其状态的列表。

完成工作后,卸载并运行

~# losetup -d /dev/loop0

确实从环回设备中分离图像。

笔记但是,如果映像文件实际上属于 RAID,那么从该映像安装分区将不会对您有帮助,除非您还获得了其余 RAID 设备的映像文件。然后,您仍然需要为所有映像文件设置环回设备,但您不需要安装它们,而是mdadm像往常一样通过重新组装它们,只是您将使用这些设备(或者,如果 RAID 使用/dev/loopN分区而不是整个驱动器, ) 而不是物理硬盘。/dev/loopNp1/dev/sdX

假设/dev/md0尚未用作 RAID 设备,并且由于您的fdisk扫描表明映像文件上存在分区,因此您可以使用

mdadm --assemble /dev/md0 /dev/loop0p1...这里有其他环回设备

如果您只有这一个映像文件,那么您的朋友可能创建了一个单驱动器 RAID(相当不寻常,但是并非闻所未闻),或者您缺少图像文件。如果仅丢失一个映像文件,并且驱动器属于“实际冗余”RAID 类型(即不是 RAID0),您可以尝试以降级模式启动它:

mdadm --assemble --force /dev/md0 /dev/loop0p1

然后,安装并检查它。

相关内容