Help us understand the problem. What is going on with this article?

dracut-initqueue timeout って?

More than 1 year has passed since last update.

はじめに

OSが起動しなかった場合のトラブルシューティング
今回は起動時にinitramfsからエラーが出力された場合の対処方法です。
実施環境はESXi6.5のネステッド環境に、ゲストOSとしてCentOS7.5をインストールしています。ファームウェアはEFIで実施していますので、BIOSを使用している環境で試す場合はご注意ください。

現象

以下のメッセージが出力し、OSが起動しない。

dracut-initqueue[xxx]: Warning: dracut-initqueue timeout 
Warning: /dev/xxxxx/xxxx does not exist

/(ルート)をマウントする前にメモリ上に展開するinitramfsで問題が発生した場合に出力するメッセージです。

実際の出力例
image.png

エラー出力原因

原因としては以下が考えられます。

1.マウントするファイルシステムのパス指定が誤っている
2.マウントするために必要なドライバが不足、または誤っている
3.ファイルシステムに接続するための物理的な経路に問題がある

対応方法

エラー時にDracut Emergency Shellで表示可能な/run/initramfs/rdsosreport.txtを確認して原因を特定するのが正道と思いますが、特定方法が整理できていません。。。
そこでいくつかの原因パターンと対応方法を紹介します。

1.GRUBのファイルシステム指定に誤り

GRUBのlinuxefi1でrootのファイルシステムを指定する箇所に誤りがある。
以下のように誤ったパスを探しに行き、エラーとなります。
image.png

この場合、レスキューモードで起動後、/boot配下のgrub.confを調査し、記載されたファイルシステムの指定に誤りが無いかを確認します。

誤った例
image.png

誤りがあった場合は正しく修正を行ってください。2

2.initramfsイメージ生成時の問題

例えば以下のようにinitramfsイメージ生成時にカーネルの指定を誤ってしまった場合です。
dracut -f initramfs-[カーネルのバージョン].img [誤ったカーネル名]

誤った例

[root@localhost]# dracut -f initramfs-3.10.0-862.el7.x86_64.img 3.141592
Kernel version 3.141592 has no module directory /lib/modules/3.141592
[root@localhost]#

この場合、initramfsからモジュールが呼び出せず、エラーとなってしまいます。
対応方法としては、レスキューモードで起動後、dracutで正しいカーネルのバージョンを指定しなおす必要があります。

dracut -f initramfs-[カーネルのバージョン].img [カーネルのバージョン]

正しい例

[root@localhost]# dracut -f initramfs-3.10.0-862.el7.x86_64.img 3.10.0-862.el7.x86_64

3.ドライバの問題

発生原因として一番多く、問題の切り分けに苦慮するパターンです。
インストールしたドライバに問題があったり、異なる機器用のドライバを誤って適用してしまった場合などに発生します。

対応方法としては問題となっているドライバを特定し、正しいドライバをインストールすることになりますが、その切り分けが難しいのですよね。。。
このあたりは調査不足なので整理できたら記事にしたいと思います。

あとがき

今回は、私の把握している範囲での対処方法を紹介しました。
他にも切り分け方法や対応方法がありましたらご意見頂けますと嬉しいです。

以上


  1. BIOSだと項目名がlinuxとなります。 

  2. /etc/default/grubを修正後、grub2-mkconfigコマンドでgrub.confファイルを再生成します。 

Why not register and get more from Qiita?
  1. We will deliver articles that match you
    By following users and tags, you can catch up information on technical fields that you are interested in as a whole
  2. you can read useful information later efficiently
    By "stocking" the articles you like, you can search right away
Comments
No comments
Sign up for free and join this conversation.
If you already have a Qiita account
Why do not you register as a user and use Qiita more conveniently?
You need to log in to use this function. Qiita can be used more conveniently after logging in.
You seem to be reading articles frequently this month. Qiita can be used more conveniently after logging in.
  1. We will deliver articles that match you
    By following users and tags, you can catch up information on technical fields that you are interested in as a whole
  2. you can read useful information later efficiently
    By "stocking" the articles you like, you can search right away
ユーザーは見つかりませんでした