Linuxサーバーでトラブルが発生した際、真っ先に試したいのが「シングルユーザモード」での起動です。これは、最小限のサービスでシステムを起動し、root権限でのメンテナンスが可能な特殊なモードです。
Rocky LinuxはRed Hat系ディストリビューションであり、CentOSやRHELと同じくgrub
ブートローダーを使用しており、シングルユーザモードの起動方法も共通点が多くあります。この記事では、Rocky Linux 8や9でのシングルユーザモードへの入り方を初心者にもわかりやすく解説していきます。
シングルユーザモードとは?
シングルユーザモードとは、Linuxが最小限の機能のみで起動する特別なランレベルです。通常のマルチユーザモードとは異なり、ネットワークや不要なサービスは起動せず、rootユーザーだけがログイン可能な状態になります。
このモードは以下のようなシーンで活用されます:
- rootパスワードのリセット
- ファイルシステムの修復(
fsck
の実行など) - システム設定の誤設定からの復旧
- 起動トラブル時の原因調査
安全に、かつ最低限の環境で作業ができるため、トラブル時の「駆け込み寺」とも言える重要な機能です。
シングルユーザモードで起動する前の準備
Rocky Linuxでシングルユーザモードを利用するには、物理的なアクセスもしくは**コンソールへの接続(iLOやIPMI、仮想コンソールなど)**が必要です。
理由は、ブートメニュー(GRUB)での操作が必要であり、リモートSSHなどでは対応できないためです。
また、起動中にGRUBの編集モードを使うため、起動時の一瞬のタイミングでキーを押す必要があります。
シングルユーザモードでの起動手順(GRUB利用)
1. サーバーを再起動
まず、システムを再起動します。
sudo reboot
2. GRUBメニューを表示
再起動後、以下のような画面が表示されたタイミングで、すぐにキーボードの**「e」キー**を押します。
表示されるGRUBメニューの例:
Rocky Linux (5.x.x-x.el8.x86_64) 8.x
Advanced options for Rocky Linux
この画面が表示されたら、起動したいカーネルを選んで「e」キーを押します。これでGRUB編集モードに入れます。
3. カーネル起動行を編集
GRUB編集モードでは、テキストベースの画面に切り替わり、カーネルの起動パラメータを編集できます。
下へスクロールし、linux
もしくは linux16
と記述された行を見つけます。
例:
linux16 /vmlinuz-5.x.x root=/dev/mapper/rl-root ro crashkernel=auto resume=/dev/mapper/rl-swap
この行の最後にスペースを空けて、single
または init=/bin/bash
を追加します。
方法A:single を使う
linux16 ... ro single
方法B:init=/bin/bash を使う(パスワードなしログイン可能)
linux16 ... ro init=/bin/bash
この後者の方法だと、すぐにbashシェルが起動され、ログインプロンプトなしでrootとして操作可能になります。
4. 起動を実行
編集が完了したら、Ctrl + X または F10キーを押して起動を続行します。
これで、シングルユーザモードでの起動が始まります。
シングルユーザモードでの操作例
シングルユーザモードで起動したあとは、通常のLinuxシェルが使えるようになります。ただし、ファイルシステムが読み取り専用(read-only)でマウントされている可能性があるため、書き込み操作を行いたい場合は以下のように再マウントが必要です。
mount -o remount,rw /
例:rootパスワードのリセット
passwd
その後、新しいパスワードを入力し、再起動します。
exec /sbin/init
または、強制的に再起動:
reboot -f
SELinuxが有効な場合の注意点
init=/bin/bash
で起動し、ファイルを編集した後に通常起動したとき、SELinuxのcontextが破損して正常に動作しないことがあります。
このような場合は、再起動後にGRUB編集モードで以下を追加します:
autorelabel=1
例:
linux16 ... ro init=/bin/bash autorelabel=1
これで次回の起動時に自動でcontextが再構築されます。
シングルユーザモードの終了方法
作業が終わったら、以下のいずれかで通常モードに戻します:
exec /sbin/init
を実行して通常のinitプロセスに戻るreboot
コマンドで再起動shutdown -r now
で再起動
セキュリティ上の注意点
シングルユーザモードはrootの制御権を完全に奪う手段です。物理的にアクセスできれば、誰でもroot操作が可能になります。
そのため、本番環境では以下の対策をおすすめします:
- GRUBにパスワードをかける
- 起動メディアや管理者端末の物理セキュリティを確保する
まとめ
Rocky Linuxでのシングルユーザモードは、システム復旧時の強力なツールです。GRUBメニューを編集して、簡単にrootで最小限のモードに移行できるため、設定ミスや障害発生時には非常に有効です。
特にrootパスワードのリセットやファイルシステム修復などに活用できますが、同時に高い権限を伴うため、セキュリティ管理にも注意が必要です。
トラブル発生時に慌てないように、今回紹介した手順を一度テスト環境で試しておくと安心です。