我刚刚更换了老化电脑的 PSU,因为它不稳定。重新组装我的电脑后,它无法启动,并显示“放弃等待 root”。我被扔进了一个外壳,我可以看到我的所有硬盘都已命名/dev/sdf
或稍后命名,并且相应的分区都在那里,当然还有同样不寻常的设备名称。
根目录现在是 /dev/sdf5 而不是 sda5
我的 grub booloader 假定根设备已打开/dev/sda5
。
我被扔进了一个壳里,cat /dev/sda
得到的答复是“没有找到媒介”。这一事实,以及我的读卡器中插槽 (5) 的数量与“低”设备名称 (sda..sde) 的数量相对应的事实,使我相信这些设备确实是我的读卡器。
所以我拔掉读卡器,系统启动正常。
我的大多数分区都有标签,并且在 fstab 中列出了它们的标签,因此一旦找到 root,其余的引导过程就不是问题了。然而,根在 grub 配置中列出/dev/sda5
,因此它需要具有这个确切的设备名称。
肮脏的修复
在更换 PSU 之前,我没有遇到此问题。我可能使用与以前不同的 USB 端口,但除此之外(和新的 PSU),与以前的设置没有任何区别。
因此,我将读卡器插入另一个 USB 端口,现在系统大部分时间都能启动,但并非总是如此。
不同的内核修复
我的内核是一个3.16.7-ckt25 #4 SMP PREEMPT
从源代码编译的内核。当我启动到库存内核(3.16.0-4-amd64)时,我没有这个问题。我怀疑这和 PREEMPT 有什么关系。我怀疑这是一个时间问题。
问题
- 如何告诉我的系统始终为我的 USB 读卡器设备提供名称后sata硬盘?