web-dev-qa-db-ja.com

Debian 8のBIOS破損メッセージ(ただし、Ubuntuの起動時はそうではありません)

システムを起動できないエラーが発生しました。そのSSDにはWindows8とDebian8があり、HDDには他のWindows7とUbuntu14.04があります(このエラーが表示されたときにSOをSSDに移行していました)。

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

*をちょきちょきと切る*

[    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

ここ はすべてのsyslogを含むPastebinです。 Windows 7、8、Ubuntu 14.04を起動できますが、Debianを起動しようとすると、これが表示されます。


GUIをstartxで起動しようとすると、次のようになります。

[   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

ペーストビン with Xorg.0.log出力。

3
aSoler

最新のシステムはすべて、仮想メモリを物理メモリにマッピングするためにMMUを使用します。最近のハードウェアは、他のハードウェア(グラフィックカードなど)でもこの機能を備えています。これは、IO-MMUと呼ばれます。

(1000語に相当するグラフィックについては http://www.cyberciti.biz/tips/wp-content/uploads/2007/09/mmu-vs-iommu-memory.png を参照してください)

あなたの場合、io-MMUが搭載されているが、起動時に適切に開始されないか、Debianインストールのドライバで動作しないNvidiaカードがあります。

それは4つの解決策につながります:

  1. ファームウェアを修正します。 (グラフィックカードまたはマザーボード(別名BIOS/UEFI)のいずれか。
  2. ドライバーで回避します。
  3. 適切に設定され、ウォームリブート中に部分的に構成された状態のままになるOSを起動して、この問題を回避します。
  4. この壊れた機能は使用しないでください。

後者は、ソフトウェアで簡単に実行できるものです。壊れている方法に応じて、(BIOSファームウェアで)VT-dを無効にするか、カーネルパラメータを使用してみてください。

カーネルパラメータを設定するには、このリンクを参照してください https://www.kernel.org/doc/Documentation/kernel-parameters.txt

必要なオプションはiommu = offまたはsoftだと思います。

IOMMUをサポートせずにカーネルを構築する場合は、.configファイルでこれらの値を確認し、「それらを試してみて」、どのオプションが適切かを見つけてください。

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
2
Hennes

BIOSはすでに最新バージョンでしたが、再フラッシュしたところ、すべてが正常に機能するようになりました。

[〜#〜] update [〜#〜]

問題はもう一度起こります。

1
aSoler