Mount
使用 /dev/sr0 設備虛擬掛載 ISO
我正在研究如何以虛擬方式安裝 CD-ROM,而我所能發現的只是使用循環設備進行安裝。
mount -o loop disk1.iso /mount-point
這相當容易。
我知道這
/dev/sr0
是一個塊設備,它指向核心中的某個緩衝區,核心設備驅動程序將文件系統(或者我不確定的任何東西)放在該緩衝區中,當我們使用mount
它時,它將文件系統掛載到指定的掛載點.
disk1.iso
但是我想知道我們是否可以像在 Vmware 和 Virtualbox 中那樣使用 SCSI CD-ROM 設備(不更改核心中的任何內容)來安裝我們選擇的 ISO(例如)/dev/sr0
,我們可以在其中指定 ISO,它會自動模擬CD-ROM硬體和ISO可以使用/dev/sr0
設備掛載嗎?我在這裡看到的主要問題是如何
/dev/sr0/
連結到iso?
這裡的事情
/dev/sr0
是連結到核心設備驅動程序。該設備驅動程序將允許通過該節點訪問物理 CDROM;正如您提到的那樣,VMWare 和 VirtualBox 模擬硬體,因此核心和設備驅動程序認為它們正在與硬體通信。
/dev/sr0
不直接指向某個緩衝區,它為塊設備介面提供了一個介面,允許使用者空間程序訪問硬體設備的內容。如果您想將映像作為塊設備提供,那麼您唯一的選擇(除了虛擬化和模擬硬體)是使用循環設備
losetup
…或編寫您自己的替換設備驅動程序,但我認為這不是一個可行的選擇目前。如果您想讓該圖像可用
/dev/sr0
(我們是在談論偽造一些需要在該位置訪問 CDROM 的軟體嗎?),那麼您可以將該文件移動到 eg/dev/sr0.moved
然後將相應的符號連結/dev/loopX
到/dev/sr0
. 當然,如果有問題的軟體嘗試了只適用於 CDROM 設備的特殊命令,那麼這將不起作用。否則應該問題不大。