概要
Ubuntu 16.04 で root ユーザのパスワードを忘れてしまいログインできなくなりました
シングルユーザモードという緊急対応用のモードを使うことで変更できたので紹介します
また、今回の環境は VMware ESXi および vCenter を使った仮想環境上を想定しています
作業は Web Client を使っています
環境
- ESXi 5.5.0
- CPU: Xeon E5-2690 (Sandy Bridge 世代)
- Memory: 400GB
- VMware vCenter Server 5.5.0
- Ubuntu 16.04
BIOS を有効にする
これは必須ではないですが、やっておいたほうが良いです
というのも GRUB の起動画面で ESC を押して GRUB の設定画面に入る必要があるのですが、Ubuntu の起動が非常に早く GRUB 画面に入ることができません
なので、BIOS 画面に入って抜けるときにはもう ESC を押しておくことで GRUB 画面に入るようにします
VM の設定から「VM Options」タブを開き「Force BIOS Setup」のチェックボックスを ON にしておきます
これで VM を起動すると以下のような BIOS の画面になっています
この画面では特に何も設定しません、ただ抜けるだけです
ESC を押すと Exit の画面になるので Enter で抜けます
で、抜けるときに ESC を押しっぱなしにしておきましょう
これを忘れてしまうとわざわざ BIOS 画面にして GRUB の起動画面で ESC を押すという目的が果たせなくなります
GRUB 画面に入る
無事 GRUB の起動画面で ESC を押すことに成功すると以下のような GRUB の設定画面に入ることができます
まずこの画面で「Ubuntu」と書いてる行で「e」を押します
すると GRUB の起動オプションが表示されます
このいろいろと書かれている中に「linux /vmlinux-xxx root=UUID=xxx …」で始まる行を探します
この行の最後に「1」を追記します
これで設定完了なので、この内容を保存して GRUB から OS を起動します
編集画面を抜けるのは「F10」で抜けることができます
起動してパスワードを変更する
無事シングルユーザモードで起動すると以下のような画面になります
一端 Enter を押すとすぐにプロンプトが表示されて root ユーザでログインできた状態になります
そしてこの状態で「passwd」コマンドを実行すると新しいパスワードの入力を求められるので二回入力することで root ユーザのパスワードを変更することができます
動作確認
動作確認は何でも OK です
ターミナルでこのまま reboot -h now して OS を再起動してログインプロンプトが表示されたら変更したパスワードでログインできるか確認しても OK です
SSH でログインできるか確認しても良いと思います
SSH の場合は設定ファイルを編集して root ユーザでのパスワードログインができるようにしておきましょう
- less /etc/ssh/sshd_config
PasswordAuthentication yes
上記になっていれば root ユーザで ssh ログインできるはずです
最後に
Ubuntu 16.04 でシングルユーザモードで root ログインする方法を紹介しました
基本的にはあまりよろしくない緊急時に使う方法になります
通常時の OS 起動がうまくいかない場合などに使うことになると思います
覚えておいて損はない方法なので覚えておくと良いと思います
あと、Ubuntu のバージョンや GRUB のバージョンによって操作方法や設定する方法がだいぶ変わってきます
昔 Ubuntu 10 の時代にもシングルユーザモードを試したことがあったのですが、そのときとはだいぶ操作方法が変わっていたので今後バージョンが上がることで今回紹介した方法ではなくなる可能性が高いのでご注意ください
0 件のコメント:
コメントを投稿