わすれなぐさ

自称情報ブログ・備忘録

タグ:Windows10

最近PCが不調なのでいろいろと調べていたところ、Windows 10の「高速スタートアップ」が不具合の原因になる可能性があるらしいという記述を見つけたため、高速スタートアップを無効にするためにPCをセーフモードで起動しました。(当時はPCの通常起動ができなかったため、仕方なくセーフモードにしました)

高速スタートアップを無効にするには、「コントロールパネル」→「システムとセキュリティ」→「電源オプション」→左側の「電源ボタンの動作を選択する」で、「現在利用可能ではない設定を変更します」をクリックし、「高速スタートアップを有効にする (推奨)」のチェックを外せばよいとのことでしたが、私のPCではセーフモードでその項目を発見することはできませんでした

その項目を表示するにはどうすればいいのか検索したところ、「休止状態」をオンにする必要があるという記述を見つけたのでその通り実行しましたが、結局セーフモードの起動中にその項目が現れることはありませんでした。

セーフモードをやめて、なんとかPCを通常起動させたところ「高速スタートアップを有効にする」の項目が現れました
 

Windows10で外付けHDDが認識されず、PCにデバイスが表示されない場合の対処法です。Windows7やWindows8でも同様です。

デバイスマネージャーからドライバーを削除する

① デスクトップ左下の検索欄に「デバイスマネージャー」と入力して「デバイス マネージャー」を開きます。

device manager

② うまく認識できないHDDを探してください。上の画像では「Sony Hard Drive USB Device」がうまく認識できていない外付けHDDです。

③ その外付けHDDを右クリックして「削除(U)」をクリックします。

④ 外付けHDDのUSBを抜いて挿し直します。すると先程削除したドライバーが再度インストールされ、うまくいけば外付けHDDが正常に認識されます。

⑤ うまくいかないようであれば、今度はデバイスマネージャーで「USB 大容量記憶装置」を「削除(U)」してから、USBを挿し直してください。

ダメな場合

だいたい上の方法で直るのですが、そうでない場合は外付けHDDのパーティションに問題があるか、ドライブレターの割り当てがうまくいっていない場合があります。別のウェブサイトで調べてください(丸投げ)

Windows 7が勝手にスリープ解除される問題の解決法を記載します。この記事で取り扱うのは「スリープしてから10分後にPCが勝手に起動する」という症状の問題です。それ以外の症状の場合、この記事の内容は参考にならないと思います。

今回の問題はWindows Update(特にWindows 10への無料アップデート)が絡んでいます。

解決策

この問題を解決するに当たって以下の記事を大いに参考にしました。併せてご覧ください。
 「Windows 10」、予約しなくても約6GBのファイルを自動ダウンロード(回避方法あり) - ITmedia ニュース

では、実際に私が行った解決策を紹介します。

① まず、OSのあるドライブ(Cドライブ)に「$WINDOWS.~BT」と「$Windows.~WS」があれば削除します。(※隠しフォルダを表示する設定にしないと見えません。設定方法は、エクスプローラー上部の「ツール(T)」→「フォルダーオプション(O)...」→「表示」タブで「隠しファイル、隠しフォルダー、および隠しドライブを表示する」にチェック。)私の場合は「$WINDOWS.~BT」しかありませんでしたので、それだけ削除しました。

※もしかするとこの作業だけで既にスリープ復帰問題が解決したかもしれません(すみません、確認できていません)。一度PCを再起動してから、試しにスリープさせてみて、10分後に起動してしまうかどうか確認することをお勧めします。

② 「コントロールパネル」→「プログラムのアンインストール」→「インストールされた更新プログラムを表示」を開き、問題を引き起こした可能性のある更新プログラムをアンインストールします。私は、上記の参考URLに記載されている更新プログラムのうち最近インストールされたものを選んでアンインストールしました(具体的には、KB3035583、KB3102429、KB3123862)。アンインストールしたら、一度PCを再起動してください。

③ 「コントロールパネル」→「システムとセキュリティ」→「Windows Update」で「更新プログラムの確認」をクリックすると、先程アンインストールした更新プログラムが現れます。「…更新プログラムが利用可能です」の文字をクリックして、各更新プログラムを右クリック→「更新プログラムの非表示(H)」をクリックしてください。そうすればこれらの更新プログラムが自動的に適用されることが無くなります。

以上を行った結果、私のPCではスリープ復帰問題を解決することができました。皆さんの問題も解決できたなら幸いです。

【2016/9/21 記事更新】

win10 directx error unfocused

Windows 8.1やWindows 10ではBF3を起動しようとすると「DirectX Error」が発生するようです。もしかするとBF4やWindows 7でもこのエラーが発生するかもしれません。この記事ではその「DirectX Error」の解決方法をいくつか紹介します。私のWindows 10では解決策3または4を実行することでBF3をプレイできるようになりました。

※ファイルの拡張子は表示する設定にしておいてください。エクスプローラー上部の「表示」→「ファイル名拡張子」にチェックを入れてください。

解決策1 BF3の互換性設定を変更する

Windows 7ならこの設定で直るかもしれません。

① 「bf3.exe」を探す
BF3のインストール先フォルダ内にあります。ほとんどの人は「C:\Program Files (x86)\Origin Games\Battlefield 3」内にあるはずです。

② 「bf3.exe」を右クリック→「プロパティ」

③ 「互換性」タブで「互換モードでこのプログラムを実行する」にチェック→「Windows Vista (Service Pack 2)」を選ぶ

④ 「OK」

起動できなければ互換性設定は元に戻して大丈夫です。

解決策2 DirectXとVisual Cを再インストールする

あまり効果が無さそうです。飛ばしていただいて構いません。

① DirectXの再インストール
「Battlefield 3\__Installer\directx\redist」内の「DXSETUP.exe」を実行します。

② Visual Cの再インストール
「Battlefield 3\__Installer\vc\vc***\redist」内の「vcredist_x64.exe」を実行します。

解決策3 BF3のバイナリファイルを書き換える

BF3のバイナリファイルを1箇所書き換えることで遊べるようになる場合があります。この方法は成功例が多く報告されています。私もこの方法で解決し、マルチプレイも含めて問題無く遊べましたが、もしかするとバイナリ書き換えがチートと判断されてキックされるかもしれません。キャンペーンだけなら遊べると思います。

バイナリを書き換える方法は2つあって、ひとつは有志制作のツールを使う方法(A)、もうひとつはバイナリエディタを使って自分で書き換える方法(B)です。ツールを使う方が簡便で良いと思います。ただしそのツールに悪意が無いとは保証できないので、バイナリエディタを使った方が安心かもしれません。

方法A ツールを使って自動で書き換える
① 次のページの下の方の「BFExeFix.exe (16 kB - downloaded ***** times.)」をクリックしてダウンロード
Patch program for Battlefield3/4 DirectX Error (CreateSwapChain)

② ダウンロードした「BFExeFix.exe」をダブルクリックして実行

win10 directx error bfexefix

③ 「Find bf3.exe (Battlefiled 3)」をクリックすると「File Path:」が自動で書き込まれます。書き込まれなかった場合は「bf3.exe」のファイルパスを自力で探してください。

④ 「Perform Patch」をクリックするとバイナリが書き換えられます。同時に、バイナリ書き換え前のファイルが「bf3.exe.backup」という名前でバックアップされます。

方法B バイナリエディタを使って手動で書き換える
バイナリエディタで「bf3.exe」のアドレス「01C6AE71」を「99」→「00」に書き換えます。バイナリを下手に弄るとBF3が起動しなくなる可能性があるので注意してください。詳しい手順は以下の通りです。

① 初めにバックアップを作成しておきます。「bf3.exe」をコピーして「bf3.exe.backup」という名前にしてください。

② 次のサイトからStirlingをダウンロード
→ Stirlingの詳細情報 : Vector ソフトを探す!

③ ダウンロードされたファイル(.lzh)を右クリック→「すべて展開(T)...」→「展開(E)」

④ 展開されたフォルダ(stir131)内の「Stirling.exe」を実行

⑤ 「bf3.exe」を画面内にドラッグ&ドロップするなどして開く

⑥ メニューバーの「検索・移動(S)」→「指定アドレスへ移動(J)...」

⑦ 「01C6AE71」と入力(コピペ)して「OK」

⑧ 「00」と入力

⑨ メニューバーの「ファイル(F)」→「上書き保存(S)」して、Stirlingを終了する

解決策3.1 サーバーからキックされたら
マルチプレイでサーバーからキックされ以下のようなエラーが表示された場合は、PunkBusterを再インストールしてみるか、それでもダメなら書き換えたバイナリファイルを元に戻す必要があります。PunkBusterとは、プレイヤー全員が導入必須のチート対策プログラムです。
エラーゲームが切断されました:PunkBusterからキックされました。提示された理由:PunkBuster kicked player '******' (for 0 minutes) ... RESTRICTION: Corrupted File/Memory [98080837]

まずはPunkBusterの再インストールを試してみます。

① フォルダ「Battlefield 3」内にある「pbsvc.exe」を実行
② 「Install/Re-Install PunkBuster Service」にチェックされていることを確認して「Next」
③ 同意する場合は「I Agree」をクリック
④ 「Next」が押せるようになったらクリック
⑤ しばらく待って「Tests completed successfully without error.」と表示されたら「OK」
⑥ 「Finish」

これでもサーバーからキックされるようなら、バイナリファイルを元に戻す必要があります。「bf3.exe」を削除してから、「bf3.exe.backup」を「bf3.exe」という名前に変えてください。

解決策4 Windowsのシステムロケールを変更する

Windowsのシステムロケールを変更します。この方法でほとんどの人はBF3を遊べるようになりますが、他のアプリケーションの動作に支障を来す可能性があります(日本限定のゲームが起動しなくなる、文字化けする、等)。

① デスクトップ画面左下で右クリック→「コントロールパネル」を開く

② 「時計、言語、および地域」→「地域」をクリック

③ 「管理」タブで「システム ロケールの変更(C)...」をクリック

④ システムロケールを「英語 (米国)」に変更して「OK」

変更を適用するには再起動してください。

解決策5 AppLocaleを使ってOriginを起動する

2015/2/4 コメントを頂いたので解決策5を追加しました。
BF3 Windows8.1 DirectXエラーをAppLocaleで回避する方法:曹瑜のブロマガ - ブロマガ


MicrosoftからのAppLocaleの提供は終了しました。WebArchiveからであればダウンロード可能ですが、私のWindows 10ではAppLocaleを使ってもBF3を起動できませんでした。

参考


Ads

このページのトップヘ