Linux에서 BIOS, UEFI 또는 마이크로 코드를 업데이트하는 방법

Intel XEON E5의 다이 샷 또는 현미경 사진

너는 알고있다. BIOS 업데이트 방법 PC에서? Spectre, Meltdown 및 하드웨어, 특히 CPU에서 발견 된 모든 변종 및 기타 보안 허점과 같은 취약성으로 인해 컴퓨터의 BIOS 또는 UEFI를 업데이트하는 방법을 아는 것으로 해결되는 많은 문제를 여러 번 읽었습니다. . CPU에서 사용하는 마이크로 코드에 대한 업데이트 또는 패치가 필요하므로 CPU 제어 장치가 작동하는 방식을 변경하여 해당 위협에 취약하지 않게합니다.

취약성 외에도 펌웨어 업데이트 가능 하드웨어 장치의 오작동, 설명 할 수없는 방식으로 소프트웨어의 지속적인 오류, 일부 기능을 추가하기위한 업데이트 등과 같은 다른 많은 이유가 있습니다. 그러나 내가 말했듯이 최근 몇 달 동안 우리는 일부 경우에 매우 중요하고 최신 마이크로 프로세서가 일부 점프, 캐시, FPU 및 추측 실행을 처리하는 방식과 관련된 보안 문제로 인해이 용어를 너무 많이 들었습니다. 다른 경우에는 칩셋 또는 이러한 플랫폼에 통합 된 특정 보안 프로세서와 같은 시스템의 다른 부분에서 발견되었지만 ...

펌웨어 란?

마더 보드의 BIOS 칩

우리는 모두 하드웨어 (컴퓨터의 물리적이고 눈에 띄는 부분, 즉 전자 제품)와 소프트웨어 (만질 수없는 논리적 부분 : 프로그램)가 무엇인지에 대해 매우 분명합니다. 그러나 하드웨어와 소프트웨어 사이, 또는 하드웨어와 운영 체제의 커널 사이에는 다른 것이 있습니다. 펌웨어. 펌웨어는 마우스, 광학 드라이브에서 마이크로 코드로 작동하는 GPU 및 CPU에 이르기까지 컴퓨터의 모든 장치와 부품에 있습니다.

그러나 그것은 무엇입니까? 글쎄 당신은 말할 수 있습니다 코드즉, 소프트웨어이므로 논리적 구성 요소이지만 이번에는 변경할 수 없습니다. 낮은 수준에서 작동하며 전자 회로의 기능을 직접 제어합니다. 이 펌웨어는 컨트롤러 또는 드라이버의 도움을 받아 운영 체제 커널이 하드웨어에 작업을 수행하도록 명령 할 때이를 실행할 수 있도록합니다. 이 프로그램 또는 코드는 일반적으로 플래시 인 메모리 또는 EEPROM과 같은 일부 유형의 ROM에 장치 제조업체에 의해 기록되었습니다.

하지만이 기사에서 가장 관심을 끄는 펌웨어 중 하나는 BIOS 또는 UEFI 장비의 시동 및 작동시 다양한 기능을 갖는 매우 중요한 펌웨어이기 때문입니다. 예를 들어,이 코드는 시작하는 동안 컴퓨터를 활성화하고, 사용 가능한 운영 체제가있는 하드 드라이브 또는 미디어를 감지하고, 구성 요소 및 주변 장치의 다른 펌웨어를 방해하는 일부 검사를 수행하고, 시스템이 시작될 때 커널에 제어권을 부여합니다. 시작한다 ...

업데이트가 CPU에 영향을 미치는 이유는 무엇입니까?

CPU 핀

... 그리고 이것은 CPU와 관련이 있습니다. CPU에는 제어 장치,이 제어 장치는 명령을 디코딩하고 피연산자가있는 데이터를 적절한 레지스터로 이동 한 다음 ALU와 같은 일부 기능 장치를 활성화하는 등 마이크로 프로세서 또는 CPU의 나머지 부분을 제어하는 ​​회로입니다. 또는 FPU이며 실행중인 명령의 유형에 따라 데이터에 대해 일부 작업을 수행합니다. 이러한 명령어는 해당 시점에 처리되고있는 프로그램 또는 소프트웨어 코드에서 나옵니다. 프로그램은 일련의 순차적 명령어로 구성되기 때문입니다.

상상할 수 있듯이이 제어 장치는 제조업체 또는 설계자가 만든 방식으로 작동합니다. 일부 특정 경우에 제어 장치는 유선으로 연결될 수 있습니다. 즉, 매우 특정한 회로로 직접 구현되기 때문에 일반적으로 매우 빠르지 만 매우 유연하지는 않습니다. 반면에 프로그래밍 가능한 회로도 있습니다. 즉, a에 따라 어떤 방식 으로든 작동 할 수있는 다소 "개방형"회로망입니다. 마이크로 코드 또는 펌웨어. 따라서 펌웨어 또는 마이크로 코드를 변경하면 제어 장치를 만들 수 있으므로 CPU가 다르게 작동하거나 일부 버그 또는 취약점을 수정할 수 있습니다.

나는 너무 기술적 인 것을 원하지 않습니다.이 기사가 가능한 한 많은 사람들에게 전달되기를 바랍니다. 제가 말하고 싶은 모든 것이 쉽게 이해되기를 바랍니다. 그리고 많은 기계에서이 코드는 일반적으로 BIOS 또는 UEFI , 때로 부팅 할 때마다 커널에 의해 마이크로 코드가 업데이트되어 업데이트 또는 패치를 휘발성 메모리, 즉 RAM에 저장하여 BIOS / UEFI를 변경할 필요가 없습니다.

Linux에서 BIOS / UEFI를 업데이트하는 방법은 무엇입니까?

UEFI ASUS 인터페이스

Linux 또는 마이크로 코드에서 BIOS / UEFI를 업데이트하려면 두 절차.

마이크로 코드 업데이트를 수행하기 전에 다음 사항이 매우 중요합니다. 업데이트 된 BIOS / UEFI 펌웨어그렇지 않으면 작동하지 않을 수 있습니다. 따라서 Phoenix, Award 등과 같은 회사 웹 사이트 또는 일반적으로 이러한 시스템을 업데이트하는 패키지가있는 마더 보드 모델의 기술 지원 웹 사이트를 확인하십시오.

위험에 대한 마지막 섹션에서 볼 수 있듯이 BIOS / UEFI를 업데이트하는 것은 섬세한 작업입니다. 그렇기 때문에 무엇을하고 있는지 확실하지 않으면하지 말라고 조언합니다. 업데이트하려면 또는 필요하지만 충분한 지식이 없으면 항상 전문가와 상담하십시오. 또한 fwupd, BIOSDisck, Flashrom 등과 같은 프로젝트를 살펴 보는 것이 좋습니다. 이러한 프로젝트는 프로세스에 도움이 될 매우 실용적인 도구입니다.

내가 가장 좋아하는 것 중 하나는 플래시롬, 그것은 약 도구를 제공하는 패키지 플래시 칩을 식별, 읽기, 쓰기, 확인 및 삭제할 수 있습니다. 이것은 BIOS / UEFI / CoreBoot를 플래시하는 역할을 할뿐만 아니라 수정 가능한 펌웨어가있는 다른 장치에서 네트워크 카드, GPU 등의 다른 플래시 메모리를 수정하는 역할도합니다. 또한 여러 운영 체제와 장치 및 보드의 다양한 기어 및 모델을 지원합니다.

  • flashrom 패키지 설치 일반적으로 사용하는 패키지 관리자를 사용하여 배포에서 가장 중요한 배포의 저장소 중 하나 인 도구이기 때문입니다.
  • 미국 root 또는 sudo, 사용하려면 섬세한 권한이 필요합니다.
  • 펌웨어 식별 다음 명령을 실행하여 사용합니다.
flashrom

  • 나는 당신이 현재 ROM 백업, 새 업데이트가 작동하지 않고 돌아 가려는 경우. 그것을 위해:
flashrom -r copia_seguridad.bin

  • 네 이미 우리는 새로운 ROM이 있습니다 RELIABLE 소스에서 다운로드 한 경우 다음 명령을 사용하여 플래시 할 수 있습니다. 예를 들어 새 업데이트가 uefi-sm.bin이라는 경우 :
flashrom -wv uefi-sm.bin

자세한 내용은 다음 설명서를 참조하십시오. 남자 flashrom.

마이크로 코드 업데이트 :

BIOS / UEFI를 건드리지 않고, 즉 Linux 커널을 간단히 수정하여 CPU의 마이크로 코드를 업데이트하려면 CPU에 필요한 패키지를 설치하도록 선택할 수 있습니다. 예를 들어 최신 AMD CPU를 사용하는 경우 일반적인 것은 패키지 설치 라고 amd64- 마이크로 코드, 인텔의 경우 패키지 인텔 마이크로 코드 (openSUSE, SUSE, RHEL, CentOS 등을 사용하는 경우 패키지는 마이크로코드_ctl, 그리고 Arch intel-ucode 또는 amd-ucode ...) 신뢰할 수있는 웹 사이트에서 찾을 수 있습니다 ... (즉, x86 컴퓨터 인 경우 ARM 또는 다른 경우 제조업체 웹 사이트로 이동). Insisto a pesar de parecer un pesado, no descargues este tipo de paquetes desde fuentes desconocidas, es muy importante. Bien, ahora que ya lo tenemos descargado e instalado, puede que el procedimiento sea diferente en cada distribución y que implique activar algunos paquetes o actualizaciones restringidos como los propietarios…

이러한 패키지가 설치되고 업데이트를 참조하는 시스템 설정이 잘 구성된 상태에서 l자체 보안 업데이트 Spectre, Meltdown 등과 같은 심각한 취약점이 발견 된 경우 운영 체제를 설치하는 마이크로 코드 패치가 이미 포함되어 있습니다.

원하는 경우 다음을 사용하여 배포판에서 마이크로 코드 정보를 가져올 수 있습니다.

dmesg | grep microcode

그리고 그것으로 우리는 얻을 것입니다 마이크로 코드 세부 사항실제로 앞서 언급 한 패키지를 설치하기 전에 (설치 한 후 다시 시작해야 함)이 명령을 실행 한 경우, 설치되어있는 사용 가능한 업데이트가 있으면 변경 사항이 표시되는 것을 볼 수 있습니다.

때때로 AMD, Intel 및 기타 CPU 제조업체 또는 디자이너는 마이크로 코드 또는 펌웨어를 업데이트하기 위해 바이너리 블롭이 포함 된 tarball을 제공합니다. 신뢰할 수있는 위치에서 이러한 패키지 중 하나를 다운로드 한 경우 배포자가 제공하는 지침을 따르거나 README 파일을 참조하십시오.

BIOS 업데이트 전 위험 및 팁

재활용을위한 마더 보드

펌웨어 또는 마이크로 코드 업데이트 대부분의 경우 CPU 공급자가 제공하는 닫힌 코드, 닫힌 커널 드라이버 (이진 blob) 등을 업데이트하는 것을 의미합니다. 내용과 작동 방식을 알 수없고 알아야하는 것이 논리적으로 보이기 때문에 이것을 분명히하고 싶습니다. 원칙적으로 무료 하드웨어를 사용하지 않는 경우 CPU 또는 마더 보드의 제조업체 또는 설계자를 신뢰할 수밖에 없지만 비공식 웹 사이트에서 마이크로 코드 나 펌웨어를 다운로드하지 마십시오.

사실뿐만 아니라 그것은 섬세하다 보안상의 이유로 장비를 완전히 사용할 수 없게 만들 수도 있기 때문입니다. 평판이 좋은 웹 사이트에서 펌웨어를 다운로드 한 경우에도 정전과 같은 문제가 발생하여 업데이트 설치 및 펌웨어가 완전히 손상 될 수 있습니다. 이는 이미 구매 비용을 지출 할 생각을하고있을 수 있습니다. 새로운 마더 보드.

이것은 용어로 알려진 것입니다. 하드웨어 속어의 벽돌즉, 어떤 종류의 유틸리티도없이 하드웨어를 벽돌처럼 두십시오. 이를 통해 신중을 기하고 펌웨어를 업데이트하거나 BIOS / EFI를 플래시하기로 결정한 경우 발생할 수있는 일에 대해 당사가 책임지지 않음을 알려 드리고자합니다. 그러나주의하십시오. 이것이 항상 위험을 수반하는 것은 아닙니다. 이전에 말했듯이 항상 BIOS / EFI를 "접촉"할 필요는 없으며 OS 수준에서만 가능하며 이러한 위험을 수반하지 않는 업데이트도 있습니다. .

이 튜토리얼이 도움이 되었기를 바랍니다. 질문이나 제안이 있으시면 잊지 마세요. 의견...


코멘트를 남겨주세요

귀하의 이메일 주소는 공개되지 않습니다. 필수 필드가 표시되어 있습니다 *

*

*

  1. 데이터 책임자: AB Internet Networks 2008 SL
  2. 데이터의 목적 : 스팸 제어, 댓글 관리.
  3. 합법성 : 귀하의 동의
  4. 데이터 전달 : 법적 의무에 의한 경우를 제외하고 데이터는 제 XNUMX 자에게 전달되지 않습니다.
  5. 데이터 저장소 : Occentus Networks (EU)에서 호스팅하는 데이터베이스
  6. 권리 : 귀하는 언제든지 귀하의 정보를 제한, 복구 및 삭제할 수 있습니다.

  1.   루벤 호라시오 스페코냐

    안녕하세요, 좋은 아침입니다. 노트북에 xubuntu 14를 설치하고 파일을 다운로드하고 설치하고 싶었지만 USB 키에서 다시 시작하라는 메시지가 표시되면 BIOS에 들어가 부팅 메뉴에서 플래시 메모리를 찾을 수 없습니다. 저, 벌써 대단히 감사합니다.

  2.   호세 루이스 마테오

    안녕하세요 친구 :

    이 기사는 나에게 훌륭하지만 더 초보자이고 두려워하는 우리에게는 "위험"하지만 훌륭합니다.

    저와 같은 다기능 프린터 시스템 (Canon MG 7150)이 Wi-Fi를 통해 작동하는 방식을 이해할 수있는 좋은 기사를 오랫동안 놓쳤습니다.

    Linux에서는 완전히 작동하도록 만든 적이 없습니다. 나는 USB로 연결된 프린터를 작동시킬 수 있었지만 스캐너는 WiFi도 케이블로도 작동하지 않았습니다.

    그래서 오늘 제가 주제를 제기하는 동시에 현재와 같은 품질의 기사를 제공해 주셔서 감사합니다. 그러나 동시에 나는 그것을하는 방법을 아는 누군가가 우리가 앞서 언급 한 시스템을 더 쉽게 작동시킬 수 있도록 해주기를 바랍니다.

    감사합니다.

  3.   가브리엘

    MULTIBOOT 옵션 (활성화해야하는 곳)이있는 경우 먼저 BIOS를 살펴보고, 그렇지 않은 경우 USB로 부팅하려면 일반적으로 PC를 켤 때 F8 키를 잠시 누르고 있어야합니다 ( 다른 PC는 일반적으로 F12)이며 부팅 메뉴가 점프하여 하드 디스크, CD, USB 옵션을 표시합니다. UEFI가있는 경우 USB가 인식하지 못하는 경우 UEFI 옵션으로 생성해야합니다.