如何将安装盘的 RHEL 8 ISO 循环挂载到 VIRTUALBOX 上的 /repo 目录中?

如何将安装盘的 RHEL 8 ISO 循环挂载到 VIRTUALBOX 上的 /repo 目录中?

如何配置系统自动循环挂载安装盘的ISO到/repo目录下? (RHEL 8 安装在 Virtual Box 上)您能否列出并解释使其正常工作的步骤。

我下载了 Virtual Box,然后下载了 Rhel 8 的 ISO 文件,将其添加到我的虚拟机中。
我无法完成此操作:

  • 如何找到我在笔记本电脑上下载的 ISO 文件以将其用于虚拟机?
  • 我会使用原始笔记本电脑上的路径还是 VirtualBox 上有路径吗?

以下是我尝试过的。

  • 我需要更新 /etc/fstab 吗?
  • 如果需要更新 /etc/fstab 我会输入什么 ( \User\new\fake\desktop\disk.iso defaults 0 0)?

有一个/mnt目录,所以我在其中创建了一个文件。

root# cd /mnt/iso
root /mnt/fake# mount -t iso9960 -o loop \User\new\fake\desktop\disk.iso /mnt/iso

输出 ---> “命令”:在 /etc/fstab 中找不到

答案1

仅当您的虚拟机中已安装 VirtualBox Guest Additions,并且已将 VirtualBox 配置为在主机和虚拟机之间提供共享文件夹时,循环挂载才适用。然后,您可以将 ISO 文件放入共享文件夹中,首先使用 挂载共享文件夹mount -t vboxsf <share_name> <mount_point>,然后您可以从共享文件夹中循环挂载 ISO 文件,就像作为本地文件存在一样。

对于安装,您可能没有激活 Guest Additions,因此可能还无法安装 VirtualBox 共享文件夹。因此,最好将 ISO 呈现为虚拟 CD-ROM。

首先,您需要在虚拟机配置中拥有一个虚拟 CD-ROM 驱动器。然后,当 VM 运行时,右键单击 VM 窗口底行的 CD 图标,选择Choose a disk file...并选择主机系统上的 ISO 文件。当您执行此操作时,它将显示为虚拟 CD-ROM,可以像真实驱动器一样安装,因此在命令行中:

mkdir -p /repo  # just to ensure that the mount-point directory exists
mount -t iso9660 /dev/sr0 /repo

要使系统在启动时自动挂载 ISO,您可以将此行添加到/etc/fstab

/dev/sr0 /repo iso9660 ro,nofail 0 0

(我建议使用nofail虚拟 CD 的挂载选项,以防止在 ISO 映像不再可用时 VM 启动陷入紧急模式。)


如果您确实想要特定的循环挂载,则首先必须配置 VirtualBox 以在主机和 VM 之间设置共享文件夹:在正在运行的 VM 窗口的顶部,选择Devices-> Shared Folders-> Shared Folders Settings,然后单击单击窗口右边缘带有绿色加号的文件夹以创建新的共享文件夹。您需要将文件夹路径指定为您希望在桌面上共享的路径(例如,\User\new\fake\desktop及其文件夹名称(可以是任何名称,例如“hostdesk”)。

如果您不希望虚拟机能够写入共享文件夹,请选中Read only;如果您希望在关闭虚拟机和/或主机时共享文件夹定义仍然存在,请选中。只有在选中时,Make Permanent您才需要指定。对于此示例,将挂载点指定为并选中。然后单击“确定”退出共享文件夹属性对话框。mount pointAuto-mount/mnt/hostdeskAuto-mount

如果勾选Make Permanent,共享文件夹将出现在“机器文件夹”下的列表中;如果没有,它将位于“临时文件夹”下。再次单击“确定”退出“设置”对话框后,设置就会生效。

如果虚拟机中的来宾添加处于活动状态,该/mnt/hostdesk目录现在应该会自动显示并允许您访问\User\new\fake\desktop主机上的文件夹。然后循环挂载 ISO:

mkdir -p /mnt/iso
mount -o loop,ro /mnt/hostdesk/disk.iso /mnt/iso

由于此循环挂载只能在 Guest Additions 成功启动后执行,因此在/etc/fstab不采取任何预防措施的情况下添加此循环挂载可能会导致在引导过程中过早尝试挂载,从而导致系统陷入紧急模式。您可以尝试这样的条目:

/mnt/hostdesk/disk.iso /mnt/iso iso9660 loop,ro,nofail,x-systemd.requires=vboxadd-service.service 0 0

这告诉systemd(它将行转换/etc/fstab.mount单位)vboxadd-service.service在执行此安装之前必须运行,并且该nofail选项确保如果此安装因任何原因失败,系统不会启动失败。

请参阅man systemd.mount参考资料 获取其他特定于 systemd 的挂载选项。

相关内容