こんにちは、LinuCエバンジェリストこと、鯨井貴博@opensourcetechです。
CentOS7をシングルユーザーモードで起動する方法です。
この方法を使う必要があるようなケースは、以下のような場合です。
・rootアカウントのパスワードを忘れてしまった
・起動エラー(以下の場合、SELinuxの設定起因)となり起動できない
※以下は、起動途中でSELinuxの設定が間違っており起動できない状態です。
まず、起動画面(GRUB2)のメニューが表示されたら、「e」をタイピングします。
※「e」は、edit(編集)の意味。
すると、GRUB2の設定ファイル(/boot/grub2/grub.cfg)の内容が表示されます。
この一部を変更します。変更箇所は、以下の赤で囲んだ部分です。
それを、「rw init=/bin/sh」とします。
※通常ro(読み取り専用)で起動するところを、rw(読み書き可能)で起動し、sh(シェル)を起動させています。
なお、この操作中は英語(US)キーボードで認識がされるので、日本語キーボードを使用している場合「=」は「~」・「^」が書かれているところをタイプすれば入力できます。
変更後、下のメッセージに出ていますが、「ctrl+x」でCentOS7を起動させます。
起動後、shでコマンド入力できるようになります。
あとは、修正作業を行います。
以下はSELinux設定(/etc/selinux/config)を編集してますが、rootアカウントのパスワードを変更したい場合、passwdコマンドを実施します。
設定修正後、「exec /sbin/init」を実行しCentOS7を通常モードで起動させます。
execコマンドの詳細は、こちらを参照ください。
これで完了となります。