acpi_os_name 및 acpi_osi 의미 체계

acpi_os_name 및 acpi_osi 의미 체계

내 노트북이 최대 절전 모드에 있을 때 이상한 동작이 발생합니다. 최신 버전의 Windows를 실행하는 척하여 이것이 도움이 되는지 확인하고 싶습니다.

마이크로소프트의_OSI를 사용하여 ACPI에서 Windows 버전을 식별하는 방법 _OSI커널 명령줄에 매핑되는 것으로 가정합니다 acpi_osi.

그러나 기반으로커널 문서, acpi_os_name속임수를 언급함:

    acpi_os_name=   [HW,ACPI] Tell ACPI BIOS the name of the OS
                    Format: To spoof as Windows 98: ="Microsoft Windows"

이상한 점은,이 젠투 페이지수정하는 것이 아니라 Windows인 척하는 것 acpi_os_name입니다 .acpi_osi

커널 문서에는 이것이 acpi_osi지원되는 운영 체제용이라고 나와 있습니다.

    acpi_osi=       [HW,ACPI] Modify list of supported OS interface strings
                    [...]  
                    acpi_osi=!*             # remove all strings
                    acpi_osi=!              # disable all built-in OS vendor strings

문서가 거의 없는 것 같고 나에게는 다음과 같은 질문이 제기됩니다.

  1. 둘 사이의 차이점/상호작용은 무엇입니까?

    1.1 하나가 다른 것보다 우선합니까?

  2. 설정한 경우 "지원되는" OS acpi_os_name로도 추가해야 합니까 ?acpi_osi

  3. acpi_osi=!다른 값을 설정하기 전에 모두 비활성화해야 합니까?

  4. 문자열을 비활성화하는 것과 삭제하는 것의 차이점은 무엇입니까? 재부팅 후에도 지속됩니까?

  5. ACPI/UEFI 지원 또는 예상 값이 무엇인지 확인할 수 있는 방법이 있나요?

답변1

5)에 대한 부분 답변

ACPI에서 일치하는 문자열을 나열합니다 Windows.

(cd /tmp && mkdir acpi && cd acpi && sudo acpidump -b && for i in *; do echo $i:; strings -a $i | grep -i windows; done)

내 결과는 다음과 같습니다

[...]
dsdt.dat:
Windows 2001
Windows 2001 SP1
Windows 2001 SP2
Windows 2001.1
Windows 2006
Windows 2009
Windows 2012
Windows 2013
Windows 2015
[...]
ssdt9.dat:
Windows 2013

ssdt9왜 인지는 모르겠습니다 Windows 2013.

관련 정보