カーネルパニックが発生し dracut: FATAL: No or empty root= argument エラーが表示される
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.conf
のroot=
オプションの値を確認します。
例:
# 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