답변:
커널 매개 변수는 kernel.org에 문서화되어 있습니다.
이해하기 acpi_osi
대략 ACPI 작동 방식을 알아야합니다. ACPI는 운영 체제가 시작되기 전에 BIOS가 RAM에로드하는 소위 테이블로 구성됩니다. 이들 중 일부는 메인 보드의 필수 장치에 대한 정보를 고정 형식으로 포함하지만 DSDT 테이블과 같은 일부에는 AML 코드가 포함되어 있습니다. 이 코드는 운영 체제에서 실행되며 메인 보드의 많은 장치를 설명하는 트리 구조와 절전 기능이 활성화 된 경우 OS에서 실행되는 호출 가능한 기능을 OS에 제공합니다. AML 코드는 _OSI
함수 를 호출하여 OS에 OS를 요청할 수 있습니다 . 이것은 종종 벤더가 일부 Windows 버전의 버그와 같은 문제를 해결하기 위해 사용합니다.
많은 하드웨어 공급 업체가 당시의 최신 Windows 버전으로 만 제품을 테스트하기 때문에 해결 방법이없는 "일반적인"코드 경로는 종종 버그가 있습니다. 이 Linux 때문에 Windows인지 묻는 질문에 일반적으로 yes로 응답합니다. 리눅스는 또한 "리눅스"인지 물었을 때 예라고 대답했지만, BIOS 벤더들이 (당시) 최신 리눅스 커널 버전에서 버그 나 기능 상실을 해결하도록했습니다. 버그 보고서를 열거 나 패치를 제공하는 대신 ( . 이러한 버그가 수정되면이 해결 방법으로 인해 모든 이후 Linux 버전에서 불필요한 성능 저하 및 기타 문제가 발생했습니다.
acpi_osi=Linux
ACPI 코드에서 "Linux"인지 묻는 메시지가 표시되면 Linux가 다시 예라고 응답하여 ACPI 코드가 Linux에 대한 해결 방법을 활성화하거나 Windows에 대한 해결 방법을 비활성화 할 수 있습니다.
acpi_backlight=vendor
백라이트의 ACPI 드라이버가 확인되는 순서를 변경합니다. 일반적으로 Linux는 video
ACPI DSDT가 표준 호환성을 요구하는 백라이트 장치를 제공하고 해당 장치를 찾을 수없는 경우 다른 공급 업체 특정 드라이버 만 검사 할 때 일반 드라이버 를 사용합니다 . acpi_backlight=vendor
공급 업체별 드라이버를 먼저 시도 할 수 있도록이 순서를 반대로합니다.
"acpi_osi"에 대한 첫 번째 Google 결과는 다음과 같습니다.acpi_osi=linux
같습니다.
[...] BIOS는 일반적으로 Windows가 감지되지 않으면 기능을 비활성화합니다. [...] 기본적으로 커널은 Linux가 실행 중인지 묻습니다.
acpi_osi=Linux
커널에게 true로 응답하도록 지시합니다. (참조drivers/acpi/osl.c
) BIOS에 진실을 알려야 할 것 같습니다.
"acpi_osi"에 대한 두 번째 Google 결과는 다음과 acpi_backlight=vendor
같습니다.
acpi_backlight=vendor
(예를 들어, 벤더 고유 드라이버 선호thinkpad_acpi
,sony_acpi
대신에 ACPI들 등)video.ko
드라이버.