내 syslog에서 내 BIOS가 손상되었다고 말하는 이유는 무엇입니까?

내 syslog에서 내 BIOS가 손상되었다고 말하는 이유는 무엇입니까?

내 syslog 파일에서 이 문제를 발견했습니다. 이를 해결하려면 어떻게 해야 합니까? 아니면 고칠 가치가 있나요?

모든 것이 올바르게 작동하는 것 같습니다. 3.12.9-031209-일반을 실행합니다.

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 ]---

답변1

Redhat에서 이를 설명하는 최고의 소스를 찾았습니다.. 이는 Ubuntu에만 국한된 것이 아니라 커널(우리 모두 공유) 및 하드웨어가 커널에 잘못된 정보를 제공하는 것과 관련이 있습니다.

링크에서 복사한 텍스트에서 Redhat을 Ubuntu로 교환하고 3가지 주요 사항을 염두에 두십시오(이를 우회하기 위해 이를 사용할 수 있습니다).


IOMMU 처리가 손상된 BIOS의 불완전한 처리로 인해 시스템이 부팅되지 않고, USB가 작동하지 않으며, 네트워크 어댑터가 작동하지 않습니다(또는 다른 증상이 나타날 수 있음).

일부 제조업체는 IOMMU 하드웨어를 잘못 처리하는 BIOS가 포함된 시스템을 출시합니다. BIOS는 메모리에서 IOMMU 하드웨어를 찾을 수 있는 위치를 운영 체제에 알려주어야 하지만 일부 BIOS는 이를 올바르게 수행하지 않아 가비지 위치나 유효하지만 실제로 장치가 있는 위치가 아닌 위치를 제공합니다. 커널은 이러한 경우를 처리하려고 시도하지만 일부는 Fedora 12 릴리스 커널에서 아직 완전히 처리되지 않았습니다. 이 문제의 영향을 받는 시스템이 있는 경우 가장 일반적인 증상은 USB 하위 시스템이 작동하지 않는 것입니다(USB 주변 장치가 작동하지 않음). 그러나 다른 증상에는 부팅이 완전히 실패하는 시스템 및 작동하지 않는 네트워크 어댑터가 포함됩니다.

현재 이 문제의 영향을 받을 가능성이 있는 것으로 알려진 일부 시스템이 있습니다. HP xw4600 워크스테이션 및 Dell Precision M6400을 제외한 모든 제품의 경우 버그가 발생하려면 다음 조건이 모두 충족되어야 합니다.

  • Fedora 12 32비트 버전을 사용해야 합니다.
  • 4GB 주소 영역을 초과하는 메모리가 없어야 합니다. (실제로 말하면 약 2.5GB 이하의 물리적 RAM이 있어야 함을 의미합니다.)
  • BIOS에서 가상화 기능(VT-d)을 비활성화해야 합니다.

위의 경우 중 하나라도 해당되지 않으면 이 문제가 발생하지 않습니다. 이 문제로 인해 어려움을 겪고 있다고 생각되면 다음과 유사한 내용이 포함된 커널 로그 메시지를 찾아보세요.

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

또는:

Your BIOS is broken; DMAR reported at address zero!

BIOS가 손상된 시스템을 사용하는 경우 커널이 실제로 문제를 올바르게 처리했거나 문제를 성공적으로 해결했더라도 커널 메시지가 항상 나타납니다. 따라서 문제를 해결한 후에도 메시지가 계속 표시된다고 걱정하지 마십시오.

이 문제를 해결하는 방법에는 여러 가지가 있습니다. 대부분의 경우(위 참조) Fedora 12 64비트 버전을 설치하는 것으로 충분합니다. BIOS에 해당 옵션이 있는 경우 BIOS에서 가상화 기능을 활성화하면 이 문제를 해결할 수도 있습니다. 마지막으로 부팅 구성에 커널 매개변수 iommu=soft를 추가하여 이 문제를 해결할 수 있습니다.

이 문제를 해결하기 위해 업데이트된 커널 패키지가 출시되었습니다. 아직 업데이트가 없는 경우 이 업데이트를 받으려면 평소처럼 시스템을 업데이트하세요. 분명히 문제의 영향을 받은 경우 위의 해결 방법 중 하나를 사용하여 먼저 시스템을 고정 커널을 설치할 수 있는 상태로 만들어야 합니다.

관련 정보