Windowsシステム関連の不具合

だいたいWin7かWin10で調子が悪くなったときにやること。不具合対策と動作を軽くする内容が混ざっていて、あまり意味がないのも書いてあるので注意。

・リモートなどでセーフモード再起動する場合
shutdown /r /t 0
r:再起動、s:シャットダウン

・UEFI設定/BIOS起動

スタートメニュー>設定>更新とセキュリティ>回復>今すぐ再起動>トラブルシューティング>詳細オプション>UEFIファームウェアの設定>再起動

・ユーザー確認
net user
net user xxx

・エラーがでていないか全て目を通す。
eventvwr

・管理イベントにトランザクション関連のエラーが出ている場合。

$TxfLogはトランザクションリソースマネージャーで管理されたトランザクションログ。

$TxfLogのリセット
fsutil resource setautoreset true c:\

・デフラグ、エラーチェック。
ドライブ右クリック>ツール>エラーチェック
ドライブ右クリック>ツール>最適化
ドライブ右クリック>全般>ディスクのクリーンアップ

Win標準のデフラグツール+Win10ならSSDもOK。
不要ならデフラグのスケジュールを止める。

・エラーチェック

cmdから
(Win7まで)chkdsk /f
のみ

(Win10)chkdsk /scan
を実行しオフラインを要求されたら
chkdsk /spotfix
それでもだめなら
chkdsk /f
を実行する。

・contig
contig -s c:\*.dll
contig -s c:\*.exe

・ファイルシステム
sfc /scannow (不整合)
(Win10のみ)dism /online /cleanup-image /restorehealth (破損)

sfcのログ
findstr /c:”[SR]” %windir%\Logs\CBS\CBS.log > “%userprofile%\Desktop\1.txt”

・休止状態を使わないなら
powercfg.exe /hibernate off

powercfg.exe /aで確認できる。電源落ちたらoff > ofする

・とりあえず標準のトラブルシューティングで確認するのもあり

コントロールパネル>トラブルシューティング>すべてのカテゴリ
詳細をクリックすると自動修復のチェックを外せる。

ハードウェアとデバイス、ネットワークアダプター等意外と問題が見つかることも多い。

・更新プログラムの確認

(win7)wuapp>更新履歴の表示
(win10)設定>更新とセキュリティ>更新の履歴を表示する

・スタートアップ止める
msconfig
shell:startup
shell:common startup
またはccleaner等
(Win10)設定>プライバシ>バックグランドアプリ

・サービス止める
msconfig
services.msc

使わないならWidowsSearch等。
Prefetchを停止するなら、Prefetchフォルダの中も削除。
無闇に止めると動かない機能もあるので注意。

・ツールで一時ファイル消す
ccleaner等

・taskschd.msc

適当に様子みつつ停止する。

WinSAT(システム評価ツール)
ConfigNotification(Windowsバックアップ構成)
Microsoft Compatibility Appraiser(情報収集)
RacTask(信頼性モニタ)
以下カスタマー エクスペリエンス系
ProgramDataUpdater
AitAgent
Proxy
Consolidator
KernelCeipTask
UsbCeip

・IE
設定をリセットする。
履歴を削除する。
終了時に履歴を消す。

・sysdm.cpl > 詳細設定 > パフォーマンスオプション
視覚効果はパフォーマンスを優先し最低限のみ残す
詳細設定>仮想メモリをシステム管理サイズへ。メモリが十分な場合、ページングファイルなし

・optionalfeatures

不要な機能を止める。

・(Win7)control>Windows Defender
自動スキャンとリアルタイムを止める。

・control>インデックスオプション
再構築。一時停止。

・(Win7)control>アクションセンター
・(Win10)control>セキュリティとメンテナンス

不要なら通知やメンテナンスを止める。
感覚的にはデフラグで快適になることも多い。

・control>トラブルシューティング>設定の変更
一つ上と同じ設定を開く。

・ネットワークプロファイル

Win10設定>ネットワークとインターネット>状態>接続プロパティの変更

・ネットワーク探索が有効にできない/ネットワークに表示されない

services.msc
から、
Function Discovery Resource Publication
Function Discovery Provider Host
Network Connections
UPnP Device Host
Peer Name Resolution Protocol
Peer Networking Grouping
Peer Networking Identity Manager
SSDP Discovery
DNS Client
あたりを様子を見ながら有効化

control>ネットワークと共有センター>共有の詳細設定>プライベート>ネットワーク探索>ネットワーク探索
を有効にする。

NetBIOSで認識する古いNAS等は
optionalfeatures
から、SMB1.0が有効かどうか確認。ちなみに、昔はNetBIOSのみだったが、現在はWSD、SSDP、UPnPなど複数存在する。

ncpa.cpl>プロパティ
に表示される、Link-Layer Topology Discovery xxxxもLLTDで過去にネットワークマップを作るため使っていたプロトコル。また、LLDPも同じように探索に使われるプロトコル。両方とも無効で問題なし。

nbtstat -A <IPアドレス>
にて表示されないPC対象に実行するとすぐに表示される場合もある。

このとき..__MSBROWSE__.と表示されるPCはマスターブラウザといってネットワークに表示される情報を管理しているPCであり、net viewで一覧を取得するときにも利用されている。マスターブラウザはサービスのComputer Browserで有効化できる。

・DNSとNetBiosのキャッシュクリア

ipconfig /flushdns
nbtstat -R

ちなみにnbtstatでIP/ホスト名を調べる場合

nbtstat -R
nbtstat -a Host名 / nbtstat -A IPアドレス
nbtstat -c

・タスクトレイを再構築
HKEY_CURRENT_USER\Software\Classes\LocalSettings\Software\Microsoft\Windows\CurrentVersion\TrayNotify
IconStreams、PastIconsStreamの2つのキーを削除してexplorer.exe を再起動。

・WindowsUpdate、SoftwareDistribution関連

%SystemRoot%\SoftwareDistribution
フォルダをセキュリティソフトの監視対象から外す

アップデートで上手くいかない場合は、wuauserv等を止めてSoftwareDistributionをクリアする。

・アイコンキャッシュ
del /a C:\Users\s.okamura\AppData\Local\IconCache.db
一度消して再起動する。

・フォントキャッシュ
C:\Windows\System32\FNTCACHE.DAT
削除する

・powercfg.cpl
プロセッサの状態を上げる。

・Excel
バックグラウンドのエラーチェック、オートコレクトを止める。
不要アドイン解除

シート自体が遅いとき、
見えないオブジェクト削除
編集>ジャンプ>セル選択>オブジェクト

未使用の行を削除。
スクロールバーを見て判断
Ctrl+Endで判断

・control>デバイスとプリンター
不要デバイス削除

・ncpa.cpl
Qosと、Link-Layerの2つを止める。

・RWIN値設定(受信ウィンドウ自動チューニングレベル)
netsh interface tcp show global(確認用)
netsh interface tcp set global autotuninglevel=highlyrestricted

・DHCP再取得
ipconfig /release
ipconfig /renew

・Nic初期化
netsh interface ip reset c:\aaa.log

・Socket初期化
netsh winsock reset

・SNP停止
netsh interface tcp show global (確認用)
netsh int tcp set global rss=disabled
netsh int tcp set global chimny=disabled
netsh int tcp set global netdma=disabled

RSS, TCP Chimney Offload, NetDMAの3つでSNPといい、ネットワーク負荷を分散させる技術。Win10の場合RSSのみ既定値で有効になっている。

・DNS切替

優先DNSサーバ:8.8.8.8
代替DNSサーバ:8.8.4.4

・ドライバー更新

上記やってもダメな場合、ドライバー更新
ディスプレイとネットワーク関連を先ず最新にする。

・Flashが問題のとき

これも意外と多い。もう必要性も少ないのでFlashに関連するものは全て捨てる。

・レンダリングが問題のとき

数台FujitsuのPCで異常に重くなったことがあって、ドライバー類を最新にしてもダメで、ソフト側のレンダリングを止めることで改善した。

Acrobat Reader
>編集
>環境設定
>3Dとマルチメディア
>レンダラーオプション
>優先的に利用するレンダラー
>ソフトウェア
に変更する。
>従来のビデオカードでハードウェアレンダリングを有効にする
チェックを外す。

PDF-XChange Viewer等に変更してしまうのも手。

Internet Explorer
>ツール
>インターネットオプション
>詳細設定
>GPUレンダリングではなくソフトウェアレンダリングを使用する。

Chromeにもある。

Excel
>ファイル
>オプション
>詳細設定
>ハードウェアグラフィックアクセラレータを無効にする
チェックする。

・NICの設定

基本的に変更しなくても大丈夫だけど接続が不安定なときに一応確認。

・WOLとシャットダウンリンク:速度低下ではない
Wake On LANの待機状態でリンク速度を落とす

・ウェイク・オン・パターンマッチ:無効

・IPv4チェックサムオフロード:無効
パケットがビット化け等によって破壊されているか検査する。

・ARPオフロード:無効
ネットワークアダプターがコンピュータのスリープ状態を解除せずに
IPv4 ARP 要求に応答する機能

・NSオフロード:無効
ネットワークアダプターがコンピュータのスリープ状態を解除せずに
近隣アドバタイズによって近隣探索近隣要請要求に応答する機能です。

・TCP/UDPチェックサムオフロード:無効
ネットワークアダプターが送信及び受信時にチェックサムを計算する機能

・一括送信オフロード:無効
NICが送信するデータを分割処理をする。

・PTP Hardware Timestamp:無効
ネットワーク内のデバイスの時刻を高精度で同期する

・RSSキューの最大値:1キューにする
受信したデータ処理を他のCPUに何回まで回せるか

・超低消費電力:無効
・グリーンイーサネット:無効
・省電力型イーサネット:無効
(Energy Efficient Ethernet)

・自動無効ギガビット:無効

・リンクステート イベントのログ:無効
ログを確認する必要が無ければオフ

・受信側スケーリング:無効
複数のCPUコアに処理を分散させる機能。
分散させると効率が下がる。CPUに余裕があるならば無効。

・割り込み加減:無効
CPUの負荷を下げる機能。CPUに余裕があるならば無効。

・受信バッファ/送信バッファ:2048/2048
バッファ領域。メモリに余裕がある場合は大きくすると良い

・PMEをオンにする(Power Manegement Event):無効
・Wake on Link / Wake On Magic Packet / Wake on Pattern Match:無効

・パケット優先度とVLAN(Packet Priority & VLAN):VLAN無効
パケット優先度などの分散処理をNICに処理させる

・802.3az:無効
有線LANの省エネ機能

・フロー制御/FlowControl:有効
通信相手と速度を合わせる、受信側が遅い場合は高速で送ろうとしないようにする※Rx=受信パケット, Tx=伝送パケット

・速度とデュプレックス/スピードと二重化(Speed&Duplex)
自動ネゴシエーション → 1.0 Gbps フルデュプレックス
自動ネゴシエーションだと稀に遅い速度で接続することがある

・ジャンボフレーム/ジャンボパケット:9KB MTU
一度の通信で送受信する最大サイズ

.NET Core SDK アンインストール

https://github.com/dotnet/cli-lab/releases
からインストールし、
dotnet-core-uninstall remove –all –sdk
を実行。