以原始格式挂载磁盘映像


11

尝试使用以下命令以Raw(dd)格式挂载磁盘映像时

mount  nps-2010-emails.dd /media/manu/

我收到以下错误消息

mount: you must specify the filesystem type

我知道使用-t我们可以指定文件系统,但是RAW(dd)文件的术语是什么,可以将其作为参数传递给mount命令。如果我安装此文件系统的方法不正确,请帮我做同样的事情。

$ file -s nps-2010-emails.dd
nps-2010-emails.dd: x86 boot sector; 
partition 1: ID=0xb, starthead 254, startsector 1, 20479 sectors, extended partition table (last)\011, code offset 0x0

$ fdisk -l nps-2010-emails.dd
Disk nps-2010-emails.dd: 10 MB, 10485760 bytes
255 heads, 63 sectors/track, 1 cylinders, total 20480 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
Disk identifier: 0x00000000

             Device Boot      Start         End      Blocks   Id  System
nps-2010-emails.dd1               1       20479       10239+   b  W95 FAT32 

可以将命令的输出添加file -s nps-2010-emails.dd到您的帖子中吗?
steeldriver 2014年

我查看了您的个人资料,并看到了另一个问题。也许这篇博客文章可能会有所帮助。
muru

@steeldriver输出已添加...
spaceman_spiff

更简单的安装选项-在此处提供/描述: askubuntu.com/questions/69363/…–
Hannu

Answers:


16

http://major.io/2010/12/14/mounting-a-raw-partition-file-made-with-dd-or-dd_rescue-in-linux/中,建议使用偏移量。首先通过获取偏移量fdisk(8),然后使用offset选项指定它mount。使用fdisk来确定分区和扇区大小的起始扇区。然后使用起始扇区号和扇区大小(以字节为单位)计算以字节为单位的偏移量。有关示例,请参阅从整个磁盘(设备)的映像挂载单个分区。最后:

mount -o offset=<offset in bytes> nps-2010-emails.dd /media/manu/

在典型的硬盘中,保存数据的单元被分组。这些分组称为扇区。我们通常采用分区的方式,将前几个扇区放在一边,以提供有关分区的信息,从而留下空白。因此,如果我们有整个磁盘的映像,这些扇区也将包括在内。现在,该mount命令不能直接从第一个字节开始,因为分区不是从第一个字节开始。所以,我们将不得不告诉mount跳过多少个字节(这样可以避免多余的信息)并到达实际分区。这称为偏移量。现在,每个扇区可以以字节为单位存储一定数量的信息,这称为扇区的大小。我们通过乘以一个扇区的大小乘以扇区数中的间隙的大小,得出可以存储在此间隙中的信息的总大小。

fdisk那里的输出中,您可以看到扇区大小为512字节,并且从扇区1开始。因此偏移量为1 * 512 = 512。尝试以下命令:

mount -t vfat -o offset=512 ps-2010-emails.dd /media/manu/

我添加了文件系统类型,因为fdisk将其指定为FAT32。要同时安装它以进行编写,请-o offset=512,rw改用。


我已经阅读了您发布的第一个链接中的文章,但对偏移量扇区号和其他概念了解不多,如果可能的话,请您详细说明此主题或发布一些参考文献以进行研究。Thanx
spaceman_spiff 2014年

发布更新以包含的输出fdisk -l nps-2010-emails.dd
spaceman_spiff 2014年

thanx,我的背景是理论计算机科学(我是数学专业),在一般笔记上是否有任何参考资料可以理解该主题?
spaceman_spiff 2014年

“这个”主题是磁盘,扇区,文件系统等等?也许您可以从《操作系统》教科书的“ IO /存储”一章开始,例如Tannenbaum的。除了这些基础知识和FAT32安装类型之外,我在答案中发布的所有内容均来自tholinks。
muru

10

您也可以让电脑自动扫描转储所有分区,并自动准备好所有回路设备,如所描述这里

因此,可以说您将整个文件都转储/dev/sda到一个名为的文件中sda.img。您可以按以下方式访问其分区:

losetup -f -P sda.img

在我的系统上,它显示如下:

sda原始图像

在非GUI环境中,您可以使用列出所创建的设备losetup -l,这将告诉您循环设备的名称,例如:

# losetup -l
NAME       SIZELIMIT OFFSET AUTOCLEAR RO BACK-FILE
/dev/loop0         0      0         0  0 /path/mmcblk0

然后,您可以使用以下命令挂载第一个分区:

mount /dev/loop0p1 /mnt/mypartition

希望能有所帮助。


完美地为我工作。
praveen pathak '18

2
同样,在Ubuntu 18.04上,我可以轻松地执行“ gparted backup.img”并获取分区列表。“ fdisk -l backup.img”还显示了有用的信息。
RoundSparrow hilltx

1
您如何撤消losetup命令?
Flimm

1

由于缺乏声誉而无法添加评论,但是要在使用fdisk测试时告诉那些拥有GPT磁盘的人,请改用gdsik获取起始扇区并计算适当的偏移量。它帮助了我。

fdisk -l 给我:

      Device Boot      Start         End      Blocks   Id  System
vm2080737.bak1   *           1        3901    31457279+  ee  GPT

并且无法以512偏移量挂载,并显示错误“挂载:您必须指定文件系统类型”

gdisk -l 给了我很好的结果:

Number  Start (sector)    End (sector)  Size       Code  Name
   1              34             545   256.0 KiB   A501  gpboot
   2             546          993825   485.0 MiB   A502  swap
   3          993826        62914526   29.5 GiB    A503  rootfs

1
或使用parted
muru
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.