虛擬機安裝 CentOS 後,執行 mount /dev/cdrom 報錯 mount: can't find cdrom in /etc/fstab or /etc/mtab。根因是最小化安裝未自動生成光驅掛載條目,且設備路徑可能為 /dev/sr0 而非 /dev/cdrom。本文提供永久修復方案。
[root@centos7 ~]# mount /dev/cdrom
mount: can't find cdrom in /etc/fstab or /etc/mtab
[root@centos7 ~]# ls -l /dev/cdrom
lrwxrwxrwx. 1 root root 3 Jun 10 10:00 /dev/cdrom -> sr0
[root@centos7 ~]# lsblk
NAME MAJ:MIN RM SIZE RO TYPE MOUNTPOINT
sr0 11:0 1 4.3G 1 rom
# 1. 創建掛載點 (推薦 /media/cdrom,FHS 標準)
mkdir -p /media/cdrom
# 2. 寫入 /etc/fstab (使用設備鏈接 /dev/cdrom,自動解析 sr0)
echo '/dev/cdrom /media/cdrom iso9660 ro,noauto,user,exec 0 0' >> /etc/fstab
# 3. 驗證 fstab 語法
mount -a # 無報錯即通過
# 4. 掛載測試
mount /dev/cdrom
# 或簡寫
mount /media/cdrom
# 5. 查看內容
ls /media/cdrom
# 6. 卸載
umount /media/cdrom
| 參數 | 含義 |
|---|---|
| iso9660 | 光盤標準文件系統類型 |
| ro | 只讀 (光盤不可寫) |
| noauto | 開機不自動掛載 (避免無光盤報錯) |
| user | 允許普通用戶掛載/卸載 |
| exec | 允許執行掛載點內二進制文件 (安裝腳本需此權限) |
#!/bin/bash
# install_vmtools.sh
set -e
MOUNT_POINT="/media/cdrom"
VMTOOLS_TAR=$(find "$MOUNT_POINT" -name 'VMwareTools-*.tar.gz' | head -1)
if [[ -z "$VMTOOLS_TAR" ]]; then
echo "未檢測到 VMware Tools 安裝包,請確認虛擬機設置已連接光盤映像"
exit 1
fi
mount "$MOUNT_POINT"
tar -xzf "$VMTOOLS_TAR" -C /tmp
/tmp/vmware-tools-distrib/vmware-install.pl -d
umount "$MOUNT_POINT"
echo "VMware Tools 安裝完成"
/dev/cdrom 指向最後一個,建議在 fstab 中使用 /dev/sr0 明確指定。mount -o loop /path/file.iso /mnt,不涉及 /dev/cdrom。x-systemd.automount 實現訪問時自動掛載,無需手動 mount。grep cdrom /etc/fstab 存在條目mount /media/cdrom 普通用戶可執行成功ls /media/cdrom 顯示光盤內容umount /media/cdrom 正常卸載一條 fstab 條目,徹底解決虛擬機光驅掛載痛點,納入模板映像構建流程。