현대 마더 보드에 Microsoft Bloat로 가득 찬 이유

현대 마더 보드에 Microsoft Bloat로 가득 찬 이유

현대 마더 보드가 Microsoft Bloat로 가득 찬 이유와 실제로 의미가있는 이유

자신의 운영 체제를 구축하거나 부트 로더로 땜질을 시도한 적이 있다면 아마도 현대적인 마더 보드로 벽에 부딪쳤을 것입니다. 그리고 아니요, 당신은 그것을 상상하지 않습니다 – 그들은 Microsoft Bloat와 함께 Brim에 포장되어 있습니다. UEFI에서 FAT32에 이르기까지 독점적 인 표준과 열악한 문서의 지뢰밭입니다. 그리고 실망 스럽지만, 그 뒤에는 이유가 있습니다. 개발자 편의에 비해 시장 지배력을 선호하는 이유가 있습니다. 이것이 바로 우리가 부트 로더를 수정하고 정리하는 동안 내 주요 개발자 중 한 명이 말한 것입니다.

이 팽창이 어떻게 나오는지, 왜 그렇게 실망 스러우고, 어쨌든 마더 보드 제조업체가 왜 그렇게하는지 봅시다.

BLOAT : Microsoft의 생태계가 부팅 레이어를 감염시키는 방법

1. UEFI : 부풀어 오른 바이오스 후계자

UEFI (Unified Extensible Extensible 펌웨어 인터페이스)는 레거시 바이오스를 더 빠르고 유연한 것으로 대체해야했습니다. 이론적으로는 훌륭합니다! 실제로는 UEFI입니다 거대하고 혼란스럽고 복잡한 수수께끼Windows를 지원하기 위해서만 존재합니다.

UEFI는 OS 개발자에게 다음을 수행합니다.

  • FAT32 파티션과 함께 작업하십시오
  • UEFI 런타임 서비스를 사용하는 부트 로더를 작성하십시오
  • 안전한 부팅 서명을 처리하십시오
  • 문서화되지 않은 프로토콜을 탐색합니다
  • 예측할 수없는 공급 업체 별 단점을 디버깅하십시오

자신의 커널 또는 OS를 작성하는 경우 수백 개의 추가 부트 로더 코드 라인 최신 하드웨어에서 시스템이 부팅되도록합니다.

2. FAT32 및 EXFAT : Microsoft의 레거시 파일 시스템

UEFI는 부팅 파티션이 FAT32에서 포맷해야합니다. 왜? 그것이 Windows가 사용하는 것이기 때문입니다. 더 나은 최신 파일 시스템 (Ext4, Btrfs, ZFS)이 존재하지만이를위한 펌웨어 지원을 찾지 못할 것입니다. 대신, 당신은 사용에 붙어 있습니다 수십 년 된 지방 변형 그것은 마이크로 소프트 생태계 외부에서 깨지기 쉽고 제한적이며 종종 문서화되지 않습니다.

또 다른 Microsoft 파일 시스템 인 Exfat은 최근까지 폐쇄 소스였습니다. 지금도 사양은 어둡고 펌웨어에서의 사용은 또 다른 Microsoft 타이어 의존성을 추가합니다.

3. 툴링 잠금

대부분의 마더 보드 유틸리티 (펌웨어 업데이트, 구성 도구, 진단)는 공식적으로 Windows에서만 지원됩니다. 일부 보드에는 BIOS를 업데이트하거나 펌웨어 기능을 변경하려면 Windows 전용 앱이 필요합니다. 그것은 단지 불편하지 않습니다. 그것은 Windows를 사용하지 않는 사람을위한 능동 장벽.

개발자 통증 : 왜 이것이 땜장이에게 짜증나 는가

작은 OS, 커널 프로젝트 또는 커스텀 부트 로더를 만들고 있다고 가정 해 봅시다. 실제 하드웨어에서 작업하려면 이제 다음을 수행해야합니다.

  • 문서화되지 않은 모든 영광에서 UEFI를 지원하십시오
  • FAT32 파일 파싱을 처리합니다
  • 안전한 부팅 비활성화를 처리하십시오
  • 복잡한 EFI 스터브를 작성하거나 Grub 또는 SystemD-Boot와 같은 타사 로더를 사용하십시오.

그리고 이것이 전부입니다 ~ 전에 커널이 시작됩니다. 오전 4시에 UEFI 사양 문서에서 무릎을 꿇고있는 것을 알게 될 것입니다.“Hello, World”를 인쇄하기 위해 리버스 엔지니어링 펌웨어는 단지 리버스 엔지니어링 펌웨어가 Quirk입니다.

그것은 단지 성가신 것이 아니라 장벽입니다. 저수준 컴퓨팅에 대해 가장 관심을 갖는 사람들에게 OSDEV를 불필요하게 어렵게 만듭니다.

그렇다면 마더 보드 공급 업체는 왜 이렇게합니까?

그것이 만들어지기 때문입니다 완전한 비즈니스 감각.

  • Windows는 여전히 데스크탑 OS 시장을 지배합니다.
  • OEM은 Windows 및 관련 도구와 쉽게 호환되기를 원합니다.
  • FAT32가있는 UEFI는 “플러그 앤 플레이”Windows 부팅 및 복구를 보장합니다.
  • 공급 업체는 종종 Microsoft Compliance (예 : WHQL 인증, 하드웨어 파트너십)의 혜택을받습니다.
  • Linux 또는 Hobbyist Projects와 같은 대체 OS를 지원하면 재정적 수익이 거의 없습니다.

요컨대, 제조업체는 최적화하고 있습니다 1%가 아닌 99%. 그리고 대규모 리눅스 공급 업체 나 다른 시장 세력의 실질적인 압력이 없다면 다른 경로를 지원할 인센티브가 없습니다.

그래서 당신은 무엇을 할 수 있습니까?

당신 이이 혼란에 지친 개발자 또는 땜장이 사람이라면 다음은 다음과 같습니다.

  • 사용 Coreboot 또는 libreboot-UEFI를 완전히 피하기위한 통신 가능한 보드
  • 고집하십시오 레거시 BIOS 모드 마더 보드가 여전히 허용하는 경우
  • 발전하십시오 QEMU, Bochs 또는 VirtualBox 실제 하드웨어 통증을 조기에 피하기 위해
  • 조사하십시오 씨비 또는 OS가 성숙 할 때까지 Grub를 중간층으로 사용하십시오.

최종 생각

현대 마더 보드 하다 Microsoft 중심의 부풀어 오르기-윈도우가 아니라 Windows가 시장이기 때문입니다. 그럼에도 불구하고 결과는 동일합니다. 개발자와 OS 애호가들은 결코 그들을 위해 설계되지 않은 생태계를 다루고 있습니다.

실망스럽고 지치며 약간 불공평합니다. 그러나 알고 있습니다 이런 식으로 더 똑똑한 계획을 세우는 데 도움이 될 수 있습니다.

출처 참조

Post Comment

당신은 놓쳤을 수도 있습니다