Windowsインスタンスで再起動時にディスクがオフラインになる現象の対処方法

2022.01.27

この記事は公開されてから1年以上経過しています。情報が古い可能性がありますので、ご注意ください。

困っていた内容

Windowsインスタンスを再起動したらディスクが認識出来なくなってしまいました。どうすればいいですか?

どう対応すればいいの?

この現象について、AWSのドキュメントに原因についての記載があります。

ボリュームをインスタンスからアンマウントおよびデタッチすると、Windows はデバイスの場所に「オフライン」のフラグを立てます。インスタンスの再起動と停止および再起動後、デバイスの場所はオフラインのままになります。インスタンスを再起動すると、Windows はオフラインのデバイスの場所に残りのボリュームの 1 つをマウントする可能性があります。これにより、ボリュームが Windows で使用できなくなります。

この事象を防止する方法についても上記ドキュメントに記載があります。

1. インスタンスで、デバイスマネージャーを開きます。
2. デバイスマネージャーで、[View]、[Show hidden devices] の順に選択します。
3. デバイスのリストで、[Storage controllers] ノードを展開します。
  デタッチされたボリュームがマウントされたデバイスの場所は、グレー表示されます。
4. グレー表示されている各デバイスの場所を右クリックし、[Uninstall device] を選択し、[Uninstall] をクリックします。
重要
[Delete the driver software for this device] チェックボックスはオンにしないでください。

この内容について、詳しく解説していこうと思います。

問題の事象を再現

テスト環境としてWindows Server 2019 のインスタンスを用意しました。

ストレージのアタッチ状況は以下の通りです。

Windows にログインしてデバイスを見るとこんな感じです。

この状態でEBSを1つデタッチします。

さて、この状態でデバイスマネージャーを確認してみましょう。

デバイスマネージャーを開いて、[Storage controllers] ノードを展開します。

「AWS NVMe Elastic Block Storage Adapter」が2つ表示されていますね。

これが現在EBSがマウントされているデバイスの場所となります。

次に、この状態で、[View]、[Show hidden devices]を選択すると…

グレー表示されている「AWS NVMe Elastic Block Storage Adapter」があることが確認出来ますね。これが

ボリュームをインスタンスからアンマウントおよびデタッチすると、Windows はデバイスの場所に「オフライン」のフラグを立てます。

の状態となります。

さて、それではこの状態でインスタンスを停止→起動してみます。

すると…

あ!先ほどまであったDドライブが認識されなくなってしまいました。

[Disk Management] を開いてみます。

Disk 1 が Offline になっていますね…これが

インスタンスを再起動すると、Windows はオフラインのデバイスの場所に残りのボリュームの 1 つをマウントする可能性があります。これにより、ボリュームが Windows で使用できなくなります。

の状態となります。

先ほど確認したグレー表示の「AWS NVMe Elastic Block Storage Adapter」の場所に EBS がマウントされてしまったんですね。

可能性があります。と記載がある通り、この事象は必ず起こるわけではありません。
オフラインのデバイスの場所に運悪くボリュームがマウントされてしまった場合にのみ起こる事象です。

因みに、この状態になってしまった場合はオフラインになっている Disk 1 を右クリック→ [Online] をクリックすれば再び認識出来るようになります。

対処方法の解説

それでは、ドキュメントにある対処方法を試してみたいと思います。

1. インスタンスで、デバイスマネージャーを開きます。
2. デバイスマネージャーで、[View]、[Show hidden devices] の順に選択します。
3. デバイスのリストで、[Storage controllers] ノードを展開します。
  デタッチされたボリュームがマウントされたデバイスの場所は、グレー表示されます。


ここまでは、事象の再現で確認した内容ですね。
ここからが重要となります。

4. グレー表示されている各デバイスの場所を右クリックし、[Uninstall device] を選択し、[Uninstall] をクリックします。
重要
[Delete the driver software for this device] チェックボックスはオンにしないでください。

ドキュメントにも記載がありますが、
[Delete the driver software for this device]
にチェックは入れないように注意してください。ここでチェックを入れてしまうと、デバイスドライバーまで削除されてしまいます。

以上で対処は完了です。

「オフライン」のフラグが立ってしまったデバイスの場所を削除することにより、起動時にボリュームがオフラインのデバイスの場所にマウントされてしまう事が無くなります。

参考資料

Windowsインスタンスから Amazon EBS ボリュームをデタッチします。 - Amazon Elastic Compute Cloud