chntpw (パスワード リセット)
update 2022-07-31

概要説明

Linux の chntpw コマンドで win10、win11 のローカルアカウント パスワードをリセットする。
win8.1 , win8 , win7 のパスワードもリセットできる。

System-Rescue とはLinuxのRescueツールを集めたLive-CDである。
使用できるパッケージ一覧は「Package included in SystemRescue」サイト参照。
https://www.system-rescue.org/Detailed-packages-list/

System-Rescue と Fedora Xfceで試してみた。
System-Rescue は chntpw 組込み済みである。
Fedoraには chntpw をインストールして使用する。
※どちらも chntpw コマンドの使用方法は同じである。

要点

Windowsのローカルアカウントのパスワードは下記のファイルに記録されている。
C:\Windows\System32\config\SAM
パスワードをリセットするには、このファイルを読み取ってユーザーアカウントのパスワードを消去(クリア)すればいい。



System-Rescue での作業手順

1)
System-Rescue をダウンロードして CD(またはDVD)に書き込む。
System-Rescue ホームページ:https://www.system-rescue.org/
ダウンロードサイト:https://www.system-rescue.org/Download/
ダウンロードファイル:systemrescue-9.99amd64.iso ( 9.99 はversion番号)
※OSDNサイトからのダウンロードとなる。

2) 作成したCD/DVDをセットして CD/DVD 優先起動でPC起動する。
起動メニューが表示されるので「Boot SystemRescue using default options」を選択する。
1_bootmenu.png

3)
root 権限で自動ログインされる。
キーmapを選択するために setkmap と入力すると Keyboard layoutの画面になる。

※startx コマンドを実行すればX-windowのXfce画面になる。(ページ後部の「X-windowのXfce画面」参照)
Xfce画面でターミナルを起動して作業してもいい。
2_loginscreen.png

jp106を選択して「OK」を押す
3_jp106.png

4) 接続しているデバイスのpartitionを確認するために
sfdisk -l と入力する
Windows(UEFIブート)のインストール場所は /dev/sda3 であることが確認できる。(レガシ ブート(MBR)の場合は /dev/sda2のようになる)
※このpartitionに Windows フォルダがある。
4_sfdisk.png

5)
マウントするフォルダを作成する
mkdir /mnt/Microsoft

Windowsパーティション(/dev/sda3)をマウントする
mount /dev/sda3 /mnt/Microsoft/

config フォルダに移る
cd /mnt/Microsoft/Windows/System32/config/

configフォルダの中のSAM databaseの内容(Username)を確認する
chntpw のオプションは chntpw -help 参照。
chntpw -l の意味は list all users in SAM file and exit  である。( SAMファイルのユーザー 一覧を表示する)
chntpw -l SAM
※この例では ADMIN(管理者)であるユーザー名:
user1 を確認できている
5_sam1.png

6) SAM databaseの内容を編集する
編集オプション -i でchntpw を実行する( chntpw -i の意味は Interactive Menu を表示して処理を選択する、ということである)
chntpw -i SAM

編集を行なうので What to do? には 1 を入力する
6_select_edit.png

7) ユーザー番号(RID)を指定
編集するユーザー番号(RID)として 3e9 を入力する(先頭の 0(ゼロ)は入力不要)
7_user_number.png

8) 指定したユーザー情報が表示される
指定したユーザーのパスワードをクリアするので 1 を入力する(Clear (blank) user password)
Password Cleared ! と表示される
8_clear_password.png

9)ユーザーの編集は終了
Select: は q を入力
What to do? は q を入力する
Write hive files? は y を入力する
処理終了なので exit と入力する
9_quit.png

10) PCをシャットダウンさせる。 (または startx コマンドで GUI画面を起動して、シャットダウンしてもいい)
shutdown now
10_shutdown.png

11) PC起動
CD/DVD を抜いてPC起動する。(Windowsを起動する)
ログオン画面で user1 は パスワード無しでログオンできる。

12) パスワードの新規設定

設定/アカウント/サインイン オプション/パスワード で user1 のパスワードを新規に設定する。



X-windowの
Xfce画面
startx.jpg



Fedora Xfce Live CD/DVDでの作業手順
※sudo コマンドで root(superuser)権限で実行する
※chntpwコマンドの使い方は System-Rescueを使用した場合の画面と同じである。
1.
Fedoraを起動してTerminal 画面で作業する。
chntpwをinstallする
sudo dnf install -y chntpw

2.
マウントされているデバイスのpartitionを確認する
sudo sfdisk -l
/dev/sda3 がWindowsをインストールしたパーティションであることを確認できたものとする

マウントするフォルダを作成する
sudo mkdir /mnt/Microsoft

/dev/sda3 をマウントする
sudo mount /dev/sda3 /mnt/Microsoft/

カレントディレクトリをマウント先のフォルダに移す
cd /mnt/Microsoft/ 

/mnt/Microsoft/ フォルダの内容を表示してWindowsフォルダがあることを確認する
ls 

3.
config フォルダに移動する
cd /mnt/Microsoft/Windows/System32/config/

4.
configフォルダの中のSAMの内容(Username)を確認する(Security Account Manager (SAM) database)
sudo chntpw -l SAM

5.
SAM database の内容を編集する
sudo chntpw -i SAM  <-- -i は編集

6.
表示されたメニューの 1(Edit user data and passwords)を入力する

7.
編集するアカウントを指定するために
表示されたアカウント user1 のRIDを入力する
3e9

8.
passwordをクリアするので 1 - Clear(blank) user password を入力する
1 を入力

9.
パスワード クリア処理は終了したので q を入力する

10.
処理終了なので q を入力する

11.
Write hive files? の問いには
y を入力する

12.
処理終了。
exit

13.
shutdown now



参考メモ

CD/DVDの代わりにUSBメモリを作成して作業してもいい。
※ iso ファイルから起動可能なUSBメモリを作成する。

rufus を使用してbootable USBを作成する。
rufus ホームページ: https://rufus.ie/

System-RescueのUSB作成
rufus_rescue_cd.jpg

Fedora XfceのUSB作成
rufus_fedora.jpg


end of list