一言で言えば、私はJetwayエンジニアと私自身のために、彼らが私にしたカスタムBIOSがSATAデバイスのAHCIモードでの起動を許可しない理由を理解しようとしています。
明らかに、これを*カスタムの経歴を考慮して質問することは困難ですが、うまく行けないので、誰かがいくつかのアイデアを提供できるように十分な詳細を提供できれば幸いです。
ボードはJetway NF98です。元の経歴は、アメリカのメガトレンドがトップにあると言います。コンパイルするためのソースコード(またはおそらくロゴのみ)を提供するだけであることを知りましたが、実際のBIOSを構成して作成するのはJetwayです。それで私はジェットウェイに連絡を取りました、そして彼らは信じられないほど役に立ちました。私は彼らに私の目標を伝えました、そして彼らはそれに権利を得てカスタムBIOSを出荷しました。
目標は単純で、BIOSを設定して、SATAポート0経由で接続されたディスク以外のメディアからの起動を拒否できるようにしました。彼らが提供したものはほぼ正確にそれを行いましたが、構成可能ではなかったことを除いて、SATAポート0以外のブートを許可しないように設定されていました。
そのため、カスタムバージョンのCrux Linuxディストリビューションを実行しているSATAディスクを接続します。BIOSのレポートでは、ディスクが接続されていないかのように接続してください(BIOS設定を見ると、ディスクがポート0に接続されていることが示されています)。
デバッグを行った後、SATAモードをAHCIからIDEに変更します。これにより、ディスクは表示されますが、起動はまだ失敗します。今回は少し先に進み、root /を探すと失敗します。
はじめに、私はLinuxブートのデバッグにかなりの経験があります。さらに、NF98に付属している標準のBIOSを使用して、このシステムの正確なコピー(ハードウェアとソフトウェアに関して)があります。ディスクを取り出して、標準のBIOSで起動すれば、すべてが成功します。カスタムBIOSに入れても成功しません。
さらにデバッグした後、これは私が知っていると思うものです:
-IDEとしてSATAモードを使用
--Linux(crux)はrootを探すまで起動します
--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が起動しない理由を理解するために、なぜ、またはどこに目を向けるべきかについて誰かが何かアイデアを持っていますか?