linux挂载img镜像文件

文章摘自: http://www.linuxsir.org/bbs/thread334903.html 感谢原创作者。

1. 先查看第一个空闲loop设备 

Shell代码 
  1. sudo losetup -f  
  2. /dev/loop0  


2. 使用上一步得到的设备名,第一次创建loop设备 
Shell代码 
  1. sudo losetup /dev/loop0 hdc-0.11.img

3. 查看信息 
Shell代码 
  • mymotif@mymotif-ThinkPad-X240:~$ sudo losetup /dev/loop0 hdc-0.11.img 
  • mymotif@mymotif-ThinkPad-X240:~$ sudo fdisk -lu /dev/loop0 

  • Disk /dev/loop0: 62 MB, 62447616 bytes
  • 16 heads, 63 sectors/track, 121 cylinders, total 121968 sectors
  • Units = 扇区 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

  •       设备 启动      起点          终点     块数   Id  系统
  • /dev/loop0p1   *           1      120959       60479+  81  Minix / 旧 Linux

我们可以看到,该镜像只有一个分区(loop0p1),从第63扇区开始(Start列),每扇区512字节(Units = sectors of 1 * 512 = 512 bytes),我们算出offset,下面mout命令会用到: 
Shell代码 
  1. 1*512=512  


4. mout 
Shell代码 
  1. sudo losetup -o 512 /dev/loop0 hdc-0.11.img
  2. sudo mount /dev/loop0 /mnt
  3. ls /mnt/  
  4. bin  dev  etc  image  mnt  tmp  usr  var

事实上,fdisk可以直接查看img文件(虽然功能不全,下面会说到),mount可以自动创建loop设备,所以上面步骤可以简化为: 
1:   sudo fdisk -lu hdc-0.11.img 

Disk hdc-0.11.img: 62 MB, 62447616 bytes
16 heads, 63 sectors/track, 121 cylinders, total 121968 sectors
Units = 扇区 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

       设备 启动      起点          终点     块数   Id  系统
hdc-0.11.img1   *           1      120959       60479+  81  Minix / 旧 Linux


2:  sudo losetup -o 512 /dev/loop0 hdc-0.11.img
(512=1*512计算得出,1为 sudo fdisk -lu /dev/loop0命令中起点)
事实上,在ubuntu上该执行成功就在已经把img镜像挂载在/media/(user)/disk上,无需执行mount
sudo mount /dev/loop0 /mnt
3:不用了,卸载:
sudo umount /mnt
sudo losetup -d /dev/loop0

你可能感兴趣的:(linux挂载img镜像文件)