
本質的に起こることは次のとおりです。
grubコマンドにこれをlinux
追加してdebug --verbose
得ました!
60秒待ってから:
systemd-udevd 'SomeDevicePartition' is taking a long time
120秒以上経過後:
systemd-udevd 'SomeDevicePartition' killed
+-:60秒、180秒、240秒、365秒で発生するので
合計6分です! ! !
udevd終了タイムアウトを10秒に下げて再試行しない可能性があるかどうか疑問に思います。 (grub エントリの一部の構成を使用)
より多くの情報が必要な場合は、質問全体の詳細はここにあります(上記は重要な部分にすぎません)。https://askubuntu.com/questions/1196874/18-04-grub-takes-about-6- Minutes-to-boot-problem-systemd-udevd-somedevice
この問題を解決するためのヒントを得ました。
udevadm --timeout=10
ただし、元に戻すにはLiveCD isoイメージを使用する必要があります。
udevadm
その設定はどこに保存されますか?試してみましたcat ./udev/rules.d/* |grep timeout -i
が、何も見つかりませんでした...
また、一般的なイベントでも動作するので、ボーナスとして次のようになります。パーティション検出を処理するために特定のタイムアウトを設定できますか?
grub cfg には次の内容があります。
linux /vmlinuz-4.15.0-72-generic \
root=/dev/mapper/MyLvmGroupName ro \
nosplash $vt_handoff debug --verbose
通知としてhttps://unix.stackexchange.com/a/559979/30352(ここ)、私は以下を試しました:
linux /vmlinuz-4.15.0-72-generic \
root=/dev/mapper/MyLvmGroupName ro \
rd.udev.event-timeout=10 \
nosplash $vt_handoff debug --verbose
しかし、何らかの理由で無視されるようです。 :(まだ時間制限が長いので(同じ、何も変わっていません)
2019年10月12日からこの問題が発生しました。 //(最後にUbuntu18でフルアップデートを実行したとき)
答え1
あなたのシステムはsystemdのudevを使用しているようです。
それでは、まずこのサービスマニュアルページ(systemd-udevd.service(8))を見てみましょう。
The behavior of the daemon can be configured using udev.conf(5), its command line options,
environment variables, and on the kernel command line, or changed dynamically with udevadm
control.
そしてさらに進む:
KERNEL COMMAND LINE
Parameters starting with "rd." will be read when systemd-udevd is used in an initrd.
udev.log-priority=, rd.udev.log-priority=
Set the log level.
udev.children-max=, rd.udev.children-max=
Limit the number of events executed in parallel.
udev.exec-delay=, rd.udev.exec-delay=
Delay the execution of RUN instructions by the given number of seconds. This option might
be useful when debugging system crashes during coldplug caused by loading non-working
kernel modules.
udev.event-timeout=, rd.udev.event-timeout=
Wait for events to finish up to the given number of seconds. This option might be useful
if events are terminated due to kernel drivers taking too long to initialize.
net.ifnames=
Network interfaces are renamed to give them predictable names when possible. It is enabled
by default; specifying 0 disables it.
udev.event-timeout=10
したがって、カーネルコマンドラインに追加(問題がinitrdステップにある場合は同じプレフィックスを追加)してみることができます。rd.