'하드웨어를 위한 소프트웨어'라고도 불리는 펌웨어(Firmware)는 키보드, 하드 디스크, BIOS, 그래픽 카드처럼 특정 하드웨어에 내장되어 동작하는 프로그램입니다. 펌웨어는 시스템 안의 다른 장치들과 통신하고, 기본적인 입력·출력 작업과 같은 핵심 기능을 수행할 수 있도록 영구적인 명령을 제공하는 역할을 합니다.

펌웨어란 무엇인가?
펌웨어는 흔히 '드라이버'와 비슷한 역할을 한다고 알려져 있지만, 두 가지 중요한 차이가 있습니다.
- 저장 위치: 펌웨어는 하드웨어 장치 자체에 저장되는 반면, 드라이버는 운영체제(OS) 내부에 설치됩니다.
- 실행 방식: 펌웨어는 별도의 도움 없이 스스로 구동되어 프로그래밍된 작업을 수행하지만, 드라이버는 반드시 운영체제가 호출해야만 실행됩니다.
펌웨어의 종류
1. BIOS
컴퓨터에 전원이 들어온 뒤 가장 먼저 깨어나는 것이 바로 BIOS(Basic Input/Output System)입니다. BIOS는 하드웨어와 직접 통신하며 알 수 없는 오류가 없는지 점검한 후, 부트로더(Bootloader)라는 프로그램에 신호를 보냅니다. 부트로더는 하드 디스크 안에서 잠들어 있던 운영체제를 깨워 램(RAM)에 올리는 역할을 합니다. 즉, BIOS는 컴퓨터의 하드웨어 구성 요소들을 관리하고 정상적으로 작동하는지 보장하는 핵심 펌웨어입니다.
다만 BIOS는 지난 20여 년간 거의 변화 없이 유지되어 왔기 때문에 최신 기술과의 호환성이 떨어지는 것이 사실입니다. 대표적인 예로, 대부분의 노트북과 PC가 32비트·64비트 코드로 동작하는 요즘에도 BIOS는 여전히 16비트 코드를 사용합니다.
2. EFI (UEFI)
EFI(Extensible Firmware Interface)는 차세대 시스템 펌웨어를 위한 규격으로, CPU가 하드웨어를 시작할 때 사용하는 첫 번째 명령을 제공하고 이후 제어권을 부트로더에 넘깁니다. EFI는 UEFI(Unified Extensible Firmware Interface)라고도 불리며, 기존 BIOS에 비해 몇 가지 분명한 장점이 있습니다.
대표적인 예가 '시큐어 부트(Secure Boot)' 기능입니다. 이 기능은 PC 제조사가 신뢰하는 소프트웨어만으로 부팅되도록 보장하여 보안 수준을 크게 높여 줍니다.
내 PC의 펌웨어 버전 확인 방법
컴퓨터의 BIOS 버전을 확인하면 현재 최신 펌웨어를 사용하고 있는지 파악할 수 있습니다. 윈도우에서는 명령 프롬프트(Command Prompt)를 통해 펌웨어 버전 정보를 확인할 수 있으며, 제조사가 제공하는 업그레이드 도우미 프로그램을 활용하는 방법도 있습니다.
일반적인 하드웨어의 펌웨어 버전을 확인하려면 다음 순서를 따르면 됩니다.
- 장치 관리자를 엽니다.
- 해당 카테고리를 확장한 뒤 확인할 하드웨어를 선택합니다.
- 마우스 오른쪽 버튼을 클릭해 속성(Properties)을 엽니다.
- 세부 정보(Details) 탭에서 속성 드롭다운 메뉴의 하드웨어 ID(Hardware Ids)를 선택합니다.
- 값(Value) 목록에서 펌웨어 버전을 확인할 수 있습니다.
펌웨어 업데이트 방법과 주의사항
펌웨어 업데이트 파일은 각 하드웨어 제조사에서 배포합니다. 예를 들어 공유기(라우터)의 펌웨어 업데이트는 버그 수정, 보안 취약점 패치, 기능 향상을 위해 출시될 수 있습니다.
일부 펌웨어 업데이트는 평범한 소프트웨어 업데이트처럼 간단하게 적용되지만, 어떤 것들은 펌웨어 파일을 이동식 드라이브에 복사한 뒤 장치에 수동으로 로드해야 하는 등 시간이 꽤 걸릴 수 있습니다. 공유기처럼 관리자 콘솔에 펌웨어 업데이트 전용 메뉴를 제공하는 장치도 있으니, 해당 장치의 사용 설명서를 참고하는 것이 좋습니다.
가장 중요한 주의사항은 펌웨어 업데이트가 진행되는 동안 대상 장치의 전원이 꺼지지 않도록 하는 것입니다. 업데이트가 중간에 끊기면 펌웨어가 손상되어 장치가 심각하게 오작동할 수 있습니다. 따라서 펌웨어 업데이터를 실행했다면 반드시 업데이트가 완전히 끝날 때까지 기다려야 합니다.
펌웨어 vs 소프트웨어, 무엇이 다를까?
펌웨어와 소프트웨어라는 단어는 종종 혼용됩니다. 둘 다 컴퓨터에게 특정 작업을 수행하도록 지시하는 하나 또는 여러 개의 프로그램이라는 점에서는 같기 때문입니다. 하지만 실제로는 그 역할과 저장 방식이 두 범주를 나누는 기준이 됩니다.
- 소프트웨어: 가상의 존재이기 때문에 복사, 수정, 삭제가 자유롭습니다. 사용자가 쉽게 접근할 수 있는 메모리에 저장되며, 필요하다면 사용자가 직접 교체할 수도 있습니다.
- 펌웨어: 저장된 메모리가 장치 자체에 내장되어 있어 사용자가 임의로 교체할 수 없습니다. 이는 의도적인 설계로, 펌웨어는 장치가 작동하기 위해 필수적이며 임의로 변조하거나 삭제하면 심각한 문제가 발생할 수 있기 때문입니다.
또한 소프트웨어는 자주 업그레이드되고 애플리케이션이 실행될 때마다 저장된 정보가 수정·변경되는 경우가 많습니다. 반면 펌웨어는 설정을 자주 바꾸지 않는 한 크게 달라지지 않으며, 장치의 펌웨어를 변경해야 할 필요성 자체가 거의 없습니다.
이것으로 펌웨어의 개념, 종류, 업데이트 방법, 그리고 소프트웨어와의 차이점까지 살펴보았습니다. 펌웨어에 대한 궁금증이 해소되었기를 바랍니다.