Failed to load selinux policy freezing でVMが起動しない

Linux VM起動時に以下メッセージが表示されて起動しない場合、

Failed to load selinux policy freezing

SELinuxの設定に誤りがあります。Azure VMの場合、起動してこない、場合に、シリアルコンソールから見た場合に上記メッセージが確認できます。
SELinuxの設定を触った後に、SSHログインできない、、などの状況が発生した場合、本件に該当している可能性が高いです。本事象が発生した場合でも、Azureポータル上からはVMが通常起動しているように見えます。SELinuxの設定を触った後に、SSHログインできない という場合は、シリアルコンソールから本事象に該当していないか確認してみるのがよいと思います。

このような場合、シリアルコンソール上から復旧させることが可能です。

1.まず、シリアルコンソールの電源ボタンからVMを再起動します

電源ボタンから「再起動」をクリックします。

2.タイミングよくEscキーを押下

VMが再起動するので、以下出力時に、Escキーを何度か押します。
※Escキー連打でもgrubメニューに入れるようですが、失敗して、grubのリカバリシェル  に入ってしまうことがありました。「grub>grub>  ・・・」と表示される場合、リカバリシェルに入っています。grubメニューに上手く入れない場合は何度か挑戦してください。基本、Escキー1回でgrubメニューに入れるようです。

3.以下画面で キーボードの e を押下

4.「selinux=0」を追記する

以下画面に遷移したら、
initrd ($root)/initramfs-******の前の行に、selinux=0 を追記します。

ここが少しわかり辛いですが、以下のような箇所です。

5.ctrl + Xキーを押し、起動

selinux=0の追記をしたら、ctrl + X で起動させます。

あとは、起動してきたLinuxにログインし、SELinuxの設定ファイルを正しく修正してください。
#vi /etc/selinux/config
で、編集します。よくある間違いとして以下があります。(筆者はこれをやりました)

selinuxを無効化する場合、
SELINUX=enforcing という部分を
SELINUX=disabled
に修正して、OS再起動する必要があります。
これを、誤って、
SELINUXTPYE=disabled   
と書いてしまうと、OS起動時にエラーとなり、今回のような事象が発生します。

【間違いの例】

【正しい例】

以上、selinux設定の失敗からリカバリする方法を案内しました。

いいね (←参考になった場合はハートマークを押して評価お願いします)
読み込み中...

注意事項・免責事項

※技術情報につきましては投稿日時点の情報となります。投稿日以降に仕様等が変更されていることがありますのでご了承ください。

※公式な技術情報の紹介の他、当社による検証結果および経験に基づく独自の見解が含まれている場合がございます。

※これらの技術情報によって被ったいかなる損害についても、当社は一切責任を負わないものといたします。十分な確認・検証の上、ご活用お願いたします。

※当サイトはマイクロソフト社によるサポートページではございません。パーソルクロステクノロジー株式会社が運営しているサイトのため、マイクロソフト社によるサポートを希望される方は適切な問い合わせ先にご確認ください。
 【重要】マイクロソフト社のサポートをお求めの方は、問い合わせ窓口をご確認ください