如何挂载用 dd 创建的镜像?

6 mount

我使用“dd”将我的硬盘驱动器的映像创建为另一个驱动器上的文件。问题:如何挂载此映像以查看它是否有效?笔记:

  • “文件图像”产生(所有一行,我只是为了可读性将其分解):

文件 maindisk.image.out


maindisk.image.out: x86 boot sector, LInux i386 boot LOader; GRand Unified Bootloader,
stage1 version 0x3, boot drive 0x80, 1st sector stage2 0x44841, GRUB version 0.94;
partition 1: ID=0x83, active, starthead 1, startsector 63, 409600 sectors; partition 2:
ID=0x8e, starthead 127, startsector 409663, 312167042 sectors, code offset 0x48
Run Code Online (Sandbox Code Playgroud)
  • 明显的 mount 命令(以 root 身份)失败:

# mount -o loop -t ext3 maindisk.image.out /mnt/loop/ 

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

# dmesg | tail -1

# VFS: Can't find ext3 filesystem on dev loop0. 
Run Code Online (Sandbox Code Playgroud)
  • 我 dd'd 的东西是 /dev/sda,一个块设备。根据文件(同样,全部在一行上,没有反斜杠):
 
# cat /dev/sda | file - 

/dev/stdin: x86 boot sector, LInux i386 boot LOader; GRand Unified Bootloader, \
stage1 version 0x3, boot drive 0x80, 1st sector stage2 0x44841, GRUB version 0.\
94; partition 1: ID=0x83, active, starthead 1, startsector 63, 409600 sectors; \
partition 2: ID=0x8e, starthead 127, startsector 409663, 312167042 sectors, cod\
e offset 0x48 
Run Code Online (Sandbox Code Playgroud)
  • 根据“mount”,这是我安装 /dev/sda 的方式:

/dev/mapper/VolGroup-lv_root on / type ext4 (rw) 
/dev/sda1 on /boot type ext3 (rw) 
Run Code Online (Sandbox Code Playgroud)
  • 我备份错了吗?我应该备份 /dev/sda1 吗?我的系统是否进行了某种卷管理,使此映像安装变得困难?

Ren*_*nan 3

基于在 Linux 中挂载使用 dd 或 dd_rescue 制作的原始分区文件

看到 的输出startsector 63了吗?这意味着距离磁盘开头file有 63 个扇区 * 512 字节/扇区 = 32256 字节的偏移量。

尝试:

mount -o loop,offset=32256 -t ext3 maindisk.image.out /mnt/loop/ 
Run Code Online (Sandbox Code Playgroud)