BIOS-defekt-Meldung in Debian 8 (aber nicht beim Booten von Ubuntu)

BIOS-defekt-Meldung in Debian 8 (aber nicht beim Booten von Ubuntu)

Ich habe einen Fehler, der mich das System nicht starten lässt. Auf dieser SSD habe ich Windows 8 und Debian 8 und auf meiner Festplatte Windows 7 und Ubuntu 14.04 (ich habe meine SOs auf die SSD migriert, als dieser Fehler auftrat).

[    0.000000] Calgary: detecting Calgary via BIOS EBDA area
[    0.000000] Calgary: Unable to locate Rio Grande table in EBDA - bailing!

*schnipp*

[    0.000000] WARNING: CPU: 0 PID: 0 at /build/linux-ELRFVQ/linux-3.16.7-ckt11/drivers/iommu/dmar.c:760 warn_invalid_dmar+0x7a/0x8a()
[    0.000000] Your BIOS is broken; DMAR reported at address fed90000 returns all ones!
BIOS vendor: American Megatrends Inc.; Ver: 1302   ; Product Version: System Version
[    0.000000] Modules linked in:
[    0.000000] CPU: 0 PID: 0 Comm: swapper Not tainted 3.16.0-4-amd64 #1 Debian 3.16.7-ckt11-1+deb8u3
[    0.000000] Hardware name: System manufacturer System Product Name/P7H55-M, BIOS 1302    04/25/2011
[    0.000000]  ffffffff81016785 ffffffff8150b3a5 ffffffff81803e80 ffffffff81067767
[    0.000000]  ffffffff81af301c ffffffff81803ed0 00000000fed90000 0000000000000000
[    0.000000]  ffffffff81803fb0 ffffffff81067814 ffffffff8176edb0 ffffffff00000030
[    0.000000] Call Trace:
[    0.000000]  [<ffffffff81016785>] ? show_stack+0x5/0x50
[    0.000000]  [<ffffffff8150b3a5>] ? dump_stack+0x41/0x51
[    0.000000]  [<ffffffff81067767>] ? warn_slowpath_common+0x77/0x90
[    0.000000]  [<ffffffff81067814>] ? warn_slowpath_fmt_taint+0x44/0x50
[    0.000000]  [<ffffffff8192f4fa>] ? __early_ioremap+0x167/0x1fa
[    0.000000]  [<ffffffff8192f736>] ? early_ioremap+0xf/0x10
[    0.000000]  [<ffffffff81340ee9>] ? acpi_tb_acquire_table+0x39/0x66
[    0.000000]  [<ffffffff8150c3b3>] ? warn_invalid_dmar+0x7a/0x8a
[    0.000000]  [<ffffffff819499d6>] ? detect_intel_iommu+0xe3/0x16a
[    0.000000]  [<ffffffff8190bdd3>] ? pci_iommu_alloc+0x46/0x67
[    0.000000]  [<ffffffff8191b0d5>] ? mem_init+0x11/0x92
[    0.000000]  [<ffffffff81902e1a>] ? start_kernel+0x23b/0x49d
[    0.000000]  [<ffffffff81902a04>] ? set_init_arg+0x4e/0x4e
[    0.000000]  [<ffffffff81902120>] ? early_idt_handlers+0x120/0x120
[    0.000000]  [<ffffffff8190271f>] ? x86_64_start_kernel+0x14d/0x15c

HierEs ist ein Pastebin mit dem gesamten Syslog. Ich kann Windows 7, 8 und Ubuntu 14.04 starten, aber wenn ich versuche, Debian zu starten, bekomme ich Folgendes.


Wenn ich versuche, die GUI damit zu starten, startxerscheint die Meldung:

[   98.627889] nvidia 0000:01:00.0: irq 48 for MSI/MSI-X
[  100.211135] traps: x-session-manag[534] trap int3 ip:7f3258e78d30 sp:7ffef7745cf0 error:0

Pastebinmit Xorg.0.logAusgabe.

Antwort1

Jedes moderne System verwendet eine MMU, um virtuellen Speicher auf physischen Speicher abzubilden. Neuere Hardware verfügt auch auf anderer Hardware über diese Fähigkeit (z. B. auf einer Grafikkarte). Man spricht dann von einer IO-MMU.

(Sehenhttp://www.cyberciti.biz/tips/wp-content/uploads/2007/09/mmu-vs-iommu-memory.pngfür eine Grafik, die mehr sagt als tausend Worte)

In Ihrem Fall haben Sie eine Nvidia-Karte, die über eine integrierte io-MMU verfügt, die jedoch entweder beim Booten nicht richtig initialisiert wird oder nicht mit dem Treiber in Ihrer Debian-Installation funktioniert.

Das führt zu vier Lösungen:

  1. Reparieren Sie die Firmware. (Entweder auf der Grafikkarte oder auf dem Motherboard (auch bekannt als BIOS/UEFI).
  2. Umgehen Sie das Problem im Treiber.
  3. Umgehen Sie das Problem, indem Sie ein Betriebssystem booten, das es richtig einstellt und es bei Warmstarts in einem teilweise konfigurierten Zustand belässt.
  4. Verwenden Sie diese defekte Funktion nicht.

Letzteres können Sie ganz einfach per Software erledigen. Je nachdem, wie es kaputt ist, versuchen Sie, VT-d (in der BIOS-Firmware) oder über Kernel-Parameter zu deaktivieren.

Informationen zum Festlegen der Kernelparameter finden Sie unter diesem Link.https://www.kernel.org/doc/Documentation/kernel-parameters.txt.

Ich denke, die gewünschte Option ist iommu=off oder soft.

Wenn Sie einen Kernel ohne IOMMU-Unterstützung erstellen möchten, suchen Sie in Ihrer .config-Datei nach diesen Werten und probieren Sie sie aus, um herauszufinden, welche Option für Sie funktioniert.

CONFIG_GART_IOMMU=y
CONFIG_CALGARY_IOMMU=y
CONFIG_CALGARY_IOMMU_ENABLED_BY_DEFAULT=y
CONFIG_AMD_IOMMU=y
CONFIG_AMD_IOMMU_STATS=y
CONFIG_IOMMU_HELPER=y
CONFIG_IOMMU_API=y
CONFIG_IOMMU_DEBUG

Antwort2

Das BIOS war bereits auf dem neuesten Stand, aber ich habe es neu geflasht und jetzt funktioniert alles gut.

AKTUALISIEREN

Das Problem tritt noch einmal auf.

verwandte Informationen