目次

SELinuxを無効にした後、Kernel panicになり起動できなくなった

目次

SELinuxを無効にした後、再起動するとKernel panicになり起動できなくなることがあります。

原因

GUIでの設定変更では設定ファイルの変更に抜けが出ることが原因のようです。

回復方法

kernel panic になってしまった場合の回復方法です。

電源投入後のOSが起動する最初の画面でキーを押します。
SELinuxを無効にした後、Kernel panicになり起動できなくなった:画像1

GNU GRUBのメニューが表示されます。'e'キーを押してkernelのパラメータを編集します。
SELinuxを無効にした後、Kernel panicになり起動できなくなった:画像2

パラメーターの編集画面が表示されました。
SELinuxを無効にした後、Kernel panicになり起動できなくなった:画像3

カーソルキーを用いて2行目を選択します。選択ができたら'e'キーを押します。
SELinuxを無効にした後、Kernel panicになり起動できなくなった:画像4

kernelのオプションの編集画面が表示されます。
SELinuxを無効にした後、Kernel panicになり起動できなくなった:画像5

オプションの末尾に一つ空白を開けて"enforcing=0"を追記します。(下図参照)
SELinuxを無効にした後、Kernel panicになり起動できなくなった:画像6

編集を確定すると行選択画面に戻ります。'b'キーを押してCentOSを起動します。
SELinuxを無効にした後、Kernel panicになり起動できなくなった:画像7

"enforcing=0"を追記することで、SELinuxが有効になった状態(Permissive モード)で起動できます。起動後/etc/grab.confを修正します。

原因1

起動時のkernel オプションに selinux=0が抜けていることが原因です。

対策

/etc/grab.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/vg_shouji-lv_root
#          initrd /initrd-[generic-]version.img
#boot=/dev/sda
default=0
timeout=5
splashimage=(hd0,0)/grub/splash.xpm.gz
hiddenmenu
title CentOS (2.6.32-220.el6.x86_64)
	root (hd0,0)
	kernel /vmlinuz-2.6.32-220.el6.x86_64 ro root=/dev/mapper/vg_shouji-lv_root rd_NO_LUKS rd_NO_MD quiet rhgb crashkernel=auto  KEYBOARDTYPE=pc KEYTABLE=jp106 rd_LVM_LV=vg_shouji/lv_swap LANG=ja_JP.UTF-8 rd_NO_DM rd_LVM_LV=vg_shouji/lv_root
	initrd /initramfs-2.6.32-220.el6.x86_64.img


kernel の起動オプションの末尾に "selinux=0"を追加します。

修正後

# 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/vg_shouji-lv_root
#          initrd /initrd-[generic-]version.img
#boot=/dev/sda
default=0
timeout=5
splashimage=(hd0,0)/grub/splash.xpm.gz
hiddenmenu
title CentOS (2.6.32-220.el6.x86_64)
	root (hd0,0)
	kernel /vmlinuz-2.6.32-220.el6.x86_64 ro root=/dev/mapper/vg_shouji-lv_root rd_NO_LUKS rd_NO_MD quiet rhgb crashkernel=auto  KEYBOARDTYPE=pc KEYTABLE=jp106 rd_LVM_LV=vg_shouji/lv_swap LANG=ja_JP.UTF-8 rd_NO_DM rd_LVM_LV=vg_shouji/lv_root selinux=0
	initrd /initramfs-2.6.32-220.el6.x86_64.img

原因2

/etc/selinux/configファイルの編集忘れ

対策

/etc/selinux/configファイルにて
SELINUXTYPE=disabled
のままになっていると問題が発生する可能性があります。

SELINUXTYPE=targeted
と変更します。
AuthorPortraitAlt
著者
かつて日本を代表したスーパーエンジニア (自称)
ハードウェア、電気設備、ガーデニング関係の記事を担当。
作成日: 2012-07-20
Copyright © 1995–2025 iPentec all rights reserverd.