はじめに

長らく使ってきたラズパイが急に起動しなくなり,急遽前にとっておいたバックアップ用イメージを引っ張り出してくることとなりました.ただそのラズパイのスーパユーザのパスワードが記録されていたものと異なってしまっていたようで,ログインできなくなりました.そこで行った設定についてここでは説明します.

環境

  • 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 /

これ以外は上記の手順でうまくいきました.