昨日、Nvidia の公式サイトからグラフィック カード (Geforce 8400 GS) のドライバーをインストールしようとしました。
インストール中にPCがクラッシュしました。
再起動すると、使用可能なモニター信号がなくなり、黒い縞とカラフルなピクセルの縞だけが表示されました。
さて、奇妙なのは、再起動後、通常の Windows Vista の起動音が聞こえ、ピクセル化された画面の中でデスクトップの背景とマウス カーソルが認識でき、PC を正常にシャットダウンできたことです。(別のモニターを接続して、モニターの問題ではないことも確認しました。)
ドライバーのインストールに失敗したために何か問題が発生したと思われるため、セーフ モードに入るか、以前の設定を復元しようとしましたが、画面信号が非常に悪く、テキストが表示されず、正しいオプションを選択できません。
要約:グラフィック カードが壊れました。ドライバーの問題だと思います。使用可能なモニター信号がなくてもシステムのデフォルトを復元することは可能ですか?
もう途方に暮れています。どんな助けでも本当にありがたいです!
答え1
コンピュータを再起動し、BIOS POST が終了してから、Windows の読み込み画面が表示される前に F8 キーを押します。メニューが表示されるので、メニューからセーフ モードを選択します。セーフ モードが開いたら、デバイス マネージャーに移動し、ビデオ カードのプロパティを開いて、ドライバーのロールバックに進みます。
もう 1 つのオプションは、セーフ モードに入り、システムの復元を実行することです。これにより、ドライバーをインストールする前の状態にすべてがロールバックされます。
上記のいずれの方法でも動作し、セーフ モードをロードするとデフォルトの VGA ドライバーがロードされるため、新しいドライバーは無視され、問題なく表示されるはずです。
答え2
BIOS画面が見当たらない場合は、ほぼ間違いなくハードウェアの問題だと思います。その場合、あなたの問題を解決するわけではない回答を投稿したいのですが、私は同じ問題に6時間を費やしたので、だったあらゆる修正を無視したドライバー(BIOSとセーフブートは正常に動作しました)。
ドライバーの問題を診断する場合、最初に行うことの 1 つは、Ubuntu LiveCD から起動してハードウェアをテストすることです。私の場合は、起動して問題なく動作したので、今はドライバーに大きく傾いています。セーフ モードで起動し、新しいドライバー、古いドライバー、ロールバックなど、一般的な修正をすべて試します。ある時点でドライバーのインストールが完了したように見えても、「システムが変更されていません」というメッセージが表示されることにほとんど気づきません (私はせっかちで、よく読まないため)。つまり、システムが壊れていて、何かがそれを正常に修復する能力を妨げているのです。
この場合はレジストリのアクセス許可エラーであり、Microsoftのツールによって解決されました。サブInACL.exeこれは次のようなコマンド ファイルで使用されました。
将来の読者の皆さん: もしこれを見つけて、同じような問題に遭遇したら、ただ逃げて試すのではなく、調査し、ブログの投稿を読み、Google で「nvidea subinacl reset permission」と検索して、何が起こっているのか理解してください。私はこれをいくつかのシステムで実行しましたが、更新エラーやインストール エラーは発生せず、悪影響はありませんでしたが、自己責任でお願いします。
@echo off
title Resetting ACLs...
echo.
echo Determine whether we are on an 32 or 64 bit machine
echo.
if "%PROCESSOR_ARCHITECTURE%"=="x86" if "%PROCESSOR_ARCHITEW6432%"=="" goto x86
set ProgramFilesPath=%ProgramFiles(x86)%
goto startResetting
:x86
set ProgramFilesPath=%ProgramFiles%
:startResetting
echo.
cd /d "%ProgramFilesPath%\Windows Resource Kits\Tools"
echo.
echo Resetting ACLs...
echo (this may take several minutes to complete)
echo.
echo IMPORTANT NOTE: For this script to run correctly, you must change
echo the values named YOURUSERNAME to be the Windows user account that
echo you are logged in with.
echo.
echo ==========================================================================
echo.
echo.
subinacl /subkeyreg HKEY_CURRENT_USER /grant=administrators=f /grant=system=f /grant=restricted=r /grant=man=f /setowner=administrators > %temp%\subinacl_output.txt
echo.
echo.
subinacl /keyreg HKEY_CURRENT_USER /grant=administrators=f /grant=system=f /grant=restricted=r /grant=man=f /setowner=administrators >> %temp%\subinacl_output.txt
echo.
echo.
subinacl /subkeyreg HKEY_LOCAL_MACHINE /grant=administrators=f /grant=system=f /grant=users=r /grant=everyone=r /grant=restricted=r /setowner=administrators >> %temp%\subinacl_output.txt
echo.
echo.
subinacl /keyreg HKEY_LOCAL_MACHINE /grant=administrators=f /grant=system=f /grant=users=r /grant=everyone=r /grant=restricted=r /setowner=administrators >> %temp%\subinacl_output.txt
echo.
echo.
subinacl /subkeyreg HKEY_CLASSES_ROOT /grant=administrators=f /grant=system=f /grant=users=r /setowner=administrators >> %temp%\subinacl_output.txt
echo.
echo.
subinacl /keyreg HKEY_CLASSES_ROOT /grant=administrators=f /grant=system=f /grant=users=r /setowner=administrators >> %temp%\subinacl_output.txt
echo.
echo.
echo System Drive...
subinacl /subdirectories %ProgramFilesPath%\ /grant=administrators=f /grant=system=f /grant=users=e >> %temp%\subinacl_output.txt
echo.
echo.
echo Windows Directory...
subinacl /subdirectories %windir%\ /grant=administrators=f /grant=system=f /grant=users=e >> %temp%\subinacl_output.txt
echo.
echo.
echo ==========================================================================
echo.
echo FINISHED.
echo.
echo Press any key to exit . . .
pause >NUL