您尚未登录。

#16 2019-11-28 20:04:16

依云
会员
所在地: a.k.a. 百合仙子
注册时间: 2011-08-21
帖子: 8,384
个人网站

Re: [已解决] 开机时偶然地出现 “Timed out waiting for device /dev/sdb...” 并且导致启动失败

你写好 udev 规则之后还得加到 initramfs 里。
没生效应该是并没有被触发(你又没有把硬盘拔了再插上)。

离线

#17 2019-11-28 20:26:26

Mr.I
路人丙
所在地: Kerbal
注册时间: 2015-08-29
帖子: 308

Re: [已解决] 开机时偶然地出现 “Timed out waiting for device /dev/sdb...” 并且导致启动失败

依云 说:

你写好 udev 规则之后还得加到 initramfs 里。
没生效应该是并没有被触发(你又没有把硬盘拔了再插上)。

我是先用移动硬盘试的。

按照我对 udevadm control --help 给出的信息的字面理解,当我 udevadm control --reload 的时候,systemd-udevd 应当会立即重读 /etc/udev/rules.d/*.rules 和 /usr/lib/udev/rules.d/*.rules,这个时候如果我重新连接移动硬盘的话,这些规则应该就会对移动硬盘起作用才对。

然后,我不理解我故意在 .rules 文件中制造语法错误后 udev 为什么不会报出这些语法错误,是不是我漏了什么东西 hmm

还是说, udev 的规则只有在 initrd 被加载的时候读取一次,后续不会再接收改动了呢? 感觉 wiki 上说的并不是这个意思啊。

离线

#18 2019-11-28 20:37:24

依云
会员
所在地: a.k.a. 百合仙子
注册时间: 2011-08-21
帖子: 8,384
个人网站

Re: [已解决] 开机时偶然地出现 “Timed out waiting for device /dev/sdb...” 并且导致启动失败

哦,那的确有些奇怪。
我是说如果你想在启动的时候确定好硬盘的名字,你需要把规则弄到 initramfs 里去,不然你的 / 可能挂载不对。

离线

#19 2019-11-28 20:53:06

Mr.I
路人丙
所在地: Kerbal
注册时间: 2015-08-29
帖子: 308

Re: [已解决] 开机时偶然地出现 “Timed out waiting for device /dev/sdb...” 并且导致启动失败

实际上我一开始也的确没有想到 initramfs 的事情,我就想着移动硬盘测起来方便一些,然后就直接用移动硬盘测试了。谢谢提醒了,等我用移动硬盘把规则调试好了我就把机械盘的规则做到 initramfs 里面去。


然而,最大的问题是,我故意制造语法错误之后无论是 stdout/stderr 还是 journal 里面,都没有任何关于这个语法错误的报告,照理说,这种事情对于任何程序来说都至少是 error 级别的事件。

我对于 udev 的理解肯定还少些了什么,我得再研究一下,等我能看到 udev 报告 rules 文件的语法错误了,我肯定就可以配置成功了。

最近编辑记录 Mr.I (2019-11-28 21:49:47)

离线

页脚