2012年4月12日木曜日

Ubuntu10.04でシングルユーザーモードでログインする方法

①GRUBメニューに入る
起動時に「ESC」and「Shift」キーを押しぱなしにする
(どうやらUbuntuのバージョンによってGRUB起動が「ESC」か「Shift」で分かれる様子)
(Ubuntuは起動が本当に早いので起動する前から押しておいたほうがいいかもしれません)
②カーネルバージョンが表示される画面(GRUB画面)に入ったらカーソルが一番上にある状態で「e」を押下しエディットモードに入る
(「recovery mode」と記載されていないほうでやる)
③先頭が「linux」で始まる記述があるのを確認する
④その行末の(または行内にあるであろう)「ro」という記述を「rw」にする
⑤④に加えて以下を行末に追加する「linux single init=/bin/sh」
⑥起動する
(おそらく「Ctrl + x」で起動可能)
⑦起動後に「#」と表示されたら「bash」と入力し「root@(none)」と表示されればシングルユーザーモードでもログインが成功している
===============================================
【追記】異なるパターンの場合もある
④はやらないで⑤の記述する内容を「Linux single init=/bin/bash」にするとできる場合もある
カーネルのバージョンの違いかも・・・
ただし
「ro」はReadOnlyの状態でシングルユーザーモードログインしていることになるので
passwdが打てない状態になります(おそらく以下のようなエラーでます)
------------------------------------------------
passwd: Authentication token manipulation error
------------------------------------------------
このエラーが出た場合「pwconv」コマンドで/etc/passwdと/etc/shadowを同期させるのが定石ですが
------------------------------------------------
pwconv: cannot lock /etc/passwd; try again later.
------------------------------------------------
で弾かれるでしょう。これはReadOnlyモードでシングルユーザーモードログインしているため
ロックファイルの操作ができず発生するエラーのようです
こうなるとパスワードの変更もできない状態になるので、パスワードを変更したい場合には
やはり「rw」に書き換えてログインする必要があります
===============================================

passwdコマンドも打てるのでrootのパスワードを忘れてしまった場合も救済可能です

そもそもUbuntuにはリカバリーモードと呼ばれる救済モードがあるのですが、
これを使うときにはどうやらrootのパスワードが必要になるみたいです
rootのパスワードを忘れてしまったり、rootのパスワードを設定していない場合にはリカバリーモードが使用できないので、そんな場合には上記のシングルユーザーモードを使うといいと思います

お試しあれ!


P.S
成功した際のスクリーンショットです


1 件のコメント:

  1. 「ro」という記述を「rw」にする

    助かりました!!

    返信削除