原文地址:http://my.unix-center.net/~Simon_fu/?p=415php
若是你是刚从Windows转到Linux的话,你可能要问Windows下面有虚拟光驱,Linux下面有没有呢?通常来讲Windows能作的事情,Linux都能作到,而且作得更好。可是概念上面可能和Windows有点儿不一样,须要你以Linux的思惟来考虑问题。本文就准备介绍一下Linux的虚拟设备——回环设备——进而讲解怎样经过回环设备实现虚拟光驱,虚拟软驱等等虚拟设备。html
在Linux下面,光驱,软驱都是设备,在Linux对应于一个位于/dev/下面的设备文件。若是你细心的话,你会在/dev/下面发现里面有一系列的设备loop0,loop2……。这些设备是什么设备?有什么做用的呢?这些设备统称为回环设备(Loop device)。linux
回环设备能够与当前文件系统的一个文件相关联,并把回环设备虚拟成一个块设备(硬盘,光盘,软盘等)。若是关联文件包含有特定文件系统(iso的文件系统是iso9660,虚拟软盘img也有特定的文件系统),则该设备能够用mount命令挂载到某个目录下。这样咱们就能够像普通文件系统同样访问这个文件系统了。shell
经过上面的回环设备的定义,咱们能够知道回环设备至关于Windows下面的虚拟光驱,虚拟软驱。Windows下面咱们可能只有一个虚拟光驱,可是在Linux下面咱们能够同时加载多个虚拟光驱,由于Linux中有多个回环设备。这点儿Linux作的比Windows要出色。oop
那么咱们怎么使用回环设备呢?下面我一个光盘镜像a.iso为例来讲明怎么使用。学习
一、回环设备关联文件。加密
losetup /dev/loop0 a.iso
losetup命令用来实现回环设备和文件的关联。这个命令还能够实现文件系统的加密,有兴趣的朋友能够查看手册。spa
二、挂载回环设备到特定目录,咱们假设要挂载到/mnt/下面。.net
mount /dev/loop0 /mnt/
这样/mnt/下面就是a.iso的内容了。能够经过shell去访问它了。unix
三、用完以后,须要卸载会换设备。
umount /mnt/
这样设备就卸载,/mnt/下面就不是a.iso的文件了。
四、回环设备和关联文件分离。虽然已经在系统中卸载了回环设备,可是这个设备和文件的关联还存在。假如你还要用这个设备关联其余的文件,系统会提示这个设备正在忙。因此须要让回环设备和关联文件分离。
losetup -d /dev/loop0
这样一个光盘镜像的使用就完成了。固然同理也能够经过回环设备挂载其余的虚拟文件,好比虚拟软盘img等等。
若是你发现有项功能Windows能实现而Linux不能,那确定是你的没有找到方法。咱们要相信Linux能够作任何事情,前提是咱们要多加学习。
参考资料:
--------------------------------------------------------------------------------