windows setup could not configure windows to run on this computers hardware
先日購入した中古のデスクトップパソコン(DELL製のOPTIPLEX980)、起動していきなりWindowsUpdateができない、AcrobatReaderがインストールできないなど、調子が悪いんで再セットアップしたのですが、その真っ最中に発生したエラーメッセージが冒頭のそれです。
ハードディスクが悪いのかと思って別のに換装して再セットアップしても結果が同じ。何となくだけどBIOSの設定まわりがあやしい感じをうけたんで再起動してF2を押す。
BIOSを起動して、設定を確認していたら「何故?」って項目を発見。それが「Drivers」 > 「SATA Operation」の部分。値が「Raid On」になっているじゃありませんか!ハードディスク1台でRAID構成?ムリムリ・・。で、この値を「Legacy」に設定し直して、もっかい再インストールしたら無事できました(^_^)v
中古PCだったんで、前のオーナーがRAIDを組んでいたのかな、と勝手に想像
SATA Operationについて
OPTIPLEX 980に限らずDELL製品に搭載されているBIOSにはこの設定があるようですね。選択肢は4種類、それぞれどんな意味があるのか調べてみました。
RAID Autodetect / AHCI
署名付ドライバがあればRAIDを検出し、それ以外の場合はAHCIモードで設定されます。
AHCIって簡単に言うと、ハードディスクの性能をフルに活かせるモードのことのようです。
NCQが使える、ホットスワップができることが特徴です。legacyではなくてこちらを設定する方が正解だったようです。
NCQって何?
ネイティブコマンドキューイング、略してNCQです。
ネイティブコマンドキューイング(NCQ)とは一定の条件の下でSATAハードディスクのパフォーマンスの向上を可能にするため、内部コマンドで実行される読み取りと書き込みの受信順序を最適化にした最新技術です。複数の同時読み取り、書き込みへの要求が傑出されているワークロードのパフォーマンスを向上させることにより不要なドライブヘッドの移動量を減らすことができます(若干のドライブ磨耗を減少させたため)。
ハードディスクドライブアクセスを高速化するための技術の一つ。
SCSI用に作られたSCSI Command QueuingのATA版として、シリアルATA Ⅱ(SATA Ⅱ)から採用された。
ディスクは回転している。
このため、データの読み書きに際しては、必要な場所へのヘッド移動時間(シーク時間)だけでなく、ディスクの回転待ち時間がどうしても必要である。
この待ち時間は、RAMなどのメモリーデバイスと比較すれば非常に長い時間であり、ディスク高速化への障害の一つであった。
そこで、Command Queuing(コマンドキューイング)という方法が発案された。これは最初に複数のコマンドを受けてキューにため込み、それをヘッドの移動が最小限に済むような順序で処理するアウトオブオーダー実行実行を行なう。これによりシーク速度と回転待ち時間を減らし、高速化を実現した。
AHCIモードで動かしたメリットは大きいようですね、XPで使おうとしたら、ドライバをインストールしないと不具合が発生する話を聞きましたが、いまのOSではあまりそういった話を聞かないので問題なさそうです。
RAID Autodetect / ATA
署名付ドライバがあればRAIDを検出し、それ以外の場合はATAモードで設定されます。
最も一般的なモードで、NCQ、ホットスワップ以外のシリアルインターフェースのほとんどの機能を使用することができます。
Legacy
セットアップ用の汎用IDEドライバを使用するようになります。
これは、レガシーIDE / ATAプロトコルを介して、SATAコントローラと通信します。
WindowsXPやパラレルATAを使用している場合に便利です。
RAID On
起動するたびにRAID用に設定されます。
あとがき
中古パソコンは要注意ですね。ハードディスクはまっさらにしても、BIOSまではさすがにって感じでしょうか。
そういえば、DELLの製品以外でSATAに関する同様の設定があるのか確認してみました。手持ちにNEC製のPCがあったのでBIOSを確認。「ATA Drivers Setup」>「Config Sata as 」こんな設定項目を発見。AHCIかIDEを選べるようになっていました。同じですね。
今回は、トラブルのおかげでAHCIやNCQなど、知らない技術を勉強できてとてもいい経験になりました(^^;)