使用loop设备挂载映像文件

loop设备介绍

在类 UNIX 系统里,loop 设备是一种伪设备(pseudo-device),或者也可以说是仿真设备。它能使我们像块设备一样访问一个文件。

在使用之前,一个 loop 设备必须要和一个文件进行连接。这种结合方式给用户提供了一个替代块特殊文件的接口。因此,如果这个文件包含有一个完整的文件系统,那么这个文件就可以像一个磁盘设备一样被 mount 起来。

上面说的文件格式,我们经常见到的是 CD 或 DVD 的 ISO 光盘镜像文件或者是软盘(硬盘)的 *.img 镜像文件。通过这种 loop mount (回环mount)的方式,这些镜像文件就可以被 mount 到当前文件系统的一个目录下。

至此,顺便可以再理解一下 loop 之含义:对于第一层文件系统,它直接安装在我们计算机的物理设备之上;而对于这种被 mount
起来的镜像文件(它也包含有文件系统),它是建立在第一层文件系统之上,这样看来,它就像是在第一层文件系统之上再绕了一圈的文件系统,所以称为
loop。

1.创建一个100M大小的映像文件

[[email protected] ~]# df -h

Filesystem                    Size  Used Avail Use% Mounted on

/dev/mapper/VolGroup-lv_root   14G  2.7G   11G  21% /

tmpfs                         940M   72K  940M   1% /dev/shm

/dev/sda1                     485M   39M  421M   9% /boot

[[email protected] ~]# dd if=/dev/zero of=test.img bs=10M count=100

100+0 records in

100+0 records out

1048576000 bytes (1.0 GB) copied, 3.2612 s, 322 MB/s

[[email protected] ~]# du -sh test.img

1001M   test.img

[[email protected] ~]# df -h

Filesystem                    Size  Used Avail Use% Mounted on

/dev/mapper/VolGroup-lv_root   14G  3.7G  9.4G  29% /

tmpfs                         940M   72K  940M   1% /dev/shm

/dev/sda1                     485M   39M  421M   9% /boot

[[email protected] ~]#

2.查找空闲的loop设备

[[email protected] ~]# losetup -f

/dev/loop0

[[email protected] ~]#

3.将映像文件挂接到loop0中。

[[email protected] ~]# losetup /dev/loop0 test.img

[[email protected] ~]# fdisk -l /dev/loop0

Disk /dev/loop0: 1048 MB, 1048576000 bytes

255 heads, 63 sectors/track, 127 cylinders

Units = cylinders of 16065 * 512 = 8225280 bytes

Sector size (logical/physical): 512 bytes / 512 bytes

I/O size (minimum/optimal): 512 bytes / 512 bytes

Disk identifier: 0x00000000

[[email protected] ~]#

4.对loop4进行分区

[[email protected] ~]# fdisk -cu /dev/loop0

[[email protected] ~]# partprobe /dev/loop0

[[email protected] ~]# fdisk -l /dev/loop0

Disk /dev/loop0: 1048 MB, 1048576000 bytes

255 heads, 63 sectors/track, 127 cylinders

Units = cylinders of 16065 * 512 = 8225280 bytes

Sector size (logical/physical): 512 bytes / 512 bytes

I/O size (minimum/optimal): 512 bytes / 512 bytes

Disk identifier: 0x38d505d4

Device Boot      Start         End      Blocks   Id  System

/dev/loop0p1               1           4       32098+  83  Linux

/dev/loop0p2               5          11       56227+  83  Linux

[[email protected] ~]#

5.使用kpartx将分区装载到映像文件中

[[email protected] ~]# kpartx -av test.img

add map loop1p1 (253:3): 0 64197 linear /dev/loop1 63

add map loop1p2 (253:4): 0 112455 linear /dev/loop1 64260

[[email protected] ~]#

6.格式化分区

mkfs.ext4 /dev/loop0p1

这时,我们已经可以在/dev/mapper下看到loop4的映射,然后挂载之:

mount /dev/mapper/loop0p1 /mnt

卸载:

umount /mnt

kpartx -dv /dev/loop4

losetup -d /dev/loop4

如果挂载的映像文件,本身有分区,通过空间的loop设备挂接以后,可通过kpartx -av直接进行装载。

losetup -f

losetup /dev/loop4 test.img

kpartx -av /dev/loop4

mount /dev/loop4p1 /mnt

时间: 2024-10-06 07:23:09

使用loop设备挂载映像文件的相关文章

磁盘管理,磁盘挂在mount,挂载光盘镜像文件,挂在U盘,umount 卸载命令, dd

1 mount 命令格式: mount[-t vfstype] -o options device dir 其中: *-t vfstype 指定文件系统的类型,通常不必指定.mount会自动选择正确的类型.常 用类型有: 光盘或光盘镜像:iso9660 DOSfat16文件系统:msdos Windows9x fat32文件系统:vfat WindowsNT ntfs文件系统:ntfs MountWindows文件网络共享:smbfs UNIX(LINUX)文件网络共享:nfs *-o opti

攻城狮在路上(叁)Linux(二十四)--- linux设置开机挂载及镜像文件挂载

虽然可以手动进行文件系统的挂载,但是每次都手动挂载就会很麻烦,开机挂载的目的就是实现文件系统的自动挂载. 一.开机挂载:/etc/fstab及/etc/mtab 主要是通过修改/etc/fstab文件的配置来实现. fstab是开机时的设置,实际文件系统的挂载是记录到/etc/mtab和/proc/mounts这两个文件中. 1.系统挂载的限制: A.根目录/必须挂载,而且一定是最先挂载的,要先于其他mount point. B.其他挂载点必须为已新建的目录,可以任意指定. C.所有挂载点在同一

如何挂载一个镜像文件(how to mount an image file)

如何挂载一个镜像文件(how to mount an image file) 08/16/2012master 4 Comments 在使用KVM或Xen虚拟化的情况下,经常需要使用镜像文件(image file),我们可以将Guest系统启动起来,然后对镜像文件进行修改,不过这样有时也是比较麻烦,其实也是可以将镜像文件直接进行mount的,可以用如下两种办法. (本文写的RAW格式镜像文件的挂载:我的另一篇文章写了"如何挂载qcow2格式的镜像文件") 方法一:找出分区开始的开始位置

关于Linux的loop设备

偶然发现/dev目录里有几个loop设备,一番搜索得知,这是一种伪设备(pseudo-device),它可以把一个文件连接为设备(就像Windows下用虚拟光驱挂载ISO文件). 遂做实验验证: 1.首先随便一个目录,建立一个文件: dd if=/dev/zero of=1.fat32 bs=64M count=1 2.然后格式化为fat32: mkfs.vfat 1.fat32 3.连接到loop文件: losetup /dev/loop0 1.fat32 4.挂载到文件目录树: mount

loop设备及losetup命令

1. loop设备介绍 在类 UNIX 系统里,loop 设备是一种伪设备(pseudo-device),或者也可以说是仿真设备.它能使我们像块设备一样访问一个文件.在使用之前,一个 loop 设备必须要和一个文件进行连接.这种结合方式给用户提供了一个替代块特殊文件的接口.因此,如果这个文件包含有一个完整的文件系统,那么这个文件就可以像一个磁盘设备一样被 mount 起来.    上面说的文件格式,我们经常见到的是 CD 或 DVD 的 ISO 光盘镜像文件或者是软盘(硬盘)的 *.img 镜像

如何查看Linux内核的initrd.img映像文件

initrd的含义是initialized ram disk.ram disk用一部分内存模拟成磁盘,让操作系统访问. initrd.img文件就是个ram disk的映像文件.ram disk是标准内核文件认识的设备(/dev/ram0)文件系统也是标准内核认识的文件系统.通常的步骤是先启动内核,然后内核挂载initrd.img,并执行里面的脚本来进一步挂载各种各样的模块和服务,经过一些配置和运行后,就可以去物理磁盘加载真正的root分区了,然后再进行配置,最后启动成功. 查看Linux内核的

linux云自动化运维基础知识14(设备挂载)

####1.设备访问####1.设备识别/dev/xdxn        ##硬盘设备/dev/sda1/dev/cdrom        ##光驱/dev/mapper/*        ##虚拟设备 2.设备的使用##<设备的发现>##fdisk -l        ##查看真实存在的设备cat /proc/partitions    ##系统能够识别的设备blkid            ##系统能够挂载使用的设备iddf            ##查看设备被系统使用的情况 ##<

linux学习笔记——安装虚拟机、设备挂载、软硬链接

################安装虚拟机########################### 1.命令行安装虚拟机[[email protected] ~]# virt-install \        ###安装虚拟机> --name westos \                ###安装虚拟机的名字> --ram 1024 \                    ###内存> --location ftp://172.25.254.250/pub/rhel6.5 \    

[9-1]磁盘分区、创建文件系统、挂载以及链接文件

本文旨在复习磁盘分区.创建文件系统.挂载以及链接文件的基本概念 知识储备 硬盘出厂其实不能写入数据的,是"盲盘",需要处理后使用,格式化分为2种 低格:将空白磁盘划分出柱面.磁道及若干个扇区,每个扇区又划分出标识部分ID.间隔区GAP和数据区DATA等.现在大多出厂已经完成低格,只需要用户磁盘分区即可. 高格:真正意义上的创建文件系统,明确存储设备或分区上的文件方法和数据结构,即在存储设备上组织文件的方法. 文件系统是用户存取磁盘文件操作的"代理人" 不同类型的操作