Linux ライブ CD などの外部ツールを使用せずに、再起動/シャットダウン ボタンが押されたときにシステム ファイルを変更する方法はありますか?
これを実現するためにレジストリ値を変更することを提案する投稿を見つけましたが、残念ながらうまくいきませんでした。 次回の再起動時にシステム ファイルを上書きするように Windows に指示するにはどうすればよいですか?
私は現在のパラメータ内で解決策を見つけることにのみ焦点を当てており、現時点では代替方法を検討するつもりはありません。
編集: 私は、Windows ログインをバイパスする OS に取り組んでいます。そのため、ユーザーが OS を起動すると、Windows がインストールされているパーティションが検索され、SAM ファイルが存在するディレクトリに移動し、「chntpw」を使用してパスワードが削除されます (削除する前に、Windows ファイル システムのルートにバックアップします)。
ここで、タイトルに書かれていることを実行する理由は、バックアップされた SAM ファイルを変更されたファイル (Windows で使用されているファイル) に置き換えて、再起動するとすべてが正常に戻るようにするためです。
答え1
外部ツールや Linux ライブ CD を使用せずに、再起動またはシャットダウン プロセス中にシステム ファイルを直接変更するのは簡単な作業ではありません。システム ファイルは通常、安定性とセキュリティを維持するためにオペレーティング システムによって保護されており、システムの実行中に変更すると予期しない動作が発生する可能性があります。
ただし、次回の再起動時にシステム ファイルを上書きしたい場合は、「PendingFileRenameOperations」という組み込みの Windows 機能を使用できます。この機能を使用すると、次回のシステム起動時に置き換えるファイルを指定できます。
この機能を利用するには、Windows レジストリを変更する必要があります。手順は次のとおりです。
- Windows キー + R を押して、[実行] ダイアログ ボックスを開きます。
- 「regedit」と入力して Enter キーを押すと、レジストリ エディターが開きます。 注記:レジストリの変更は、適切に行われないと予期しない結果を招く可能性があるため、注意して進め、変更を行う前にレジストリのバックアップを作成してください。
- レジストリ エディターで、次のパスに移動します。
HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Session Manager
- 「セッション マネージャー」キーを右クリックし、「新規」を選択して、「複数文字列値」をクリックします。
- 新しく作成された値の名前を「PendingFileRenameOperations」(引用符なし)に変更します。
- 「PendingFileRenameOperations」の値をダブルクリックし、置換するファイル パスを追加します。各ファイル パスは別々の行に入力する必要があります。最初の行はソース ファイル、2 番目の行は宛先ファイルです。例:
追加の行のペアを追加することで、複数のファイルの置換を指定できます。C:\Path\to\source\file.txt C:\Path\to\destination\file.txt
- 変更を保存するには、[OK] をクリックします。
- レジストリ エディターを閉じます。
これらの手順を実行すると、指定したファイルは次回のシステム再起動時に置き換えられます。システム ファイルを変更すると重大な結果を招く可能性があるため、続行する前に注意を払い、重要なファイルのバックアップを取ることが重要です。