一些背景……
我认为这应该是一个普通的Linux内核(或内核模块)相关的问题,虽然我在为自动安装预先设置debian时遇到了这个问题.
每次从usb磁盘启动安装程序时,usb磁盘都是/ dev / sda,但我正在使用的preseed文件假定第一个硬盘(在这种情况下是sata)应该是/ dev / sda.我使用相同的系统进行pxe网络安装,我宁愿保持一致.我还担心,如果我写了一个preseed配置,假设第一个磁盘是sdb,那么由于某种原因它可能不会在某个时刻.
我已经尝试编写udev规则,将usb磁盘的设备名称更改为“INSTALLMEDIA”,这似乎有效,但是它不会导致SATA磁盘从sda启动,它们仍然从sdb开始.
我的问题……
是什么决定了发现和命名磁盘的顺序?
如果有的话,我可以做些什么来控制这个?
如果我无法控制它,那么从USB启动时可以安全地假设USB磁盘可以或多或少地保证是sda而第一个SATA磁盘总是sdb吗?
解决方法
我所知道的这个问题最可靠的答案是使用udev可以为你创建的更新的符号链接. Udev枚举磁盘驱动器,并使用设备创建多个树 – 向您解释它们是什么类型的设备.
它位于/ dev / disk中.
你有,路径:
/dev/disk/by-path/pci-0000:00:1a.0-usb-0:1.5:1.0-scsi-0:0:0:0-part1 /dev/disk/by-path/pci-0000:00:1a.0-usb-0:1.5:1.0-scsi-0:0:0:0 /dev/disk/by-path/pci-0000:06:00.0-scsi-0:0:0:0 /dev/disk/by-path/pci-0000:00:1f.2-scsi-1:0:0:0-part2 /dev/disk/by-path/pci-0000:00:1f.2-scsi-0:0:0:0-part2 /dev/disk/by-path/pci-0000:00:1f.2-scsi-1:0:0:0-part1 /dev/disk/by-path/pci-0000:00:1f.2-scsi-0:0:0:0-part1 /dev/disk/by-path/pci-0000:00:1f.2-scsi-0:0:0:0 /dev/disk/by-path/pci-0000:00:1f.2-scsi-1:0:0:0
例如,它清楚地告诉您设备是否是USB设备.