Warum sagt mir mein Syslog, dass mein BIOS defekt ist?

Warum sagt mir mein Syslog, dass mein BIOS defekt ist?

Ich habe dies in meiner Syslog-Datei gefunden. Was kann ich tun, um es zu beheben? Oder lohnt es sich überhaupt, es zu beheben?

Alles scheint richtig zu funktionieren. Es wird 3.12.9-031209-generic ausgeführt.

WARNING: CPU: 0 PID: 0 at /home/apw/COD/linux/drivers/iommu/dmar.c:488 warn_invalid_dmar+0x8f/0xa0()
Your BIOS is broken; DMAR reported at address 0!
BIOS vendor: American Megatrends Inc.; Ver: F5; Product Version: To be filled by O.E.M.
Modules linked in:
CPU: 0 PID: 0 Comm: swapper Not tainted 3.12.9-031209-generic #201401251255
Hardware name: Gigabyte Technology Co., Ltd. Z87MX-D3H/Z87MX-D3H-CF, BIOS F5 08/02/2013
00000000000001e8 ffffffff81c01d98 ffffffff817433c6 00000000000017e0
ffffffff81c01de8 ffffffff81c01dd8 ffffffff810678ac ffffffff81c01e28
ffffffff81fd201c ffffffff81fd2058 ffffffff81dda2e0 ffff88022f5aad00
Call Trace:
[<ffffffff817433c6>] dump_stack+0x46/0x58
[<ffffffff810678ac>] warn_slowpath_common+0x8c/0xc0
[<ffffffff8106793f>] warn_slowpath_fmt_taint+0x3f/0x50
[<ffffffff8172dfbb>] ? acpi_os_map_memory+0x27/0x150
[<ffffffff816124af>] warn_invalid_dmar+0x8f/0xa0
[<ffffffff81d84944>] check_zero_address+0x57/0xf7
[<ffffffff81d849fb>] detect_intel_iommu+0x17/0xb8
[<ffffffff81d3a0db>] pci_iommu_alloc+0x44/0x6e
[<ffffffff81d49a5c>] mem_init+0x11/0xa2
[<ffffffff81d2fcfa>] start_kernel+0x1de/0x41e
[<ffffffff81d2f9ae>] ? do_early_param+0x87/0x87
[<ffffffff81d2f120>] ? early_idt_handlers+0x120/0x120
[<ffffffff81d2f5e8>] x86_64_start_reservations+0x2a/0x2c
[<ffffffff81d2f6f2>] x86_64_start_kernel+0x108/0x117
---[ end trace 11d0aeb7d970f0a3 ]---

Antwort1

Die beste Quelle, die ich zur Erklärung gefunden habe, ist von Redhat. Es ist nicht spezifisch für Ubuntu, sondern hängt mit dem Kernel (den wir alle gemeinsam nutzen) und Ihrer Hardware zusammen, die dem Kernel falsche Informationen zurückgibt.

Tauschen Sie im aus dem Link kopierten Text Redhat gegen Ubuntu aus und beachten Sie die 3 Aufzählungspunkte (vielleicht können Sie diese verwenden, um dies zu umgehen):


Systeme können nicht gestartet werden, USB funktioniert nicht, Netzwerkadapter funktioniert nicht (oder möglicherweise andere Symptome) aufgrund fehlerhafter Handhabung von BIOS mit defekter IOMMU-Handhabung

Einige Hersteller liefern Systeme mit einem BIOS aus, das die IOMMU-Hardware falsch verarbeitet. Das BIOS soll dem Betriebssystem mitteilen, wo im Speicher die IOMMU-Hardware zu finden ist, aber einige BIOS tun dies nicht richtig und geben einen ungültigen Speicherort an oder einen gültigen Speicherort, der aber nicht der tatsächliche Speicherort des Geräts ist. Der Kernel versucht, diese Fälle zu behandeln, aber einige wurden im Kernel der Fedora 12-Version noch nicht vollständig behandelt. Wenn Sie ein System haben, das von diesem Problem betroffen ist, ist das häufigste Symptom, dass das USB-Subsystem nicht funktioniert (keine USB-Peripheriegeräte funktionieren), aber andere Symptome waren Systeme, die überhaupt nicht booten, und nicht funktionierende Netzwerkadapter.

Derzeit sind einige Systeme bekannt, die möglicherweise von diesem Problem betroffen sind. Bei allen Systemen außer der HP xw4600 Workstation und der Dell Precision M6400 müssen alle der folgenden Bedingungen erfüllt sein, bevor der Fehler auftritt:

  • Sie müssen die 32-Bit-Edition von Fedora 12 verwenden
  • Sie dürfen keinen Speicher haben, der über den 4 GB-Adressbereich hinausgeht (praktisch bedeutet dies, dass Sie etwa 2,5 GB physischen RAM oder weniger haben müssen).
  • Virtualisierungsfunktionen (VT-d) müssen im BIOS deaktiviert werden

Wenn einer der oben genannten Punkte nicht zutrifft, sollte dieses Problem nicht auftreten. Wenn Sie glauben, dass dieses Problem bei Ihnen vorliegt, suchen Sie nach einer Kernel-Protokollmeldung, die etwa Folgendes enthält:

Your BIOS is broken; DMAR reported at address fed10000 returns all ones!

oder:

Your BIOS is broken; DMAR reported at address zero!

Bitte beachten Sie, dass die Kernel-Meldung immer angezeigt wird, wenn Sie ein System mit einem derart defekten BIOS verwenden, selbst wenn der Kernel Ihren Fall tatsächlich korrekt behandelt oder Sie das Problem erfolgreich umgangen haben. Machen Sie sich also keine Sorgen, wenn Sie die Meldung immer noch sehen, nachdem Sie das Problem umgangen haben.

Es gibt mehrere Möglichkeiten, dieses Problem zu umgehen. In den meisten Fällen (siehe oben) reicht es aus, die 64-Bit-Version von Fedora 12 zu installieren. Wenn Ihr BIOS eine entsprechende Option bietet, sollte das Aktivieren der Virtualisierungsfunktionen im BIOS dieses Problem ebenfalls umgehen. Schließlich können Sie dieses Problem umgehen, indem Sie den Kernelparameter iommu=soft an Ihre Boot-Konfiguration anhängen.

Zur Behebung dieses Problems wurde ein aktualisiertes Kernelpaket veröffentlicht. Aktualisieren Sie Ihr System wie üblich, um dieses Update zu erhalten, falls Sie es noch nicht haben. Wenn Sie von dem Problem betroffen sind, müssen Sie natürlich zunächst eine der oben genannten Problemumgehungen verwenden, um Ihr System in einen Zustand zu bringen, in dem Sie einen korrigierten Kernel installieren können.

verwandte Informationen