Mount

使用 /dev/sr0 設備虛擬掛載 ISO

  • June 24, 2016

我正在研究如何以虛擬方式安裝 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 設備的特殊命令,那麼這將不起作用。否則應該問題不大。

引用自:https://unix.stackexchange.com/questions/164580