
最近、Windows Vista を AHCI モードでインストールしようとしました。この試みによって、内蔵の Intel SATA コントローラーが AHCI モードで動作しなくなったのではないかと思います。まず、クリーンな (ゼロで埋められた) SATA HDD を用意し、システム BIOS セットアップで Intel コントローラーの AHCI を有効にしました。Windows Vista セットアップで、Diskpart を使用して HDD をパーティション分割しました。
次のように、論理パーティション (論理ドライブ、論理ボリューム) にインストールしようとしました。
- 500 MB プライマリ、アクティブ
- 40000 MB 拡張
- 40000 MB 論理
しかし、Windows はこのパーティションを受け入れることを拒否しました。起動してから停止し、エラー メッセージが返されました。
Windows はこのコンピューターに有効なシステム ボリュームが含まれているかどうかを判断できませんでした。
クリックできるほど良かった次インストールを開始するために、Windows Vista のセットアップ プログラムを起動しました。しかし、明らかに不十分でした。Web で調べたところ、これは BIOS ブート デバイスの順序と、Windows Vista セットアップ プログラムが USB フラッシュ ドライブからのインストールを適切に処理できないことに関係していることがわかりました。インストールには、Windows 7 USB/DVD ダウンロード ツールを使用して作成した USB フラッシュ ドライブを使用していました。
そこで、BIOS で起動順序を次のように変更しました。
Device boot order from...
Floppy
Hard disk
CD-ROM
To...
Hard disk
Disabled
USB-HDD
And hard disk boot priority from...
Seagate disk
Seagate disk
Kingston USB
WD disk
WD disk
Bootable add-in card
To...
Seagate disk
Seagate disk
WD disk
WD disk
Bootable add-in card
Kingston USB
Windows Vista のセットアップでは、Diskpart を使用して HDD をクリーンアップしました。その後、念のため、プライマリ パーティションにさらにスペースを与えることにしました。その結果、次のパーティションが作成されました。
- 1000 MB プライマリ、アクティブ
- 40000 MB 拡張
- 40000 MB 論理
論理パーティションでインストールが開始されました。これで大丈夫だと思い、コンピューターから離れました。しかし、戻ってみると、また別のエラーが発生して停止していました。
Windows はインストールに必要なファイルをコピーできません。インストールに必要なすべてのファイルが利用可能であることを確認してから、インストールを再開してください。エラー コード: 0x80070070
もう一度試してみました。Diskpart を再度使用してディスクをクリーンアップしました。次に、プライマリ パーティションのサイズを次のように増やしました。
- 4000 MB プライマリ、アクティブ
- 40000 MB 拡張
- 40000 MB 論理
その後、再度インストールを開始しました。今回はエラーは発生しませんでした。ファイルのコピー、ファイルの展開、機能のインストール、更新プログラムのインストール、インストールの完了というすべての手順が実行されました。その後、コンピューターが再起動し、次の行の直後に停止しました。
Serial ATA AHCI BIOS, Version iSrc 1.20E
Copyright (c) 2003-2008 Intel Corporation
** This version supports only Hard Disk and CDROM drives **
Please wait. This will take few seconds.
Controller Bus#00, Device#1F, Function#02: 06 Ports, 04 Devices
_
Windows Vista セットアップでは、インストール中に最初のエラーが発生したと思われます。これは、AHCI モードを使用して HDD にインストールできなかったためであり、その際に何らかの理由で AHCI 設定がリセットされました。その後、BIOS が IDE モードに復元されたため、2 回目はエラーなしでインストールできました。
コンピューターのリセット ボタンを押すと、すぐにシャットダウンしました。その後、再度電源を入れ、POST 画面を通過した後、同じ行で再び停止しました。Ctrl+Alt+Del キーを押して再起動し、DEL キーを押して BIOS セットアップに入っても、セットアップ画面が表示されません。同じ行で止まってしまい、先に進むことができません。
これで、CMOS をクリアする通常の手順をすべて実行しました。この画面を通過する唯一の方法は、マザーボードのジャンパー ピンを使用して CMOS をクリアすることです。これは、BIOS セットアップに入ってデフォルト設定をロードできないためです。また、SATA モードを無効 (IDE) に設定すると、AHCI BIOS 画面を通過して Windows Vista のインストールに戻ることができました。インストールは完了しました。しかし、BIOS セットアップに戻って AHCI を再度有効にすると、同じ行で再び停止します。
AHCI BIOS 画面と、画面が止まる行を通過する別の方法は、HDD を SATA ポートから取り外すことです。しかし、もちろん、何も起動できなくなります。つまり、SATA モードを無効 (IDE) に設定したままにしておくと、少なくとも Windows Vista を起動できます。
HDD を別のポートに接続し、他の HDD ドライブもすべて取り外してみました。0 から 5 まで、各ポートを 1 つずつテストしました。実際に興味深いパターンが現れ、以前スキャンした SATA ポートごとに (現在接続されているポートから開始して) 「デバイスが見つかりません」という行が表示されます。
SATA ポート 0 に HDD がある場合...
Controller Bus#00, Device#1F, Function#02: 06 Ports, 04 Devices
_
SATA ポート 1 に HDD がある場合...
Controller Bus#00, Device#1F, Function#02: 06 Ports, 04 Devices
Port-00: No device detected
SATA ポート 2 に HDD を接続します...
Controller Bus#00, Device#1F, Function#02: 06 Ports, 04 Devices
Port-00: No device detected
Port-01: No device detected
SATA ポート 3 に HDD を接続します...
Controller Bus#00, Device#1F, Function#02: 06 Ports, 04 Devices
Port-00: No device detected
Port-01: No device detected
Port-02: No device detected
SATA ポート 4 に HDD を搭載...
Controller Bus#00, Device#1F, Function#02: 06 Ports, 04 Devices
Port-00: No device detected
Port-01: No device detected
Port-02: No device detected
Port-03: No device detected
SATA ポート 5 に HDD を接続します...
Controller Bus#00, Device#1F, Function#02: 06 Ports, 04 Devices
Port-00: No device detected
Port-01: No device detected
Port-02: No device detected
Port-03: No device detected
Port-04: No device detected
ご存知のとおり、現在スキャン中のポートで停止します。その後、HDD を取り外すと、このおかしなエラーが発生します。
Controller Bus#00, Device#1F, Function#02: 06 Ports
No device found
AHCI BIOS not installed
AHCI BIOSがインストールされていません
おかしいと言うのは、最初の行に「Serial ATA AHCI BIOS、バージョン iSrc 1.20E」を使用していると明記されているからです。しかし、何らかの理由でデバイス スキャンが失敗します。おそらく、それが「AHCI BIOS がインストールされていません」というエラーが表示される理由でしょうか? このエラー タイプについて Web ページを 12 ページほど読みましたが、決定的な情報は見つかりませんでした。正常だと言う人もいます。しかし、同じメーカーで同じ世代の別のマザーボードの 1 つで「AHCI BIOS がインストールされています」と表示され、Award BIOS を使用していることはわかっています。
「AHCI BIOS がインストールされていません」と出力されるのには、きっと理由があるはずです。これは、BIOS プログラマーが、正常に動作している (つまり、メッセージは「正常」) のに、システムに何か問題があるとユーザーに思わせるための面白い悪ふざけとして考えたものではないでしょう。調査には多くの時間がかかり、一般ユーザーが持っていないレベルの知識も必要となるため、ほとんどの人が知りたいこと以上のことが関係している可能性があります。一方、BIOS ベンダーやボード設計者は、古い BIOS ファームウェアを 2 ~ 3 年以上 (場合によっては、最も高価なボードの保証期間よりも短い) 維持することに関心がありません。代わりに、彼らは「次の大きなもの」に移り、毎年新しいハードウェアを購入し続けることを期待しています。
HDD を Gigabyte SATA コントローラーに接続すると、同じメッセージ (AHCI BIOS がインストールされていません) が表示されます。ただし、その画面は通過します。ただし、これは Gigabyte SATA コントローラーが IDE モードに設定され、Windows Vista が読み込まれるためです。
SATA コントローラ ROM だけをリセットまたは再フラッシュする方法はありますか? メイン システム BIOS とは別に? そもそも「AHCI BIOS」とはいったい何ですか? BIOS 拡張機能のようなものですか? メイン システム BIOS コードの一部ですか? 同じフラッシュ チップに保存されていますか?
また、これについてどうお考えですか? また、この種の問題に関してどのような経験がありますか?
スクリーンショット
アップデート1
ドライバーをチェックしたところ、pciide.sys は有効になっていて、msahci.sys も有効になっていました。しかし、iastorv.sys は有効になっていませんでした。これを有効にして、BIOS セットアップで Intel AHCI を有効にすることをテストしました。役に立ちませんでした。AHCI BIOS デバイスの検出でまだ停止します。
アップデート2
同じドライバーを有効にすると(pciide.sys、msahci.sys、iastorv.sys)、BIOS セットアップで AHCI を有効にして Gigabyte SATA コントローラーへの接続をテストしました。Windows Vista がロードを開始し、進行状況バーが表示されましたが、すぐに BSOD が発生し、再起動しました。このようにループし続けました。
iastorv.sys を無効にして、msahci.sys (および pciide.sys) のみを有効にしてテストしました。実際に機能しました。
一部のウェブフォーラムでは、WindowsでAHCI関連のドライバーをすべて有効にするように指示しています(iastor.sys、iastorv.sys、msahci.sys) を使用すると、AHCI と IDE を簡単に切り替えることができます (互換性のため、ほとんどのインストールでは pciide.sys がデフォルトで有効になっているのが一般的だと思います)。ただし、ご覧のとおり、使用していないドライバーや使用予定のないドライバーの 1 つまたはすべてを無効にしておく方が賢明な場合もあります。
これは別の SATA コントローラー (Intel ではない) ですが、これはドライバーに関連しているのではないかと考え始めています。
アップデート3
ギガバイト コントローラー...
Gigabyte SATA コントローラーの公式ドライバーをインストールしました。バージョンは 1.17.50.2 です。デバイス マネージャーには、次の 2 つのデバイスの説明が表示されます。
- JMB36X 標準デュアル チャネル PCIE IDE コントローラ
- GIGABYTE GBB36X コントローラー
JMicron チップをベースにしているようです。
Intel SATAコントローラは次のように記載されています標準 AHCI 1.0 シリアル ATA コントローラ。その横にある感嘆符は無視してください。これは、使用していた msahci.sys ドライバーを無効にしたためにエラーが発生しているだけです。ただし、Windows Vista は Gigabyte コントローラーから IDE モードで実行していたため、問題にはなりませんでした。再起動する前に、再度有効にしました。
そこで、再起動して Gigabyte コントローラーの AHCI モードを有効にすると、Windows Vista が正常に読み込まれました。まったく問題はありませんでした。Gigabyte コントローラーは、Microsoft 汎用 AHCI ドライバー (msahci.sys) または Gigabyte コントローラー専用ドライバー (jraid.sys) (実際には JMicron ドライバー) のいずれかを使用して、IDE モードと AHCI モード (RAID はテストされていませんが、もちろん動作すると予想されます) の両方で動作することを自信を持って言えます。
以前、両方を有効にして、AHCI で Gigabyte コントローラーを使用して Windows を起動した際に、iastorv.sys ドライバーと msahci.sys ドライバーが競合し、BSOD のエラーが発生していたことに注意してください。新しいドライバーでこれをテストしたことはなく、テストするつもりもありません。現在は解決されているかもしれませんが、そうでないかもしれません。要点は、AHCI (または RAID) で Gigabyte コントローラーを使用する場合は、iastorv.sys を無効にするのが最善だということです。
Intel コントローラー...
さて、あの忌々しい Intel コントローラーはどうなるのでしょうか? XOR するのでしょうか、しないのでしょうか? それが問題です!
Gigabyteコントローラのテストに成功した後、Intelコントローラのテストに取り掛かりました。私はpciide.sys、msahci.sysを有効にし、iastorv.sysを有効にして開始しました。無効パッケージを使用して、f6flpy6489.zip
ドライバーを手動でインストールしました。ドライバーのバージョンは 8.9.0.1023 でした。新しいドライバーの名前は、名前に V が付いていない iastor.sys です。
デバイス マネージャーで、「標準 AHCI 1.0 シリアル ATA コントローラー」の説明が「Intel(R) ICH9R/DO/DH SATA AHCI コントローラー」に変更されました。
これがうまくいくことを心から願っていました。しかし、うまくいきませんでした。PC の電源をオフにして、HDD を Intel コントローラーの SATA ポート 1 に接続し、電源をオンにして、BIOS で SATA モードをもう一度 AHCI に変更しました。しかし、同じ「デバイスが検出されません」画面に戻り、そこから先に進むことができませんでした。
問題は解決しません。これは、Intel コントローラーの AHCI 機能を担当する ROM が破損しているか、損傷していることを示していますか? ただし、AHCI 機能のみが動作不能になっているように見えますが、コントローラーはまだ動作しています。IDE モードではありますが、それでも動作しており、完全に壊れるよりはましです。
どなたか、Intel コントローラーの実際の ROM がどこにあるかに関する情報を含む回答を投稿していただけないでしょうか。Intel Matrix Storage には独自のオプション ROM がありますよね? また、1 つ以上のチップを取り外して再プログラムしたり、新しいチップに交換したりすることなく、低レベルのシステム ユーティリティを使用してこの問題から回復することは可能ですか?
思考の糧...
何が起こったかについての私の推測では、バックアップ BIOS が起動して、メイン BIOS に部分的にコピーされ、その過程で何らかの理由で Intel AHCI/RAID オプション ROM が解除されたか、損傷したのではないかと思われます。
これは、システムのオン時に、Windows Vista が最初にエラーまたは 2 番目のエラーを出した直後、つまり、Vista を騙して USB フラッシュ ドライブから SATA HDD にインストールさせるためにデバイスのブート順序を変更した後に発生した可能性があると想像します (0x80070070 を参照)。
それは、その時点で、または私が初めて「コントローラー バス...」デバイス スキャン画面の問題に遭遇したときにリセット ボタンを押した後システムが即座にシャットダウンした時点で発生しました。通常、そしてそれ以来 (私が観察してきたように) 通常は再起動するだけで、リセット ボタンを押したり、3 本指で敬礼 (Ctrl+Alt+Del) したりしても、その段階では電源が切れません。
とにかく! 考えてみると、この場合は、まず IDE モードを有効にして、そのモードで Windows Vista をインストールした方がよかったかもしれません。インストールには、USB フラッシュ ドライブではなく DVD メディアを使用することもできます。インストールが完了したら、Windows にログインして AHCI ドライバーを有効にし、再起動して BIOS で AHCI モードを有効にします。これでうまくいったかもしれません。この場合は、その方がずっと良いアプローチだったかもしれません。そのようにしたほうがよかったでしょう。これは、Windows をまだインストールしていない場合は、まず BIOS で AHCI を有効にすることをほとんどの人が推奨する一般的なアプローチとは対照的です。私はそのようにすべきではありませんでした。
これが他の人の教訓になれば幸いです。もう少し調査するつもりですが、あまり時間をかけたくないです。何とかしてすべてを通常の状態に戻さない限り、Intel コントローラーの AHCI モードは現在動作不能であると言っても過言ではないと思います。
答え1
説明されている症状とまったく同じでした。SATA AHCI iSrc がハングしましたが、ドライブを取り外すとハングしなくなりました。
修正方法は、ドライブから署名を消去することでした。私は次の手順でこれを実行しました。
注意: 署名を消去すると、すべてのパーティションが削除され、ディスク上のすべてのデータが削除されます。これを行うと、データは消えてしまいます。注意して進めてください。
- ドライブを抜く
- 起動可能なLinux「ライブ」ISOが入ったUSBドライブを挿入します
- Linux ISOを起動する
- 起動プロセスの開始時に、ドライブを接続します
- 消去するドライブを確認するには、次のコマンドを実行します。
lsblk
- ドライブを消去するには、次のコマンドを実行します (X を上記のドライブ文字に置き換えます)。
wipefs -a /dev/sdX
- 消去する必要があるすべてのドライブに対して手順 6 を繰り返します。
- リブート
再起動後、ハングアップは発生しなくなり、それらのドライブに正常にインストールして起動できるようになりました。したがって、ハングアップの原因はドライブ上の何らかのシグネチャにあるようです。