はじめに
長らく使ってきたラズパイが急に起動しなくなり,急遽前にとっておいたバックアップ用イメージを引っ張り出してくることとなりました.ただそのラズパイのスーパユーザのパスワードが記録されていたものと異なってしまっていたようで,ログインできなくなりました.そこで行った設定についてここでは説明します.
環境
- OS: Raspberry Pi OS Stretch
- Hardware: Raspberry Pi 3 B+
行ったこと
基本的にこちらにかかれた手順を実行しました.ただこのまま行うといくつかのハマりポイントがあったため,ここに備忘録を残しておきます.下に示す手順は先ほどのサイトにかかれていたものの原文です.
1.ラズパイに挿入しているSDカードを抜いて、他のデバイス(WindowsやMacなど)に接続します。
2.SDカード内にある「cmdline.txt」をテキストエディタで開きます。
3.すると以下のような記述があるので、その末尾に「init=/bin/sh」を追加します。
dwc_otg.lpm_enable=0 console=serial0,115200 console=tty1 root=PARTUUID=04ceb741-02 rootfstype=ext4 elevator=deadline fsck.repair=yes rootwait init=/bin/sh
改行せずにスペースを入れて追加してください。
4.cmdline.txtファイルを保存して、再びラズパイに挿入して電源を入れます。(ラズパイはモニターをつないでください)
5.するとラズパイはCLIで起動します。
6.プロンプトが表示されるのでそこで「mount -o remount, rw /」を入力してください。「mount -rw -o remount /」でもOKです。
7.そして「passwd pi」を入力して新しいパスワードを設定します。
8.そして「sync」を入力します。
9.最後に「exec /sbin/init」を入力します。
10.これでパスワード設定は終了なので、ラズパイをシャットダウンします。
11.再びSDカードを抜いて、他のデバイスで「cmdline.txt」を編集し、先程追加した「init=/bin/sh」を削除します。
上記手順でハマったのが6番の手順です.この通りに実行しても次のようなエラーが発生します.
Can't find PARTUUID=eb55478c-02
結論としては,次のように書けばOKでした.
mount -o remount,rw /dev/mmcblk0p2 /
これ以外は上記の手順でうまくいきました.