在虚拟化环境中,为 CentOS 系统挂载 ISO 镜像是一项常见且至关重要的操作,这不仅用于初始操作系统的安装,更广泛应用于后续的软件包安装、系统工具部署(如 VMware Tools 或 Guest Additions)、创建本地 yum 源,以及在虚拟机和宿主机之间传输文件,理解并熟练掌握挂载 ISO 的完整流程,是每一位系统管理员和运维工程师必备的技能,本文将详细、系统地介绍在 VMware 虚拟机(其他虚拟化平台如 VirtualBox、Hyper-V 原理类似)中为 CentOS 系统挂载 ISO 镜像的全过程,涵盖从虚拟化平台配置到操作系统内部操作的各个环节。
第一部分:通过虚拟化平台连接 ISO 镜像
挂载操作的第一步并非在 CentOS 系统内部,而是在您所使用的虚拟化管理平台(Hypervisor)上,这一步的目标是将 ISO 文件“插入”到虚拟机的虚拟光驱中。
1 定位虚拟机设置
登录到您的虚拟化管理平台,VMware vSphere Web Client 或 VMware Workstation,在虚拟机清单中找到您需要操作的 CentOS 虚拟机,在关机或开机状态下均可进行此操作,但某些高级配置可能需要虚拟机处于关闭状态。
右键点击虚拟机,选择“编辑设置”(Edit Settings),这将打开一个包含虚拟机所有硬件配置的窗口。
2 配置 CD/DVD 驱动器
在硬件列表中,找到“CD/DVD 驱动器”(CD/DVD Drive)这一项,选中它后,右侧会显示出详细的配置选项,这里通常是挂载操作的核心。
您会看到几个选项:
- 使用物理驱动器:使用宿主机(运行虚拟化软件的物理机)的实际光驱,在无盘服务器时代,此选项已不常用。
- 使用 ISO 映像文件(M):这是最常用的选项,它允许您将一个存放在宿主机或数据存储上的 ISO 文件作为虚拟光驱的介质。
选择“使用 ISO 映像文件(M)”,然后点击“浏览(B)…”按钮,您需要定位到 ISO 文件所在的路径,如果您的 ISO 文件尚未上传到 vSphere 的数据存储,通常会有一个上传文件的选项,允许您将本地计算机上的 ISO 文件上传到服务器。
3 连接设备状态
在选择了正确的 ISO 文件后,请务必注意下方的两个复选框:
- 已连接(C):这个选项相当于“按下光驱的进盘键”,如果不勾选,即使配置了 ISO 文件,虚拟机内部的操作系统也无法识别到光盘,请确保此框已勾选。
- 启动时连接:勾选此项后,虚拟机每次启动时都会自动尝试连接这个 ISO 镜像,这对于需要从光盘引导或每次开机都需要访问光盘内容的场景非常有用。
配置完成后,点击“确定”保存设置,至此,虚拟化平台层面的工作已经完成,虚拟机的虚拟光驱已经“装入”了您指定的 ISO 镜像。
第二部分:在 CentOS 系统中识别并挂载 ISO
虽然虚拟光驱在硬件层面已经准备就绪,但 CentOS 系统并不会自动将其内容呈现给用户,我们需要登录系统,执行一系列命令来手动挂载它。
1 识别光驱设备
我们需要确定系统分配给这个虚拟光驱的设备文件名,在 Linux 中,设备文件通常位于 /dev
目录下,对于光驱,常见的设备名有 /dev/cdrom
、/dev/sr0
等。/dev/sr0
是现代系统中更常见的 SCSI 光驱命名。
我们可以使用以下命令来查看块设备信息,从而快速识别光驱:
lsblk
执行此命令后,您会看到一个类似下方的树状输出:
NAME MAJ:MIN RM SIZE RO TYPE MOUNTPOINT
sda 8:0 0 40G 0 disk
├─sda1 8:1 0 512M 0 part /boot/efi
└─sda2 8:2 0 39.5G 0 part /
sr0 11:0 1 4.4G 0 rom
sr0
就是我们刚刚在虚拟化平台连接的虚拟光驱,它的 TYPE
显示为 rom
,大小为 4.4G,这与我们挂载的 ISO 文件大小一致。
2 创建挂载点
挂载点本质上是一个空的目录,它将成为我们访问光盘内容的入口,Linux 约定俗成地将临时挂载点放在 /mnt
或 /media
目录下,我们通常在 /mnt
下创建一个专门的目录,cdrom
或 iso
。
sudo mkdir /mnt/cdrom
这条命令会以 root 权限创建 /mnt/cdrom
目录,使用 sudo
是因为普通用户默认没有在根目录下创建文件夹的权限。
3 执行挂载命令
万事俱备,现在可以执行挂载操作了。mount
命令是完成这一任务的核心工具。
sudo mount /dev/sr0 /mnt/cdrom
这条命令的意思是:将设备 /dev/sr0
的内容,挂载到目录 /mnt/cdrom
上。
对于标准的 ISO 9660 格式的光盘,mount
命令通常能自动识别其文件系统类型,但为了更严谨和明确,您也可以手动指定文件系统类型:
sudo mount -t iso9660 /dev/sr0 /mnt/cdrom
这里的 -t iso9660
选项明确告诉内核,要挂载的设备使用的是 ISO 9660 文件系统(CD-ROM 的标准文件系统)。
4 验证挂载结果
挂载成功后,您可以通过两种方式验证:
查看目录内容:直接查看挂载点目录,看是否出现了 ISO 镜像中的文件。
ls -l /mnt/cdrom
您应该能看到 CentOS 安装介质或您自定义的 ISO 中的文件和文件夹列表。
查看挂载信息:使用
df
命令可以查看当前系统中所有已挂载的文件系统及其空间使用情况。df -hT
在输出中找到对应
/dev/sr0
的一行,确认其挂载点确实是/mnt/cdrom
,文件系统类型是iso9660
。
第三部分:卸载 ISO 镜像
当您完成了对 ISO 内容的操作后(安装完软件包或复制完文件),应当及时卸载它,卸载可以释放系统资源,并保证数据的一致性。
卸载操作使用 umount
命令(注意,是 umount
而不是 unmount
):
sudo umount /mnt/cdrom
或者,指定设备名进行卸载:
sudo umount /dev/sr0
常见问题:umount: /mnt/cdrom: target is busy
如果卸载时遇到这个错误提示,意味着某个进程正在访问挂载点 /mnt/cdrom
下的文件,或者您的当前终端工作目录就在 /mnt/cdrom
内。
解决方法:
- 确保您的终端当前目录不在
/mnt/cdrom
内,可以输入cd ~
或cd /
切换到其他目录。 - 如果问题依旧,可以使用
lsof
命令查看是哪个进程占用了挂载点:sudo lsof | grep /mnt/cdrom
找到进程后,可以将其终止,然后再尝试卸载。
卸载完成后,如果您不再需要这个挂载点,可以删除该目录:
sudo rmdir /mnt/cdrom
相关问答 (FAQs)
挂载后系统提示 mount: /dev/sr0 is write-protected, mounting read-only
,这是什么意思?需要担心吗?
回答:这个提示是完全正常的,无需担心,ISO 镜像文件本质上是一个只读的档案文件,其封装的文件系统(ISO 9660)天生就是只读的。mount
命令检测到这一特性后,会以只读模式进行挂载,这意味着您可以自由地读取、复制光盘中的文件,但无法对其进行任何修改、删除或新建文件的操作,这是为了保护原始镜像的完整性,如果您需要对镜像内容进行修改,必须先将文件复制到本地硬盘上。
有没有办法让 ISO 镜像在 CentOS 系统启动时自动挂载?
回答:有的,您可以通过编辑 /etc/fstab
文件来实现自动挂载。fstab
是 Linux 系统中用于定义文件系统静态信息的配置文件,系统在启动时会读取此文件并自动挂载其中定义的分区和设备。
要实现自动挂载,请在 /etc/fstab
文件末尾添加一行,对于我们之前挂载的 /dev/sr0
:
/dev/sr0 /mnt/cdrom iso9660 defaults,ro 0 0
各字段解释:
/dev/sr0
:要挂载的设备。/mnt/cdrom
:挂载点目录(请确保此目录已存在)。iso9660
:文件系统类型。defaults,ro
:挂载选项。defaults
是一系列默认选项的组合,ro
(read-only)明确指定为只读挂载,这是一个好习惯。0 0
:这两个是dump
和fsck
的相关选项,对于 ISO 镜像,通常都设置为 0,表示不备份和不检查。
添加完成后,保存文件,下一次系统重启时,就会自动将 /dev/sr0
挂载到 /mnt/cdrom
,您也可以在编辑后不重启,直接使用 mount -a
命令来测试 fstab
中的所有条目是否能正确挂载。
【版权声明】:本站所有内容均来自网络,若无意侵犯到您的权利,请及时与我们联系将尽快删除相关内容!
发表回复