Raspberry Pi上のUbuntu Serverでログインパスワードをリセットしたい


Raspberry Pi４上でUbuntu Serverを使っているのですが、ログインパスワードを紛失してしまいました。  
rootも有効にしていたと思うのですが、rootのパスワードもわかりません。

どのようにパスワードをリセットすればいいのでしょうか?

x64であればGRUBやsystemd-bootのところでシェルを起動するようにすればいいのですが、Raspberry Piではどうすればいいのでしょうか?

ディスク暗号化などは行われていません。

また、GUIはインストールされていません。




私が実際に試した方法ではありませんが、少し調べると以下のような方法があるようです。

* * *

### 方法1

RasPi がインストールされた SD カードを別の Linux でマウントし、`/etc/shadow`
から該当ユーザーのパスワードを削除してしまう方法があります。  
(Windows からだとこの方法は使えないかもしれません)

[How do I reset the lost password of a Pi 4 running Ubuntu
server?](https://raspberrypi.stackexchange.com/a/137454/95039)

`/etc/shadow` は `:` 区切りで、2列目がパスワードになります。

[「/etc/shadow」ファイル](https://linuc.org/study/knowledge/510/)

### 方法2

SD カードを別のマシンでマウントし、SD カードの直下にある `cmdline.txt`
を編集することでシングルユーザーモードで起動することができるので、この状態でパスワードの再設定 (リセット) を行うことができます。

正常にリセットできた場合には、`cmdline.txt` の内容を元に戻して通常起動に切り替えるのを忘れずに。

[PaspberryPi3のUbuntuでログインパスワードを忘れたときのお話](https://ochanjanai.net/it/301)

> 編集する内容は、末尾に以下のコードを追加します。末尾というか行末？
[code]

>     rw init=/bin/sh
>  
[/code]

>
> (中略)
>
> microSDカードをラズパイに挿して起動します。  
>  しばらくログが流れますが、ログの流れるのが停止したらEnterキーでも押すとコマンドを入力するプロンプトが表示されます。  
>  ここで `su` コマンドを実行するとrootになれます。  
>  あとは `passwd` コマンドでrootのパスワードの変更してください。

