Windows Vista Service Pack 1 (SP1) のサポートは 2011 年 7 月 12 日に終了しました。 Windows Vista 用のセキュリティ更新プログラムを継続して入手するには、Windows Vista Service Pack 2 (SP2) を実行していることを確認してください。 詳細については、次のマイクロソフト Web ページを参照してください: Windows の一部バージョンのサポート終了のお知らせ。
現象
たとえば次のようなシナリオを考えてみます。
次のいずれかのオペレーティング システムを実行しているコンピューターがあります。
- Windows Server 2012 R2
- Windows Server 2012
- Windows Server 2008 R2
- Windows Server 2008
- Windows 8
- Windows 7
- Windows Vista
2 台の Serial 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 は、システム ディスクがプラグ アンド プレイで列挙されるまで数秒間待機します。 タイムアウト期間内に一致する場合、通常の起動が続行されます。 それ以外の場合は、システムが STOP エラー コード 0x7B のバグ チェックをトリガーします。 Windows では、起動前のディスク番号付けプロセスを制御できないため、ディスクを区別するために他のメカニズムが使用されます。 Windows には、コンピューターの電源が切られたときのハードウェアの変更に関する情報はありません。 そのため、Windows はデバイス列挙に対する独自のクエリを開始します。
Windows が起動中にネイティブの Windows 記憶域コントローラー ドライバーに切り替えた後に Windows によって割り当てられるディスク番号は、ディスクが列挙され、プラグ アンド プレイによって処理される順序にのみ依存します。 Windows では、正しいネイティブ Windows ドライバーが既に存在し、システムにインストールされていると仮定すると、使用可能な固定ディスクを列挙し、次にリムーバブル ディスクを列挙します。 制御できないさまざまなタイミング要因が列挙順序に影響を与える可能性があります。 たとえば、ほとんどの IDE コントローラーは、マスター チャンネルを列挙し、2 秒待ってからスレーブ チャンネルを列挙するように設計されています。 これには一見一貫した列挙順序を提供する効果がありますが、実際にはハードウェア実装の副作用です。 SATA コントローラーの動作は異なり、これと同じ副作用は発生しません。
デバイスは、列挙された順序で表示されます。 そのため、ディスクの割り当て番号が起動ごとに変わることがあります。 たとえば、フォーマットされていない 2 つの SATA または RAID ハード ディスクを持つコンピューターで Windows または Windows Server セットアップを実行するとします。 この場合、オペレーティング システムをインストールするディスクの入力を求められたときに、Windows は 2 台目のハード ディスクをディスク 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 サポート技術情報) をクリックしてください。
937252 Windows の Diskpart.exe ユーティリティで [ボリュームの一覧表示] コマンドを実行するたびに、[ボリューム ###] 列のボリューム番号が変更される場合があります
Windows Server 2003 および Windows XP での PnP 列挙型およびハード ディスク ドライブ文字の割り当ての詳細については、以下のサポート技術情報番号をクリックしてください。
825668 Windows Server 2003 および Windows XP での PNP 列挙とハード ディスク ドライブ文字の割り当ての概要