为什么在 bios SATA 模式为 AHCI 时启动失败?

c c*_*ard 8 bios linux boot sata ahci

简而言之,我试图为一些 Jetway 工程师和我自己弄清楚,为什么他们为我制作的自定义 bios 不允许 SATA 设备以 AHCI 模式启动。

显然,考虑到它是 *custom bios,这很难问,但希望我能提供足够的细节,以便有人可以提供一些想法,因为我快用完了。

板子是捷波NF98。最初的 bios 说美国大趋势在顶部。我了解到他们只提供编译的源代码(?或者只是一个标志?)但 Jetway 是配置和生成实际 bios 的人。所以我联系了 Jetway,他们提供了令人难以置信的帮助。我告诉他们我的目标,他们马上就去做,并提供了一个定制的 bios。

目标很简单,允许我配置 bios 以拒绝除通过 SATA 端口 0 连接的磁盘之外的任何其他介质进行引导。他们提供的几乎完全一样,除了它不可配置之外,它只是被设置为不允许 SATA 端口 0 以外的任何东西启动。

因此,我将 SATA 磁盘插入运行自定义版本的 Crux Linux 发行版,并且 bios 报告请连接磁盘,就好像它没有看到一样(即使浏览 bios 设置显示磁盘连接到端口 0)。

经过一些调试后,我将 SATA 模式从 AHCI 更改为 IDE。这允许看到磁盘,但引导仍然失败。这一次它使它更进一步,并且在查找根 / 时失败。

首先,我在调试 Linux 启动方面有不错的经验。此外,我使用 NF98 随附的标准 bios 拥有该系统的精确副本(硬件和软件方面)。这样我就可以取出磁盘,在标准bios中启动它,一切都成功了。当我把它放在自定义 bios 中时,没有成功。

经过进一步调试,这就是我想我知道的:

- 以 sata 模式作为 IDE

--Linux (crux) 启动直到寻找 root

--Vista 启动成功

使用 sata 模式作为 AHCI

--Linux (crux) 没有启动成功(更多的是启动过程没有启动)

--Vista 启动不成功(更多,启动过程不启动)

Crux OS 上的自定义内核略显过时,并使用 initramfs(也是自定义的)。Jetway 工程师建议升级内核,我觉得很公平,这没有帮助。

然后我想我会尝试 Arch Linux,它在 IDE 模式下也失败了,并且在 AHCI 中没有出现。这是一个 3.0-ARCH 内核。

接下来,最后,我再次安装了 arch,但这次安装到单个分区并使用了 dev,而不是 UUID 或 LABEL。在AHCI模式下,仍然没有看到。在 IDE 模式下,转移到 root 仍然失败。

但是,当我选择 Arch 的回退启动菜单选项,并且 SATA 模式为 IDE 时,我得到了半成功启动;那是我进入登录提示,但在启动过程中出现了相当多的错误。我目前正在寻找有什么不同。

对于长文本,我深表歉意。有没有人知道为什么或我应该在哪里寻找帮助弄清楚为什么带有 SATA 模式 AHCI 的自定义 bios 无法启动的想法?

小智 1

AHCI 模式可能不太适合 American Megatrends BIOS。我在使用 Gigabyte GA-J1800N-D2H 时也遇到了类似的问题,它看起来像是一块配备 Intel J1800 SoC 的类似主板。我从可靠的 CD-ROM 安装了带有 xfce 32 位的 Linux Mint 17.2。安装完成后,它重新启动,但卡在 shell 中,并显示消息“ModemManager ...无法获取 org.freedesktop.ModemManager1”。在尝试从 HDD 多次重新启动时,大多数时候我会陷入“(initramfs)”或卡在消息“ata1.00:命令失败:READ FPDMA”处。我在擦拭硬盘后重试安装,这没有什么区别。

在遵循了几次转移注意力的建议后,我尝试在 BIOS 中将 SATA 模式从 AHCI 更改为 IDE,并且机器可以完美启动和关闭。我前后来回了几次以确定。安装是在 AHCI 模式下执行的,但只能在 IDE 模式下启动和关闭。

BIOS 的详细信息如下:

ID: 8A05AG03 项目名称: J1800N-D2H 版本: F4 建成时间: 04/29/2014 15:00:08

该板在 IDE 模式下的响应速度还算可以接受。