Tej*_*dra 7 iso mount devices block-device loop-device
我正在研究如何虚拟安装 CD-ROM,我所能找到的只是使用循环设备进行安装。
mount -o loop disk1.iso /mount-point
Run Code Online (Sandbox Code Playgroud)
这相当容易。
我知道这/dev/sr0
是一个块设备,它指向内核中的某个缓冲区,内核设备驱动程序将文件系统(不管它放了什么我不确定)放在那个缓冲区中,当我们使用mount
它时,将文件系统挂载到指定的挂载点.
但是我想知道我们是否可以像在 Vmware 和 Virtualbox 中那样disk1.iso
通过使用 SCSI CD-ROM 设备/dev/sr0
(无需更改内核中的任何内容)来安装我们选择的 ISO(例如),我们可以在其中指定 ISO 并自动模拟光驱硬件和ISO可以用mount/dev/sr0
设备吗?
我在这里看到的主要问题是如何/dev/sr0/
链接到iso?
这里的事情/dev/sr0
是链接到内核设备驱动程序。如果通过该节点可用,该设备驱动程序将允许访问物理 CDROM;正如您提到的,VMWare 和 VirtualBox 模拟硬件,因此内核和设备驱动程序认为它们正在与硬件进行通信。
在/dev/sr0
不指向一定的缓冲直接,将其提供给块设备接口,它允许用户空间的进程到ACCES硬件设备中的内容的接口。
如果您想将映像用作块设备,那么您唯一的选择(除了虚拟化和模拟硬件)是使用循环设备losetup
...或编写您自己的替换设备驱动程序,但我认为这不是一个可行的选择目前。
如果您想让该图像可用/dev/sr0
(我们是否在谈论伪造一些需要在该位置访问 CDROM 的软件?),那么您可以将该文件移动到 eg /dev/sr0.moved
,然后将适当的符号链接/dev/loopX
到/dev/sr0
. 当然,如果有问题的软件尝试了仅适用于 CDROM 设备的特殊命令,那么这将不起作用。否则应该没有问题。