2010-12-08 1 views

답변

6

BIOS 구성이 공급 업체마다 다르므로이 작업을 수행하는 보편적 인 방법은 없습니다. 다양한 CMOS 메모리 위치 매핑은 마더 보드, BIOS 및 BIOS 개정판에서 고유합니다. 당신은 당신의 특정 벤더로부터이 정보를 찾아야 만 할 것이고, 당신의 앱은 아주 이식성이 없을 것입니다.

게다가이 장애물을 넘기더라도 Windows는 사용자 모드 응용 프로그램에서 BIOS에 액세스 할 수 없도록합니다 (또는 포트 I/O를 허용하지 않습니다). 이 작업을 수행하려면 커널 모드 드라이버를 작성해야합니다. 물론 런타임은 사용자 모드로 실행되기 때문에 C#에서는 커널 모드 드라이버를 작성할 수 없습니다. C에서 다음과 같이 작성해야합니다.

+0

UEFI BIOS의 간단한 설명과 같이 부팅 순서 변경은 휴대용 방식으로 수행하기 쉬워야합니다. 그러나 실제로 커널 모드를 변경하려면 최소한 커널 모드가 필요합니다. –

+0

모든 소비자 기반 마더 보드는 UEFI 기반 BIOS를 사용하지 않습니다. Macintosh 및 Itanium 기반 컴퓨터에서 찾을 수있는 유일한 곳입니다. 어쩌면 결국 산업계는 전환을 할 것이지만, 현재 상황에 의지 할 수는 없습니다. –

+0

필자의 관점에서 보자면, 현재 새로운 플랫폼에 대한 많은 제조사 만의 옵션이 UEFI 솔루션이지만, 현재는 거의 모든 소비자 BIOS가 EFI OS를 부팅 할 수 있습니다. 나는 또한 UEFI를 가지고 있지만 EFI OS를 부팅 할 수없는 많은 보드를 보았 기 때문에 업계가 전환되기 전에 너무 오래있을 것이라고 생각하지 않는다. 나는 그것이 일어날 때 확실히 스위치로 기쁠 것이다! –