web-dev-qa-db-ja.com

BIOS SATAモードをAHCIとして使用すると、起動に失敗するのはなぜですか?

一言で言えば、私は何人かのJetwayエンジニアと私自身のために、彼らが私に作ったカスタムBIOSがSATAデバイスをAHCIモードで起動できない理由を理解しようとしています。

明らかに、これは*カスタムBIOSを考慮すると質問するのは難しいですが、私が不足しているので、誰かがいくつかのアイデアを提供できるように十分な詳細を提供できることを願っています。

ボードはJetwayNF98です。オリジナルのBIOSによると、アメリカンメガトレンドが一番上にあります。コンパイルするためのソースコード(?またはロゴだけ?)を提供するだけであることを学びましたが、実際のBIOSを構成および生成するのはJetwayです。それで私はJetwayに連絡しました、そして彼らは信じられないほど役に立ちました。私は彼らに私の目標を伝えました、そして彼らはそれを正しく理解し、カスタムBIOSを出荷しました。

目標は単純でした。SATAポート0を介して接続されたディスク以外の、起動元のメディアを拒否するようにBIOSを構成できるようにしました。彼らが提供したものは、構成可能ではないことを除いて、ほぼ正確にそれを行いましたが、SATAポート0以外は起動できないように設定されていました。

そこで、SATAディスクをCrux Linuxディストリビューションのカスタムバージョンを実行するように接続します。BIOSレポートでは、何も表示されないかのようにディスクを接続してください(BIOS設定を見ると、ディスクがポート0に接続されていることがわかります)。

デバッグを行った後、SATAモードをAHCIからIDEに変更します。これにより、ディスクは表示されますが、起動は失敗します。今回はもう少し進んで、ルート/を探すときに失敗します。

まず、Linuxブートのデバッグにまともな経験があります。さらに、NF98に付属の標準BIOSを使用して、このシステムの正確なコピー(ハードウェアとソフトウェアの観点から)を持っています。だから私はディスクを取り、標準のBIOSで起動することができ、すべてが成功します。カスタムBIOSに入れると、成功しません。

さらにデバッグした後、これは私が知っていると思うことです:

-IDEとしてSATAモードを使用

--Linux(crux)は、ルートを探すまで起動します

--Vistaは正常に起動します

AHCIとしてSATAモードを使用

--Linux(crux)が正常に起動しない(さらに、起動プロセスが開始されない)

--Vistaが正常に起動しません(さらに、起動プロセスが開始されません)

Crux OSには、少し古いカスタムカーネルがあり、initramfs(これもカスタム)を使用します。 Jetwayのエンジニアは、カーネルのアップグレードを提案しました。私は十分に公平だと思いましたが、これは役に立ちませんでした。

次に、Arch Linuxを試してみることにしました。これもIDEモードで失敗し、AHCIでは表示されませんでした。これは3.0-Archカーネルでした。

次に、そして最後に、Archを再度インストールしましたが、今回は単一のパーティションにインストールし、UUIDやLABELではなくdevを使用しました。 AHCIモードでは、まだ表示されませんでした。 IDEモードでも、ルートへの転送に失敗します。

しかし、Archのフォールバックブートメニューオプションを選択し、SATAモードがIDEの場合、半ば正常に起動します。つまり、ログインプロンプトが表示されますが、起動中にかなりの量のエラーが発生します。私は現在、違いを生み出しているものを探しています。

長いテキストをお詫びします。 SATAモードAHCIを使用したカスタムBIOSが起動しない理由を理解するために、なぜ、どこを探すべきかについて、誰かが何か考えを持っていますか?

8
c card

AHCIモードがAmericanMegatrendsBIOSではうまく機能しない可能性があります。 Intel J1800SoCを搭載した同様のボードのように見えるGigabyteGA-J1800N-D2Hでも同様の問題が発生しました。信頼できるCD-ROMからxfce32ビットでLinuxMint17.2をインストールしました。インストールが完了すると、再起動しましたが、「ModemManager ...はorg.freedesktop.ModemManager1を取得できませんでした」というメッセージが表示されてシェルでスタックしました。 HDDから数回再起動しようとすると、ほとんどの場合「(initramfs)」にアクセスするか、「ata1.00:failed command:READFPDMA」というメッセージでスタックします。 HDDを拭いてからインストールを再試行しましたが、違いはありませんでした。

いくつかの赤いニシンを追跡した後、BIOSでSATAモードをAHCIからIDEに変更しようとしましたが、マシンは完全に起動およびシャットダウンしました。確認のために数回前後に移動しました。インストールはAHCIモードで実行されましたが、IDEモードでのみ起動およびシャットダウンされます。

BIOSの詳細は次のとおりです。

ID:8A05AG03プロジェクト名:J1800N-D2Hバージョン:F4ビルド:2014年4月29日15:00:08

ボードはIDEモードで許容範囲内で応答します。

1
Gannet

これに出くわす人を助けるかもしれない考慮すべきいくつかのことがあります。

  1. BIOSがEUFI(-only)モードの場合にBIOS/UEFIでディスクが検出されない: UEFIBIOSはGPTパーティションのみを表示しますディスク。ディスクが表示されない場合は、おそらく古いMBRパーティションディスクです。 BIOSでレガシーモードを選択してMBRディスクを検出するか、パーティションツールを使用してディスクモードをGPTに変更するか、ディスクを完全にクリアしてみてください(すべてのパーティションを削除し、MBRをクリアします)。
  2. OSはBIOSがAHCIモードの場合は起動しませんが、BIOSがIDEモード:の場合は起動しますOSにAHCIまたはIDE AHCI/IDEの切り替え後にドライバーがインストールされていない可能性があります。たとえば、Windows 7では、インストール時のモードによって、インストールされるドライバーのタイプが決まります。設定できます。 regeditを使用したHKLM/System/CurrentControlSet/Services/msahci/Start = 0およびHKLM/System/CurrentControlSet/Services/pciide/Start = 0レジストリキー。AHCI/ IDE BIOSモードを切り替えるたびに、適切なドライバーが再インストールされます。
1
durandal

Windows(および場合によっては他のOS)は、起動時にアクティブでない限り、AHCIモード用のSATAドライバーをインストールしません。

ウィンドウ内でこれを解決するには:-

IDE(レガシー)モードで開始

  1. レジストリエディタ(regedit.exe)を実行します
  2. レジストリキーに移動します:HKEY_LOCAL_MACHINE\System\CurrentControlSet\Services\Msahci
  3. 「開始」値を0(ゼロ)に設定します
  4. レジストリキーに移動します:HKEY_LOCAL_MACHINE\System\CurrentControlSet\Services\Pciide
  5. 「開始」値を0(ゼロ)に設定します
  6. シャットダウン
  7. 再度起動しますが、Windowsが起動する前にBIOS構成に入ります

画面を表示し、ディスクモードを「AHCI」に変更します。新しいBIOS構成を保存して再起動し、Windowsが起動するようにします。 Windowsが起動すると、変更が検出され、新しいディスクドライバーが読み込まれ、もう一度再起動して起動します。

(ソース--- https://www.neowin.net/forum/topic/987378-how-to-switch-from-ide-to-ahci-without-repairingreinstalling-windows/

お使いのシステムにあるLinuxOSにも同様のプロセスがあると確信しています。

0
Stese