/dev/hdc、/dev/sr0、/dev/cdrom 之间有什么区别

Lan*_*ndy 29 linux linux-distributions

我使用 VMware Workstation 7 创建了 2 个虚拟机。它们具有相同的硬件。一个guest是CentOS 5.6,另一个是Mandriva 2011。当我尝试在guest OS中挂载cdrom时,在CentOS中,我应该执行

mount /dev/hdc /path/to/mount
Run Code Online (Sandbox Code Playgroud)

在 Mandriva,我应该执行

mount /dev/sr0 /path/to/mount
Run Code Online (Sandbox Code Playgroud)

我还记得其他一些 Linux 变体,我不得不使用

mount /dev/cdrom /path/to/mount
Run Code Online (Sandbox Code Playgroud)

我的问题是:

  1. hdc、sr0 或 cdrom 之间有什么区别?
  2. 是否有一致的方法在所有 Linux 变体中挂载 cdrom?

Maj*_*nko 29

/dev/hdc
Run Code Online (Sandbox Code Playgroud)

是第三个IDE硬盘——Secondary Master。

/dev/sr0
Run Code Online (Sandbox Code Playgroud)

是系统中的第一个 SCSI CD-ROM 设备。这可能会产生误导,因为 SCSI 和 SATA 在 Linux 术语中是可以互换的。在某些 Unix 系统(在 FreeBSD 中称为 ATAPICAM)中也有 ATAPI 设备的 SCSI 模拟,这使得 ATAPI CD-ROM 设备看起来是 SCSI。一些较旧的软件纯粹是为了与 SCSI 外围设备接口而编写的,不能与 ATAPI 外围设备一起使用,因此该仿真层非常有用。

/dev/cdrom
Run Code Online (Sandbox Code Playgroud)

是的,这是上述之一的符号链接 - 使用ln或通过udev配置手动完成。


Omn*_*ity 8

/dev/hdc 是ide控制器上的一个设备。

/dev/sr0 是 scsi 控制器上的一个设备。

/dev/cdrom是符号链接,要么/dev/sr0/dev/hdc或任何块设备为宜。大多数发行版都带有一个脚本,可以自动设置/dev/cdrom为正确的设备。因此,您通常可以安全地使用/dev/cdrom. 如果您没有,/dev/cdrom您可以随时自行设置ln -s