在Linux中,我想了解设备的uuid、设备(主要和次要)号和设备文件的目的和用法的差异。在我看来,它们都可以识别设备(也可以识别其驱动程序)。
如果我是正确的,设备文件是设备及其驱动程序的接口,由用户程序用来访问设备及其驱动程序。
用户程序是否也使用设备的 uuid 和/或设备号来访问该设备?或者它们由操作系统内核内部使用,并对操作系统用户隐藏?
如果我是正确的,对于固定设备,即使在同一台计算机和同一操作系统上,其设备编号和设备文件也可能会发生变化,例如,当操作系统重新启动时,当相同类型的其他设备添加到计算机时,或者运行时一些可以改变它们的命令。
设备的 uuid 是否相同?或者设备的 uuid 是否固定,无论该设备连接到哪台计算机和操作系统,也无论操作系统是否重新启动以及稍后是否有其他设备连接到该计算机?
uuid 何时分配给设备?在设备制造过程中?
如何找到设备的 uuid?什么命令/程序可以做到这一点?
例如,
cat /etc/fstab
可以显示每个分区的uuid。如何找到硬盘的uuid?
答案1
真实(驱动器)和虚拟(LVM、MD)硬件以及文件系统中都有 ID / UUID。文件系统 UUID 可以轻松更改。硬件 ID 无法更改。
start cmd: # blkid /dev/sda2
/dev/sda2: UUID="b7d3900a-b6bc-4a40-b8dd-30d8df0037d0" SEC_TYPE="ext2" TYPE="ext3" PTTYPE="dos" PARTUUID="00097464-02"