시스템 펌웨어 업데이트 창 - siseutem peom-weeo eobdeiteu chang

LENOVO 소개

+

LENOVO 소개

  • 글로벌 레노버
  • 뉴스종합
  • 사회적인 책임(영문)
  • 투자 정보(영문)
  • 레 노 버 채용

제품

+

제품

  • 노트북 및 울트라북
  • 데스크탑
  • 태블릿
  • 워크스테이션

지원

+

지원

  • 드라이버 및 소프트웨어
  • 문서
  • 인기 도움말
  • 보증 조회
  • 서비스 문의하기

주요 사이트

+

주요 사이트

  • 총판 및 판매처 안내
  • LenovoVision 제품 비디오
  • 레노버클럽
  • 제품 규격 (PSREF)
  • 환경 정보(영문)

© Lenovo.
| | | |

시스템 소프트웨어 및 펌웨어 업데이트(Oracle System Assistant)

이 절에서는 Oracle System Assistant를 사용하여 시스템 소프트웨어 및 펌웨어의 일부 또는 전체를 업데이트하기 위한 지침을 제공합니다.

다음 두 단계로 Oracle System Assistant를 사용하여 시스템 펌웨어를 업데이트합니다.

  1. 업데이트를 다운로드합니다. 플랫폼 소프트웨어, 드라이브 및 펌웨어 업데이트 다운로드(Oracle System Assistant) 또는 로컬 위치에서 플랫폼 소프트웨어, 드라이버 및 펌웨어 업데이트 다운로드(Oracle System Assistant)를 참조하십시오.

  2. 업데이트 전부 또는 일부를 설치합니다. 소프트웨어 및 펌웨어 업데이트(Oracle System Assistant)를 참조하십시오.

Oracle System Assistant는 사용 가능한 업데이트를 모두 다운로드하고 모든 업데이트를 설치하거나 선택한 업데이트만 설치할 수 있는 기능을 제공합니다.

Oracle System Assistant를 사용하여 서버를 업데이트하기 전에 웹에 액세스하기 위해 Oracle System Assistant에 사용되는 네트워크 포트를 구성하고, 다운로드를 가져올 권한을 서버에 부여하도록 My Oracle Support를 구성해야 합니다. 자세한 내용은 업데이트를 위해 Oracle System Assistant 준비를 참조하십시오.

주요 콘텐츠로 건너뛰기

이 브라우저는 더 이상 지원되지 않습니다.

최신 기능, 보안 업데이트, 기술 지원을 이용하려면 Microsoft Edge로 업그레이드하세요.

Windows 업데이트를 사용하여 디바이스 펌웨어 업데이트

  • 아티클
  • 09/24/2022
  • 읽는 데 10분 걸림

이 문서의 내용

이 항목에서는 WU(Windows Update) 서비스를 사용하여 이동식 또는 섀시 내 디바이스의 펌웨어를 업데이트하는 방법을 설명합니다. 시스템 펌웨어 업데이트에 대한 자세한 내용은 Windows UEFI 펌웨어 업데이트 플랫폼을 참조하세요.

이렇게 하려면 펌웨어 페이로드를 포함하는 디바이스 드라이버로 구현된 업데이트 메커니즘을 제공합니다. 디바이스에서 공급업체에서 제공하는 드라이버를 사용하는 경우 기존 함수 드라이버에 펌웨어 업데이트 논리 및 페이로드를 추가하거나 별도의 펌웨어 업데이트 드라이버 패키지를 제공할 수 있습니다. 디바이스에서 Microsoft 제공 드라이버를 사용하는 경우 별도의 펌웨어 업데이트 드라이버 패키지를 제공해야 합니다. 두 경우 모두 펌웨어 업데이트 드라이버 패키지는 범용이어야 합니다. 범용 드라이버에 대한 자세한 내용은 Windows 드라이버 시작을 참조하세요. 드라이버 이진 파일은 KMDF, UMDF 2 또는 Windows 드라이버 모델을 사용할 수 있습니다.

WU는 소프트웨어를 실행할 수 없으므로 펌웨어 업데이트 드라이버는 설치를 위해 PnP(플러그 앤 플레이)에 펌웨어를 전달해야 합니다.

펌웨어 업데이트 드라이버 작업

일반적으로 펌웨어 업데이트 드라이버는 다음을 수행하는 경량 디바이스 드라이버입니다.

  • 디바이스 시작 시 또는 드라이버의 EVT_WDF_DRIVER_DEVICE_ADD 콜백 함수:

    1. 연결된 디바이스를 식별합니다.
    2. 드라이버에 현재 디바이스 하드웨어에서 플래시된 펌웨어의 버전보다 최신 버전인 펌웨어 버전이 있는지 확인합니다.
    3. 펌웨어 업데이트가 필요한 경우 이벤트 타이머를 설정하여 업데이트를 예약합니다.
    4. 그렇지 않으면 드라이버가 다시 시작될 때까지 아무 작업도 수행하지 않습니다.
  • 시스템 런타임 중:

    1. 업데이트가 대기 중인 경우 일련의 조건이 충족될 때까지 기다립니다.
    2. 조건이 충족되면 디바이스에서 펌웨어 업데이트를 수행합니다.

펌웨어 업데이트 드라이버 콘텐츠

일반적으로 펌웨어 업데이트 드라이버 패키지에는 다음이 포함됩니다.

  • 유니버설 드라이버 INF
  • 드라이버 카탈로그
  • 함수 드라이버(.sys 또는 .dll)
  • 펌웨어 업데이트 페이로드 이진

별도의 드라이버 제출로 펌웨어 업데이트 패키지를 제출합니다.

공급업체에서 제공하는 드라이버에 펌웨어 업데이트 논리 추가

기존 함수 드라이버는 다음 다이어그램과 같이 펌웨어 업데이트 메커니즘을 구현할 수 있습니다.

시스템 펌웨어 업데이트 창 - siseutem peom-weeo eobdeiteu chang

또는 함수 드라이버와 펌웨어 업데이트 드라이버를 별도로 업데이트하려는 경우 두 번째 디바이스 노드를 만들어 펌웨어 업데이트 드라이버를 설치합니다. 다음 다이어그램은 하나의 디바이스에 두 개의 개별 디바이스 노드를 포함할 수 있는 방법을 보여 줍니다.

시스템 펌웨어 업데이트 창 - siseutem peom-weeo eobdeiteu chang

이 경우 독립적으로 대상으로 지정하려면 함수 및 펌웨어 디바이스 노드에 다른 하드웨어 ID가 있어야 합니다.

두 번째 디바이스 노드를 만드는 방법에는 몇 가지가 있습니다. 특정 디바이스 유형에는 USB와 같은 하나의 물리적 디바이스에 두 번째 디바이스 노드를 노출하는 기능이 있습니다. 이 기능을 사용하여 WU에서 대상으로 지정할 수 있는 디바이스 노드를 만들고 펌웨어 업데이트 드라이버를 설치할 수 있습니다. 그러나 많은 디바이스 유형에서는 단일 물리적 디바이스가 둘 이상의 디바이스 노드를 열거하는 것을 허용하지 않습니다.

이 경우 AddComponent 지시문을 지정하는 확장 INF를 사용하여 Windows 업데이트에서 대상으로 지정할 수 있는 디바이스 노드를 만들고 펌웨어 업데이트 드라이버를 설치합니다. INF 파일의 다음 코드 조각은 이 작업을 수행하는 방법을 보여줍니다.

[Manufacturer]
%Contoso%=Standard,NTamd64
[Standard.NTamd64]
%DeviceName%=Device_Install, PCI\DEVICE_ID
[Device_Install.Components]
AddComponent=ComponentName,,AddComponentSection
[AddComponentSection]
ComponentIDs = ComponentDeviceId

위의 INF 샘플 ComponentIDs = ComponentDeviceId 에서 자식 디바이스에 하드웨어 ID SWC\ComponentDeviceId가 있음을 나타냅니다. 이 INF를 설치하면 다음 디바이스 계층이 만들어집니다.

시스템 펌웨어 업데이트 창 - siseutem peom-weeo eobdeiteu chang

향후 펌웨어 업데이트를 위해 펌웨어 페이로드가 포함된 INF 및 이진 파일을 업데이트합니다.

Microsoft 제공 드라이버에 펌웨어 업데이트 논리 추가

Microsoft 제공 드라이버를 사용하는 디바이스에 대한 펌웨어를 업데이트하려면 위와 같이 두 번째 디바이스 노드를 만들어야 합니다.

모범 사례

  • 펌웨어 업데이트 드라이버 INF에서 DIRID 13 을 지정하여 PnP가 DriverStore의 드라이버 패키지에 파일을 그대로 둡니다.

    [Firmware_AddReg]
    ; Store location of firmware payload
    HKR,,FirmwareFilename,,"%13%\firmware_payload.bin"
    

    PnP는 디바이스를 설치할 때 이 위치를 확인합니다. 그런 다음 드라이버는 이 레지스트리 키를 열어 페이로드의 위치를 확인할 수 있습니다.

  • 펌웨어 업데이트 드라이버는 다음 INF 항목을 지정해야 합니다.

    Class=Firmware
    ClassGuid={f2e7dd72-6468-4e36-b6f1-6488f42c1b52}
    
  • 다른 디바이스 노드를 찾으려면 펌웨어 드라이버가 일치 항목에 대한 모든 디바이스 노드를 열거하는 것이 아니라 자체에 상대적인 디바이스 트리를 걸어야 합니다. 사용자가 디바이스의 여러 인스턴스에 연결되어 있을 수 있으며 펌웨어 드라이버는 연결된 디바이스만 업데이트해야 합니다. 일반적으로 위치할 디바이스 노드는 펌웨어 드라이버가 설치된 디바이스 노드의 부모 또는 형제 노드입니다. 예를 들어 두 개의 디바이스 노드가 있는 위의 다이어그램에서 펌웨어 업데이트 드라이버는 함수 드라이버를 찾기 위해 형제 디바이스를 찾을 수 있습니다. 바로 위의 다이어그램에서 펌웨어 드라이버는 통신해야 하는 기본 디바이스를 찾기 위해 부모 디바이스를 찾을 수 있습니다.

  • 드라이버는 시스템에 있는 디바이스의 여러 인스턴스에 대해 강력해야 하며, 여러 펌웨어 버전이 있을 수 있습니다. 예를 들어 여러 번 연결되고 업데이트된 디바이스의 인스턴스가 하나 있을 수 있습니다. 그런 다음 새 디바이스를 여러 펌웨어 버전으로 연결할 수 있습니다. 즉, 상태(예: 현재 버전)는 전역 위치가 아닌 디바이스에 대해 저장되어야 합니다.

  • 펌웨어를 업데이트하는 기존 메서드(예: EXE 또는 공동 설치 관리자)가 있는 경우 UMDF 드라이버 내에서 업데이트 코드를 주로 다시 사용할 수 있습니다.