Debian 8의 BIOS 깨진 메시지(그러나 Ubuntu를 부팅할 때는 그렇지 않음)

Debian 8의 BIOS 깨진 메시지(그러나 Ubuntu를 부팅할 때는 그렇지 않음)

시스템을 시작할 수 없는 오류가 발생했습니다. 해당 SSD에는 Windows 8 및 Debian 8이 있고 HDD에는 다른 Windows 7 및 Ubuntu 14.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가 포함된 페이스트빈입니다. 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

페이스트빈출력 으로 Xorg.0.log.

답변1

모든 최신 시스템은 가상 메모리를 실제 메모리에 매핑하기 위해 MMU를 사용합니다. 최신 하드웨어에는 다른 하드웨어(예: 그래픽 카드)에서도 이 기능이 있습니다. 이를 IO-MMU라고 합니다.

(보다http://www.cyberciti.biz/tips/wp-content/uploads/2007/09/mmu-vs-iommu-memory.png천 단어의 가치가 있는 그래픽을 위해)

귀하의 경우에는 io-MMU가 내장되어 있지만 부팅 시 제대로 시작되지 않거나 데비안 설치의 드라이버와 작동하지 않는 Nvidia 카드가 있습니다.

이는 다음과 같은 네 가지 솔루션으로 이어집니다.

  1. 펌웨어를 수정하세요. (그래픽 카드나 마더보드(BIOS/UEFI라고도 함)에 있습니다.
  2. 드라이버에서 이 문제를 해결하세요.
  3. 이를 적절하게 설정하고 웜 재부팅 중에 부분적으로 구성된 상태로 유지하는 OS를 부팅하여 이 문제를 해결하십시오.
  4. 이 손상된 기능을 사용하지 마십시오.

후자는 소프트웨어에서 쉽게 할 수 있는 일이다. 손상 정도에 따라 VT-d(BIOS 펌웨어에서)를 비활성화하거나 커널 매개변수를 통해 비활성화해 보십시오.

커널 매개변수를 설정하려면 이 링크를 참조하세요.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

BIOS는 이미 최신 버전이었지만 다시 플래시해 보니 이제 모든 것이 잘 작동합니다.

업데이트

문제는 한 번 더 발생합니다.

관련 정보