
私は自宅のネットワークに QNAP サーバーを所有しており、NFS を使用して Windows-7x64 にいくつかのフォルダーをマップしています。サーバーの電源を切る (またはネットワークから切断する) 場合を除いて、これは完全に機能します。サーバーが利用できない場合、パスワードを入力して Enter キーを押すまで Windows は正常に起動しますが、その時点では KSOD 状態のままで何もしていないように見えます。
に基づくこの質問セーフ モードで起動し、マップされたドライブを「切断」すると、以前とまったく同じように通常モードに戻りました。
私が知りたいのは、サーバーが利用できないときにドライブをマップしたまま Windows を起動するにはどうすればよいかということです。または、それができない場合は、どこで調べるのが最善でしょうか。
答え1
おそらくデスクトップの起動は完了しますが、エクスプローラーの読み込みが完了する前に、マップされた各ドライブのタイムアウト期間が経過するのを待つ必要があるため、しばらく時間がかかります。
この Ask Leo ブログエントリには、これに関する有益な情報がたくさんあります。Windows エクスプローラーの表示に時間がかかることがあるのはなぜですか?
必要なドライブをマップするバッチ ファイルを作成することもできますが、ログオフ時に強制終了されるように、マップが「永続的に」設定されていないことを確認してください。次に起動すると、エクスプローラーがすばやく読み込まれ (マップなし)、ドライブが必要な場合は、バッチ ファイルを実行してマップできます (バッチへのデスクトップ ショートカットを設定します)。
Windows のタスク スケジューラを使用してマッピング バッチを毎回実行し、ログオン後 30 秒から 1 分まで遅延させると、エクスプローラーの読み込み時間が遅くなることがなくなります。
net * /del
また、永続的に作成されたマッピングも含め、ログオフ時にすべてのマッピングが確実に削除されるように、 などを含むバッチを実行するタスクを設定することもできます。
コメント後の編集/詳細情報の質問:
"Is that timeout duration value easily editable or buried?"
実際に定義できる場所はなさそうです。https://support.microsoft.com/en-gb/topic/the-welcome-screen-may-be-displayed-for-30-seconds-during-the-logon-process-after-you-set-a-solid-color-as-the-desktop-background-in-windows-7-or-in-windows-server-2008-r2-b4565ced-703a-cc85-bf9c-6b3d586d6421回避策については(あなたのケースに役立つとは思いませんが、試してみても害はありません)。
バッチ処理に関する詳細情報:
ドライブをマップするためのバッチ ファイルを作成することになり、タスク スケジューラで遅延させたくない場合は、マップを試みる前に Ping を使用して接続をテストできます。Ping は特定のタイムアウトを使用するように設定できるため、タイムアウトを低く設定し、ping が失敗した場合はマップしないでください。
バッチファイルでは次のようになります:
ping 10.3.3.3 -n 1 -w 500 | find "Reply"
if errorlevel 1 echo Machine Not Found && goto :eof
net use Q: \\10.3.3.3\Share
これは、タイムアウト (-w) を 500 ミリ秒に設定して、10.3.3.3 に 1 回 (-n) ping を実行します。次に、結果から「Reply」を検索します。見つからない場合 (マシンが存在しないため応答なし)、見つからなかったことをエコーし、ファイルの末尾にジャンプします。それ以外の場合、「Reply」が見つかった場合は、Q: を 10.3.3.3 の共有「Share」にマップしようとします。
答え2
私の場合はこれがうまくいきました:
;### kill the long "restoring network connections" at logon (defer=ghosted connections)
[HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\NetworkProvider]
"RestoreConnection"=dword:00000001 ;(0=no attempt, you must click it)
"RestoreTimeout"=dword:00000005
;### Ghost the connection if not responding within RestoreTimeout
"DeferConnection"=dword:00000001
;### network drive map timeout in Explorer if connection is lost (def is 60 sec)
[HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\services\LanmanWorkstation\Parameters]
"ReconnectTimeout"=dword:00000005
RestoreConnection
ただし、ドライブを常に準備しておく必要はないので、0 に設定します。すると、黒い画面のタイムアウトはなくなります。
ソース:http://www.sevenforums.com/network-sharing/274680-timeout-mapping-network-drives-windows-login.html