I am LAZY bones? AN ancient AND boring SITE

2010年 03月 10日 的归档

linux下的“虚拟光驱”

每当有人问我“你的linux下有没有类似‘虚拟光驱’的软件呢?”的时候,我就会轻轻一笑,自豪地说“别把事情想得太复杂,linux下根本就不用什么另外的软件,就能虚拟光驱了。”,然后那人一般就会似懂非懂地说一句:“哦。。这样啊~”
下面,就来介绍几个虚拟光驱相关的命令:
把物理光盘做成iso镜像,下面几个命令几乎等效,假设设备是/dev/cdrom:

cp /dev/cdrom xxx.iso
dd if=/dev/cdrom of=xxx.iso
mkisofs -r -o xxx.iso /dev/cdrom
readcd -v dev=/dev/cdrom -f xxx.iso

其中,用mkisofs还可以把一个文件夹模拟成iso:

mkisofs -o xxx.iso /path/to/tree

如果要使用iso文件的话,就更简单了,可以mount到任意目录下:

mount -o loop xxx.iso /path

注意以上某些命令可能需要root权限。

不过,还有个终极问题没有解决,我手头有一张《浙江省汽车驾驶人理科考试智能》的光盘,估计是用了什么防拷贝技术,使用以上方法都无法正确生成ISO文件,也无法全部复制里面的内容,具体操作过程如下:

lily@LLY:~$ sudo mount -o ro,loop /dev/sr0 qc
lily@LLY:~$ ls qc
试题10.db  试题11.db  试题12.db  试题1.db  试题2.db  试题3.db  试题4.db  试题5.db  试题6.db  试题7.db  试题8.db  试题9.db
lily@LLY:~$ sudo umount qc
lily@LLY:~$ sudo mount -o ro /dev/sr0 qc
lily@LLY:~$ ls qc
2009理论模拟考试.exe  AutoRun.ico  AutoRun.rdt  system               试题10.db  试题1.db  试题4.db  试题7.db
AutoRun.ard           autorun.inf  htm          安装使用说明.html    试题11.db  试题2.db  试题5.db  试题8.db
AutoRun.exe           autorun.pro  image.jpg    读安装使用说明.html  试题12.db  试题3.db  试题6.db  试题9.db
lily@LLY:~$ cp -r qc qc1
cp: 正在读入"qc/试题3.db": 输入/输出错误
cp: 正在读入"qc/试题4.db": 输入/输出错误
{1}lily@LLY:~$ ls qc1
2009理论模拟考试.exe  AutoRun.ico  AutoRun.rdt  system               试题10.db  试题1.db  试题4.db  试题7.db
AutoRun.ard           autorun.inf  htm          安装使用说明.html    试题11.db  试题2.db  试题5.db  试题8.db
AutoRun.exe           autorun.pro  image.jpg    读安装使用说明.html  试题12.db  试题3.db  试题6.db  试题9.db
lily@LLY:~$ du -s qc qc1
398463	qc
349720	qc1

有谁知道这种变态的光盘怎么搞定吗?