Translated message

A translation of this page exists in English.

Warning message

This translation is outdated. For the most up-to-date information, please refer to the English version.

カーネルパニックが発生し dracut: FATAL: No or empty root= argument エラーが表示される

Solution Verified - Updated -

Environment

  • Red Hat Enterprise Linux
  • grub

Issue

  • 新しいカーネルでシステムを起動すると失敗します。古いバージョンのカーネルでは問題なく起動します。
  • 新しいカーネルはパニックになり、コンソールに以下のエラーメッセージが表示されます。
dracut:FATAL:No or empty root= argument
dracut:Refusing to continue

Kernel panic - not syncing:Attempting to kill init!
Pid; 1, comm: init Not tainted 2.6.32.279.14.1.el6.x86_64 #1
Call Trace:
 [<ffffffff814fd98a>] ? panic+0xa0/0x168
 [<ffffffff81070c42>] ? do_exit+0x862/0x870
 [<ffffffff8117d0a5>] ? fput+0x25/0x30
 [<ffffffff81070ca8>] ? do_group_exit+0x58/0xd0
 [<ffffffff81070d37>] ? sys_exit_group+0x17/0x20
 [<ffffffff8100b0f2>] ? system_call_fastpath+0x16/0x1b
  • カーネルパニックが発生する前に以下のエラーがコンソールに表示されます。
dracut:One or more specified logical volumes(s) not found. 

Resolution

  • /boot/grub/grub.conf ファイルのカーネルコマンドラインの root= オプションに不足しているパラメータを追加します (例: root=/dev/mapper/vg00-lvol1)。

例:

title Red Hat Enterprise Linux Server (2.6.32-279.14.1.el6.x86_64)
    root (hd0,0)
    kernel /vmlinuz-2.6.32-279.14.1.el6.x86_64 ro root=/dev/mapper/vg00-lvol1 rd_NO_LUKS LANG=en_US.UTF-8 rd_LVM_LV=vg00/lvol2 rd_NO_MD SYSFONT=latarcyrheb-sun16 rd_LVM_LV=vg00/lvol1  KEYBOARDTYPE=pc KEYTABLE=us crashkernel=auto rhgb quiet rd_NO_DM rhgb quiet
    initrd /initramfs-2.6.32-279.14.1.el6.x86_64.img
  • /boot/grub/grub.conf に記載されている root および swap 論理ボリューム名が正しいことを確認します。

Root Cause

  • カーネルコマンドラインの root= オプションの値が正しくありません。このオプションは、起動を処理する dracut で必要です。

例:

kernel /vmlinuz-2.6.32-279.14.1.el6.x86_64 ro root= rd_NO_LUKS LANG=en_US.UTF-8 rd_LVM_LV=vg00/lvol2 rd_NO_MD ..
                                                ^
                                                +
                                            [ Value of the root= option is Missing ]

Diagnostic Steps

  • パニックメッセージ全体のスクリーンショットを取得します。
  • sosreport を収集します。
  • すべてのカーネルエントリーに対して /boot/grub/grub.confroot= オプションの値を確認します。

例:

# cat /boot/grub/grub.conf 
# grub.conf generated by anaconda
#
# Note that you do not have to rerun grub after making changes to this file
# NOTICE:You have a /boot partition.This means that
#          all kernel and initrd paths are relative to /boot/, eg.
#          root (hd0,0)
#          kernel /vmlinuz-version ro root=/dev/mapper/vg00-lvol1
#          initrd /initrd-[generic-]version.img
#boot=/dev/sdd
default=0
timeout=5
splashimage=(hd0,0)/grub/splash.xpm.gz
hiddenmenu
title Red Hat Enterprise Linux Server (2.6.32-279.14.1.el6.x86_64)
    root (hd0,0)
    kernel /vmlinuz-2.6.32-279.14.1.el6.x86_64 ro root= rd_NO_LUKS LANG=en_US.UTF-8 rd_LVM_LV=vg00/lvol2 rd_NO_MD SYSFONT=latarcyrheb-sun16 rd_LVM_LV=vg00/lvol1  KEYBOARDTYPE=pc KEYTABLE=us crashkernel=auto rhgb quiet rd_NO_DM rhgb quiet
    initrd /initramfs-2.6.32-279.14.1.el6.x86_64.img
title Red Hat Enterprise Linux (2.6.32-279.el6.x86_64)
    root (hd0,0)
    kernel /vmlinuz-2.6.32-279.el6.x86_64 ro root=/dev/mapper/vg00-lvol1 rd_NO_LUKS LANG=en_US.UTF-8 rd_LVM_LV=vg00/lvol2 rd_NO_MD SYSFONT=latarcyrheb-sun16 rd_LVM_LV=vg00/lvol1  KEYBOARDTYPE=pc KEYTABLE=us crashkernel=auto rhgb quiet rd_NO_DM rhgb quiet
    initrd /initramfs-2.6.32-279.el6.x86_64.img

This solution is part of Red Hat’s fast-track publication program, providing a huge library of solutions that Red Hat engineers have created while supporting our customers. To give you the knowledge you need the instant it becomes available, these articles may be presented in a raw and unedited form.

Comments