Windows Vista Service Pack 1 (SP1) のサポートは 2011 年 7 月 12 日に終了しました。 Windows Vista のセキュリティ更新プログラムを引き続き受け取る場合は、Service Pack 2 (SP2) で Windows Vista を実行していることを確認してください。 詳細については、次の Microsoft Web ページを参照してください。 一部のバージョンの Windows のサポートは終了しています。
現象
たとえば次のようなシナリオを考えてみます。
次のいずれかのオペレーティング システムを実行しているコンピューターがあります。
- Windows Server 2012 R2
- Windows Server 2012
- Windows Server 2008 R2
- Windows Server 2008
- Windows 8
- Windows 7
- Windows Vista
コンピューターに 2 つのシリアル Advanced Technology Attachment (SATA) または RAID ハード ディスクを追加します。
SATA または RAID ハード ディスクは、チャネル 0 と 1 に接続されています。
このシナリオでは、ディスク 0 がチャネル 0 のハード ディスクに割り当てられず、ディスク 1 がチャネル 1 のハード ディスクに割り当てられない可能性があります。 ディスク割り当て番号が、対応する SATA または RAID チャネル番号と一致することが予想されます。
注 インストール中にオペレーティング システムを構成した場合、またはコンピューターの製造元から提供された回復プロセスを実行すると、この問題が発生する可能性があります。 この問題は、通常のコンピューターの起動時にも発生する可能性があります。 そのため、ハード ディスクのディスク番号は、複数のシステムスタートアップで異なる場合があります。 また、ハード ディスク コントローラーの動作モードが BIOS (RAID モードと非 RAID モードなど) で変更された場合、ドライブは異なる順序で列挙される場合があります。
原因
ディスク割り当て番号が、対応する SATA または RAID チャネル番号と必ずしも一致しない場合があります。
BIOS は、ディスクを特定の順序で列挙する場合と列挙しない場合があります。 BIOS の順序と、Windows がディスクに番号を付ける順序の間に直接関係はありません。 起動時に、Windows は BIOS INT13 サポートの使用からネイティブ Windows ドライバーに切り替えてディスクにアクセスします。 Windows は、システム ディスクがプラグ アンド プレイを列挙するまで数秒待ちます。 タイムアウト期間内に一致が発生すると、通常の起動が続行されます。 それ以外の場合、システムは 0x7B の stop エラー コードを使用してバグ チェックをトリガーします。 Windows は、起動前にディスク番号付けプロセスを制御しないため、ディスクを区別するために他のメカニズムを使用します。 コンピューターの電源がオフになっている場合、Windows にはハードウェアの変更に関する情報がありません。 そのため、Windows はデバイス列挙の独自のクエリを開始します。
起動時にネイティブ Windows ストレージ コントローラー ドライバーに切り替えた後に Windows によって割り当てられるディスク番号は、ディスクが列挙され、プラグ アンド プレイによって処理される順序にのみ依存します。 Windows は、適切なネイティブ Windows ドライバーが既に存在し、システムにインストールされていると仮定して、使用可能な固定ディスクを列挙し、その後にリムーバブル ディスクを列挙します。 制御できないさまざまなタイミング要因が列挙順序に影響する可能性があります。 たとえば、ほとんどの IDE コントローラーは、マスター チャネルを具体的に列挙し、2 秒待ってからスレーブ チャネルを列挙するように設計されています。 これは明らかに一貫性のある列挙順序を提供する効果がありますが、実際にはハードウェア実装の副作用です。 SATA コントローラーの動作は異なり、同じ副作用は発生しません。
デバイスは、列挙された順序で表示されます。 そのため、スタートアップ間でディスク割り当て番号が変更される可能性があります。 たとえば、フォーマットされていない SATA または RAID ハード ディスクが 2 台あるコンピューターで Windows または Windows Server セットアップを実行するとします。 この状況では、オペレーティング システムをインストールするディスクの入力を求められたときに、2 つ目のハード ディスクが Disk 0 として表示されることがあります。 列挙の順序は、システムの起動間の時間の経過と同時に変化する可能性があります。これは、ハード ディスクの起動に少し時間がかかるなどのタイミング要因に応じて異なります。
解決策
複数の SATA または RAID ハード ディスクを持つコンピューターの [現象] セクションに記載されているオペレーティング システムのいずれかを設定する場合は、ディスク情報をチェックして、システムをセットアップするドライブを確認します。 たとえば、セットアップ先のドライブを選択できる画面で、ボリューム名と使用可能な領域を確認します。
割り当てられたディスク番号を確認するには、次のいずれかの方法を使用します。
- ディスク管理コンソールを実行します。 これを行うには、[スタート] をクリックし、[検索の開始] ボックスに「diskmgmt.msc」と入力し、[プログラム] ボックスの一覧で [diskmgmt.msc] をクリックします。
- Diskpart.exe コマンド ライン ユーティリティを使用して、list disk コマンドを実行します。
- Windows または Windows Server セットアップ中に、インストール用のドライブとパーティションの選択を求めるメッセージが表示されると、割り当てられたディスク番号が一覧表示されます。
注 特定の状況では、ディスク番号が対応する SATA または RAID チャネル番号と一致しないことに気付きにくい場合があります。 たとえば、SATA または RAID の両方のハード ディスク サイズが同一の場合、これらの方法を使用してディスクの ID を特定することが困難な場合があります。
追加情報
複数のハード ディスクを持つコンピューターの [現象] セクションに記載されているオペレーティング システムのいずれかを設定すると、ディスク割り当て番号が対応する SATA または RAID チャネル番号と一致することが予想されます。 チャネル割り当てが一致しない場合は、間違ったドライブにオペレーティング システムを設定するか、不適切なドライブ パーティションのフォーマットを試みる可能性があります。 そのため、重要なデータが失われる可能性があります。
さらに、Windows Server 2012、Windows Server 2008 R2、Windows 8、または Windows 7 をインストールすると、既定で Windows パーティションと共にシステム パーティションが作成されます。 システム パーティションは、BitLocker 要件に対応するために作成されます。 BitLocker では、ブート ファイルと Windows ファイルが別々のパーティションに配置されている必要があります。 事前に選択された既定のハード ディスクが変更されていない場合は、ディスク 0 として検出されたディスクにシステム パーティションが作成されます。
Microsoft は、「適用対象」セクションに記載されている Microsoft 製品の設計上の制限があるため、この問題が発生することを確認しました。 この問題は、プラグ アンド プレイを介してオペレーティング システムに表示される順序でドライブが列挙されるために発生します。 ディスク番号の明らかな一貫性は、一致または使用される機器とドライバーの副作用です。
参考資料
関連する問題の詳細については、次の記事番号をクリックして、Microsoft サポート技術情報の記事を表示してください。
" Volume ###" 列のボリューム番号937252、Windows の Diskpart.exe ユーティリティで "ボリュームの一覧表示" コマンドを実行するたびに変更される場合があります
Windows Server 2003 および Windows XP での PnP 列挙とハード ディスク ドライブ文字の割り当ての詳細については、次の記事番号をクリックして、Microsoft サポート技術情報の記事を参照してください。
825668 Windows Server 2003 および Windows XP での PNP 列挙とハード ディスク ドライブ文字の割り当ての概要