%windir% を解決できません / %path% を変更できません、または起動時に %path% がリセットされます

%windir% を解決できません / %path% を変更できません、または起動時に %path% がリセットされます

この問題がどのように進展したかについては、以下のアップデート3と4を参照してください。


私のコンピューター (Windows 7 x64、Lenovo Thinkpad T530) で %windir% の解決に問題が発生しています。起動後はすべて正常に動作します。しばらくすると、コンピューターが突然 %windir% を解決できなくなります。

コンソールウィンドウ

環境変数ウィンドウを確認すると、定義されていることがわかります。

環境変数

レジストリを確認すると、これも定義されていることがわかります。私は実際にキーを削除して再入力しました無駄に。

レジストリ

再起動後、しばらくの間はすべて正常に動作します。他に確認すべき点について何かご意見はありますか?


アップデート1: 少し考えた後、この問題が起こり始めた頃にインストールされていた Konica Minolta Pagebox ドライバー/プログラムをアンインストールしました (以下のコメントを参照)。この問題が現れるまでに 4 ~ 24 時間 (時間を計ったことはありません) かかるようですので、その後再度更新します。

アップデート2: 問題は依然として発生しています。昼食から戻ってきたのですが、%windir% が見つかりません。今朝再起動後にテストを行い、コンピューターをスリープ状態にしてから起動しました。起動後も %windir% は定義されていました。

アップデート3: コメントのダニエルの通り、setエラーの前後で実行し、出力を比較しました。最初に気づいたのは、新規起動時に%path% は 2000 文字以上ですそれを約 375 文字に切り詰め、新しいコマンド ウィンドウで確認しました。再起動してパスを再度確認すると、2000 文字以上に戻っていました (最初に見たものと一致しました)。もう一度切り詰めて再起動しましたが、同じことが起こりました。パス変数を削除して新しいものを作成しましたが、同じことが起こりました。この時点で、パスを永続的に変更できないか、起動時に何らかのプロセスによってパスがリセットされているかのどちらかであると結論付けることができます。何か考えはありますか?

アップデート4: 以下に提案されているレジストリ メソッドを使用してパスを編集しました。しばらく実行した後、今日パスを確認したところ、レジストリに入力したものより大きくなっていました。いくつかの新しいエントリと多くの重複があります。新しいエントリは SQL Server 2012 からのエントリのみです。レジストリでこれを変更しようとしましたが、レジストリが の出力と一致しないことに気付きましたecho %path%。[詳細プロパティ] タブから環境変数を確認すると、パスの 3 番目のバージョンが表示されます。

Registry Path:
C:\Program Files (x86)\Microchip\mplabc30\v3.30\bin;
C:\RUBY193\BIN;
C:\Windows\SYSTEM32;
C:\Windows;
C:\Windows\SYSTEM32\WBEM;
C:\PROGRAM FILES\COMMON FILES\LENOVO;
C:\SWTOOLS\READYAPPS;
C:\PROGRAM FILES (X86)\COMMON FILES\LENOVO;
C:\PROGRAM FILES (X86)\MICROCHIP\MPLAB C32 SUITE\BIN;
C:\HTSOFT\PIC18\BIN;
C:\PROGRAM FILES\TORTOISESVN\BIN;
C:\Windows\System32\WindowsPowerShell\v1.0\;
C:\Program Files (x86)\Microsoft SQL Server\110\Tools\Binn\ManagementStudio\;
C:\Program Files (x86)\Microsoft SQL Server\110\Tools\Binn\;
C:\Program Files\Microsoft SQL Server\110\Tools\Binn\;
C:\Program Files (x86)\Microsoft SQL Server\110\DTS\Binn\;

Command Line path:
C:\Program Files (x86)\Microchip\mplabc30\v3.30\bin;
C:\RUBY193\BIN;
C:\Windows\SYSTEM32;
C:\Windows;
C:\Windows\SYSTEM32\WBEM;
C:\PROGRAM FILES\COMMON FILES\LENOVO;
C:\SWTOOLS\READYAPPS;
C:\PROGRAM FILES (X86)\COMMON FILES\LENOVO;
C:\PROGRAM FILES (X86)\MICROCHIP\MPLAB C32 SUITE\BIN;
C:\HTSOFT\PIC18\BIN;
C:\PROGRAM FILES\TORTOISESVN\BIN;
C:\Windows\System32\WindowsPowerShell\v1.0\;
C:\Program Files (x86)\Microsoft SQL Server\110\Tools\Binn\ManagementStudio\;
C:\Program Files (x86)\Microsoft SQL Server\110\Tools\Binn\;
C:\Program Files\Microsoft SQL Server\110\Tools\Binn\;
C:\Program Files (x86)\Microsoft SQL Server\110\DTS\Binn\;
C:\Program Files(x86)\Microchip\mplabc30\v3.30\bin;
C:\RUBY193\BIN;
C:\Windows\SYSTEM32;
C:\Windows;
C:\Windows\SYSTEM32\WBEM;
C:\PROGRAM FILES\COMMON FILES\LENOVO;
C:\SWTOOLS\READYAPPS;
C:\PROGRAM FILES (X86)\COMMON FILES\LENOVO;
C:\PROGRAM FILES (X86)\MICROCHIP\MPLAB C32 SUITE\BIN;
C:\HTSOFT\PIC18\BIN;
C:\PROGRAM FILES\TORTOISESVN\BIN;
C:\Windows\System32\WindowsPowerShell\v1.0\;

Environment Variables path:
C:\Program Files (x86)\Microchip\mplabc30\v3.30\bin;
C:\RUBY193\BIN;
C:\Windows\SYSTEM32;
C:\Windows;
C:\Windows\SYSTEM32\WBEM;
C:\PROGRAM FILES\COMMON FILES\LENOVO;
C:\SWTOOLS\READYAPPS;
C:\PROGRAM FILES (X86)\COMMON FILES\LENOVO;
C:\PROGRAM FILES (X86)\MICROCHIP\MPLAB C32 SUITE\BIN;
C:\HTSOFT\PIC18\BIN;
C:\PROGRAM FILES\TORTOISESVN\BIN;
C:\Windows\System32\WindowsPowerShell\v1.0\;

どうやら、コマンドラインパス=レジストリパス+環境変数パスレジストリ パスと環境変数パスを同じに設定して再起動してみました。再起動後、パスが 2 倍になり、基本的には上記のレジストリ パスの 2 つの連続したコピーになります。

もう一度、何かご意見はありますか?

アップデート5:IT マネージャーと話をしたところ、別のコンピューターで同様の問題に取り組んでいるとのことでした。両方のコンピューターに SSD が搭載されています (唯一の共通点のようです)。これは関係があるかもしれませんし、そうでないかもしれません。

答え1

私も同じ問題を抱えていて、最初にこの質問を見つけました。ただし、この質問では実際の原因/解決策はまだ言及されていませんが、ここには言及されています:Windows 7のPATHと環境変数が破損しています

解決策の概要: パスが 2048 文字未満であることを確認します。ユーザー変数とシステム変数の両方を確認します。

答え2

GUIで設定する%windir%可変コンテンツ%システムルート%

%path% に関しては、レジストリ エディターで解決できます。

  • Regedit.exeを起動します
  • へ移動HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Session Manager\Environment
  • 右側のペインで、値をダブルクリックしますPath (REG_EXPAND_SZ)
  • 好きなように値を変更して再起動します

ここに画像の説明を入力してください

答え3

私もLenovo TS530で同じ問題を抱えていました。新しいプログラムをインストールした後に発生し始めました。パス以前よりもさらに長くなり、インストーラーは新しいものを冒頭に追加しました。パス定義を編集しました。パス登録%SystemRoot% をパス定義の先頭に移動します。

path = %SystemRoot%\system32;%SystemRoot%;%SystemRoot....

さらに環境変数を編集しましたウィンディールから

windir= C:/Windows

windir=C:\Windows

これで問題は解決したようです。(問題を修正しようとしたときに、バックスラッシュを間違えた可能性があります。または、インストーラーがそれを変更した可能性があります。)

答え4

@Pieter-Jan Busschaert がすでに述べたように、環境変数が破損しているか長すぎることが原因である可能性が最も高いですPATH

これを修正する最も簡単な方法は、高速環境エディター設定の何が問題なのかが表示されPATH、すぐに修正できます。

関連情報