我从朋友那里收到了一个硬盘映像文件。我用 解压了它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
然后,安装并检查它。