Warum schlägt der Start im BIOS-SATA-Modus als AHCI fehl?

8

Kurz gesagt, ich versuche für einige Jetway-Ingenieure und mich selbst herauszufinden, warum das von ihnen erstellte benutzerdefinierte BIOS es SATA-Geräten nicht erlaubt, im AHCI-Modus zu booten.

Natürlich ist es schwierig, dies zu fragen, wenn man bedenkt, dass es sich um ein benutzerdefiniertes BIOS handelt, aber ich hoffe, dass ich genügend Details bereitstellen kann, damit jemand einige Ideen liefern kann, weil mir die Puste ausgeht.

Das Board ist ein Jetway NF98. Das Original-BIOS sagt American Megatrends an der Spitze. Ich habe erfahren, dass sie nur den Quellcode zum Kompilieren bereitstellen (? Oder vielleicht nur ein Logo?), Aber Jetway ist derjenige, der das eigentliche BIOS konfiguriert und produziert. Also habe ich mich an Jetway gewandt und sie waren unglaublich hilfreich. Ich habe ihnen mein Ziel mitgeteilt, und sie haben es richtig verstanden und ein benutzerdefiniertes BIOS verschickt.

Das Ziel war einfach: Erlauben Sie mir, BIOS so zu konfigurieren, dass kein anderes Medium als die über SATA-Port 0 angeschlossene Festplatte zum Booten abgelehnt wird. Was sie zur Verfügung stellten, tat fast genau das, außer dass es nicht konfigurierbar war, sondern nur so eingestellt war, dass nichts anderes als SATA-Port 0 gestartet werden konnte.

Also schließe ich meine SATA-Festplatte an, um eine benutzerdefinierte Version der Crux Linux-Distribution auszuführen, und BIOS-Berichte schließen bitte eine Festplatte an, als ob sie keine sehen würde (obwohl ein Blick in die BIOS-Einstellungen zeigt, dass eine Festplatte an Port 0 angeschlossen ist).

Nach einigem Debuggen ändere ich den SATA-Modus von AHCI auf IDE. Dadurch kann die Festplatte angezeigt werden, der Startvorgang schlägt jedoch weiterhin fehl. Diesmal geht es etwas weiter und schlägt bei der Suche nach root / fehl.

Zu Beginn habe ich gute Erfahrungen mit dem Debuggen von Linux-Boot. Außerdem habe ich eine genaue Kopie (Hardware und Software) dieses Systems unter Verwendung des Standard-BIOS, das mit dem NF98 geliefert wurde. So kann ich die Festplatte nehmen, im Standard-BIOS booten und alles ist erfolgreich. Wenn ich es in ein benutzerdefiniertes BIOS stecke, nicht erfolgreich.

Nach dem weiteren Debuggen glaube ich Folgendes zu wissen:

- Mit Sata-Modus als IDE

--Linux (Crux) -Stiefel bis zur Wurzel suchen

- Vista startet erfolgreich

Mit Sata-Modus als AHCI

--Linux (crux) bootet nicht erfolgreich (mehr, der Bootvorgang startet nicht)

- Vista startet nicht erfolgreich (mehr, der Startvorgang startet nicht)

Das Crux-Betriebssystem verfügt über einen leicht veralteten benutzerdefinierten Kernel und verwendet initramfs (auch benutzerdefiniert). Die Jetway-Ingenieure schlugen vor, den Kernel zu aktualisieren. Ich fand das fair genug, das half nicht.

Dann dachte ich mir, ich würde Arch Linux ausprobieren, was auch im IDE-Modus fehlschlug und in AHCI nicht zu sehen war. Dies war ein 3.0-ARCH-Kernel.

Als nächstes und schließlich habe ich arch erneut installiert, diesmal jedoch auf einer einzelnen Partition und dev verwendet, nicht UUID oder LABEL. Im AHCI-Modus wurde es immer noch nicht gesehen. Im IDE-Modus schlägt die Übertragung zum Root immer noch fehl.

ABER, wenn ich die Fallback-Startmenüoption von Arch auswähle und der SATA-Modus IDE ist, erhalte ich einen halb erfolgreichen Start. Das heißt, ich bekomme eine Anmeldeaufforderung, aber es gibt eine anständige Anzahl von Fehlern beim Booten. Ich bin gerade auf der Suche nach dem, was den Unterschied macht.

Ich entschuldige mich für den langen Text. Hat jemand eine Idee, warum oder wo ich suchen sollte, um herauszufinden, warum das benutzerdefinierte BIOS mit SATA Mode AHCI nicht startet?

c Karte
quelle
3
Einige dieser Startfehler werden erwartet. Wenn ein Betriebssystem im IDE-Modus installiert wurde, können Sie dieses Betriebssystem nach dem Wechsel in den AHCI-Modus nicht mehr starten. Sie müssen den richtigen Festplattentreiber für den Start installieren, was normalerweise keine praktikable Option ist. Vielleicht kann eine Live-CD dies erreichen. Normalerweise müssen Sie eine vollständige Neuinstallation des Betriebssystems durchführen, wenn der Festplattenmodus geändert wird
Sägemehl

Antworten:

1

Es kann sein, dass der AHCI-Modus mit dem amerikanischen Megatrends-BIOS einfach nicht sehr gut funktioniert. Ich hatte ein ähnliches Problem mit einem Gigabyte GA-J1800N-D2H, das wie ein ähnliches Board mit einem Intel J1800 SoC aussieht. Ich habe Linux Mint 17.2 mit xfce 32 Bit von einer zuverlässigen CD-ROM installiert. Nach Abschluss der Installation wurde der Computer neu gestartet, blieb jedoch in der Shell mit der Meldung "ModemManager ... org.freedesktop.ModemManager1 konnte nicht abgerufen werden" hängen. Wenn ich mehrere Neustarts von der Festplatte versuchte, ging ich meistens zu "(initramfs)" oder blieb bei der Meldung "ata1.00: fehlgeschlagener Befehl: READ FPDMA" hängen. Ich habe die Installation nach dem Löschen der Festplatte wiederholt und dies machte keinen Unterschied.

Nachdem ich mehreren roten Heringen gefolgt war, habe ich versucht, den SATA-Modus im BIOS von AHCI auf IDE zu ändern, und der Computer wurde perfekt gestartet und heruntergefahren. Ich ging ein paar Mal hin und her, um sicherzugehen. DIE INSTALLATION WURDE IM AHCI-MODUS DURCHGEFÜHRT, WÜRDE NUR IM IDE-MODUS BOOTEN UND AUSSCHALTEN.

Details des BIOS sind:

ID: 8A05AG03 Projektname: J1800N-D2H Version: F4 Erstellt: 29.04.2014 15:00:08

Die Karte reagiert im IDE-Modus akzeptabel.

Tölpel
quelle
1

Es gibt ein paar Dinge zu beachten, die jedem helfen könnten, der darauf stößt.

  1. Festplatten, die im BIOS / UEFI nicht erkannt wurden, wenn sich dieses BIOS im EUFI-Modus (-only) befindet: UEFI-BIOS sehen nur GPT-partitionierte Festplatten. Wenn Sie Ihre Festplatte nicht sehen können, handelt es sich wahrscheinlich um eine alte partitionierte MBR-Festplatte. Wählen Sie in Ihrem BIOS den Legacy-Modus, um MBR-Datenträger zu erkennen, den Datenträgermodus mithilfe eines Partitionierungstools in GPT zu ändern oder den Datenträger vollständig zu löschen (alle Partitionen entfernen, MBR löschen).
  2. Betriebssystem wird nicht gestartet, wenn das BIOS im AHCI-Modus ausgeführt wird, sondern wird gestartet, wenn das BIOS im IDE-Modus ausgeführt wird: Auf Ihrem Betriebssystem sind möglicherweise die AHCI- oder IDE-Treiber nach dem Wechsel von AHCI / IDE nicht installiert. In Windows 7 bestimmt beispielsweise der Modus zum Zeitpunkt der Installation den Typ der installierten Treiber. Sie können einstellendie HKLM / System / CurrentControlSet / Services / msahci / Start = 0 und HKLM / System / CurrentControlSet / Services / pciide / Start = 0 Registrierungsschlüssel mit regedit . Der richtige Treiber wird dann neu installiert, wenn Sie den AHCI / IDE-BIOS-Modus wechseln.
Durandal
quelle
0

Windows (und möglicherweise andere Betriebssysteme) installiert keine SATA-Treiber für den AHCI-Modus, es sei denn, sie sind beim Start aktiv.

So beheben Sie dies in Windows: -

Starten Sie im IDE-Modus (Legacy)

  1. Führen Sie den Registrierungseditor aus (regedit.exe)
  2. Navigieren Sie zu Registrierungsschlüssel: HKEY_LOCAL_MACHINE \ System \ CurrentControlSet \ Services \ Msahci
  3. Setzen Sie den Wert "Start" auf 0 (Null).
  4. Navigieren Sie zu Registrierungsschlüssel: HKEY_LOCAL_MACHINE \ System \ CurrentControlSet \ Services \ Pciide
  5. Setzen Sie den Wert "Start" auf 0 (Null).
  6. Herunterfahren
  7. Starten Sie erneut, aber bevor Windows startet, gehen Sie in die BIOS-Konfiguration

Bildschirme und ändern Sie den Festplattenmodus auf "AHCI". Speichern Sie die neue BIOS-Konfiguration und starten Sie sie neu, damit Windows startet. Wenn Windows gestartet wird, erkennt es die Änderung, lädt neue Festplattentreiber und führt einen weiteren Neustart durch, um mit ihnen zu starten.

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

Ich bin sicher, dass es einen ähnlichen Prozess für die Linux-Betriebssysteme auf Ihrem System geben würde.

Stese
quelle