Edited at

SElinuxの無効化に失敗してOSが起動しなくなった話

More than 1 year has passed since last update.


前置き

SElinuxの無効化時を失敗してOSが起動しなくなった時のお話です。

OSが起動できない場合の障害対応の一例として参考にして頂けると幸いです。

実施環境はESXi6.5のネステッド環境に、

ゲストOSとしてCentOS7.4をインストールしています。


やってしまったこと

SElinuxの無効化を行うために、コンフィグファイル(/etc/selinux/config)を修正。

本来は「SELINUX=disabled」とすべき所を、

誤って「SELINUXTYPE=disabled」としてしまった。

この状態でOSを再起動したところ、

SElinuxが正常に起動できなくなり、OSがフリーズしてしまった。

image.png


対応

通常のブートでOSが起動しないため、ISOイメージファイルからOS起動後、

システムディスクをマウントし、設定ファイルを修正しようと考えました。


対応内容

起動時にBIOSメニューに入る設定を行った上でOSの起動を行う。

※ESXiの場合は以下の設定で次回起動時にBIOS画面に入れます。

image.png

BootメニューからCDROM起動を選択し、ISOイメージからOS起動する。

image.png

Troubleshootingを選択

image.png

Rescue a CentOS systemを選択

image.png

1を選択。これでISOイメージからブートされたOSにシステムディスクがマウントされます。このあとエンターキーを何度か叩くとコマンドを打てる状態になります。

image.png

lsblkでデバイスのマウント状態を確認。

図のようにシステムディスク(sysimage)が/mnt配下にマウントされています。

image.png

selinuxの設定ファイルは以下のディレクトリにあります。

image.png

設定ファイルのSELINUXTYPEをtargetedに戻します。

image.png

再起動し、無事OSが起動!

image.png

あとはSElinuxのコンフィグファイルを正しく設定(無効化)し、対応完了です。

おつかれさまでした。

image.png


あとがき

OSが起動しない場合のトラブルシューティングはいくつかパターンがあるので、個人の環境で色々と試しておくと、いざという時に慌てずに対応できそうです。

機会があったらまた別のパターンについても記事にしたいと思います。

追記:OSが起動しない場合の対応方法の一つとして、「GRUBが破損してOSが起動しなくなった場合の対応方法」を記事にしました。こちらも宜しければ読んでみてください。

以上