前置き
SElinuxの無効化時を失敗してOSが起動しなくなった時のお話です。
OSが起動できない場合の障害対応の一例として参考にして頂けると幸いです。
実施環境はESXi6.5のネステッド環境に、
ゲストOSとしてCentOS7.4をインストールしています。
やってしまったこと
SElinuxの無効化を行うために、コンフィグファイル(/etc/selinux/config
)を修正。
本来は「SELINUX=disabled」とすべき所を、
誤って「SELINUXTYPE=disabled」としてしまった。
この状態でOSを再起動したところ、
SElinuxが正常に起動できなくなり、OSがフリーズしてしまった。
対応
通常のブートでOSが起動しないため、ISOイメージファイルからOS起動後、
システムディスクをマウントし、設定ファイルを修正しようと考えました。
対応内容
起動時にBIOSメニューに入る設定を行った上でOSの起動を行う。
※ESXiの場合は以下の設定で次回起動時にBIOS画面に入れます。
BootメニューからCDROM起動を選択し、ISOイメージからOS起動する。
1を選択。これでISOイメージからブートされたOSにシステムディスクがマウントされます。このあとエンターキーを何度か叩くとコマンドを打てる状態になります。
lsblk
でデバイスのマウント状態を確認。
図のようにシステムディスク(sysimage)が/mnt配下にマウントされています。
selinuxの設定ファイルは以下のディレクトリにあります。
設定ファイルのSELINUXTYPEをtargeted
に戻します。
あとはSElinuxのコンフィグファイルを正しく設定(無効化)し、対応完了です。
おつかれさまでした。
あとがき
OSが起動しない場合のトラブルシューティングはいくつかパターンがあるので、個人の環境で色々と試しておくと、いざという時に慌てずに対応できそうです。
機会があったらまた別のパターンについても記事にしたいと思います。
追記:OSが起動しない場合の対応方法の一つとして、「GRUBが破損してOSが起動しなくなった場合の対応方法」を記事にしました。こちらも宜しければ読んでみてください。
以上