我看过DebConf 14:与 Linus Torvalds 进行质量检查,大约 19:50 Linux 提到“UUID 太疯狂了!”。
UUID 有什么用(在内核级别)?林纳斯这句话是什么意思呢?
答案1
文件系统在格式化时会被赋予一个随机数来唯一标识它们。在过去,您必须配置引导加载程序和 /etc/fstab 来确定应使用开发节点安装哪些文件系统,该节点由任意分配的 ID(如 /dev/sda)和分区号组成。问题是,如果您的分区号发生变化,所有现有的引用都会损坏。当磁盘本身的任意 ID 开始频繁更改时,真正的大问题就出现了。对于 IDE 磁盘,只能有 4 个,因此根据驱动器连接到的物理端口,将确定它是 /dev/hda 还是 /dev/hdb。不过,对于 SCSI 磁盘、SATA 磁盘或具有多个磁盘控制器的系统,ID 只是按照检测到它们的顺序分配,并且此顺序有些随机,并且可能会在一次引导到下一次引导时发生变化,即使您不这样做不要执行诸如拔出 USB 磁盘之类的操作。随着此类系统变得流行,不必依赖开发节点名称变得很重要,因此系统转而使用 UUID 来识别应将哪个文件系统安装在何处,以及在给定启动时恰好显示的任何开发节点都不会没关系。