Introduction

備忘録。
root 権限をもったユーザでログインできなくなった場合。
前提として、物理マシンの前にいて、マシンの電源 ON/OFF を実行できること。
Hyper-V でも実施できるので覚えておくと安心。

How to resolve?

Red Hat Enterprise Linux 10.04 で確認。

キー入力ができる状態で電源を ON にし、 ESC キーを連打する。
押しっぱなしだと失敗しやすいので連打が確実。

grub

grub に入ったら、 normal と押下し Enter。
メニューに移行するので、5 秒以内に rescue の文字が 入っていない 項目を選択して e を押下。
(ここで複数のカーネルが入っていると、複数の項目が出現するので適切なカーネルの項目を選択しておく)

grub menu

linux から始まる行の末尾 (この場合 rhgb quiet の直後) に rw init=/bin/bash を追記。

edit parameter

下記のようになる。

modified

Ctrl+X を押下して起動。
root としてログインされる。

root

passwd コマンドで任意のユーザのパスワードを変更する。

次に、touch /.autorelabel と入力し、Enter。
これを実行して再起動しないと、GUI が起動した際、ログイン画面が表示されず、下記のような RHEL のセットアップが始まってしまう。

setup

touch /.autorelabel を実行したら、あとは /sbin/reboot -f で再起動。

これで正常に再起動がかかり、ログイン画面が表示され、新しいパスワードでログインできる。