반응형

RPC Recovery Solution, ASRM에서 GRUB2 방식으로 전환한 이유 — 저작권 및 라이선스 고려

1. ASRM 기반 복구 부팅 방식의 변경

RPC Recovery Solution은 Windows PE 기반 복구 환경으로 진입하기 위한 핫키 기능을 제공합니다. 기존 버전에서는 UEFI 환경의 복구 부팅을 위해 ASRM(asrm.efi)과 설정 파일(asrm.xml)을 사용하는 방식을 적용했습니다. 그러나 프로젝트를 지속적으로 개발하고 배포하는 과정에서 부팅 구성 요소의 저작권과 라이선스 조건을 명확하게 구분하고, 배포 가능한 소프트웨어를 기반으로 구조를 정리할 필요가 있었습니다. 이에 기존 ASRM 기반 UEFI 복구 부팅 구조를 제거하고, GNU 프로젝트에서 개발하는 GRUB2를 사용하는 방식으로 전환했습니다. 이번 변경의 주요 목적은 단순히 부팅 프로그램을 교체하는 것이 아니라, 저작권과 라이선스 준수를 고려하면서 RPC Recovery Solution의 복구 부팅 기능을 독립적으로 관리할 수 있는 구조를 마련하는 것입니다.

2. ASRM 방식을 변경한 이유

기존 방식에서 사용하던 ASRM 관련 소스 및 실행 구성 요소는 Acronis True Image와 관련된 저작권 및 라이선스 검토가 필요한 대상이었습니다. Acronis True Image는 상용 소프트웨어이며, 사용 및 배포 권한은 해당 제품에 적용되는 라이선스 계약에 따라 결정됩니다. 일반적으로 소프트웨어를 사용할 수 있는 권한이 있다고 해서 해당 구성 요소를 별도의 프로그램에 포함하거나 제3자에게 재배포할 수 있는 권한까지 자동으로 부여되는 것은 아닙니다. RPC Recovery Solution은 별도의 복구 솔루션으로 개발되고 있으므로, 기존 ASRM 구현을 계속 사용하는 것보다 배포 조건을 명확하게 확인할 수 있는 부트로더를 채택하는 방향이 적절하다고 판단했습니다.

 

이에 따라 다음 사항을 고려했습니다.

  • 저작권 준수: 제3자 소프트웨어의 저작권과 사용 조건을 고려한 구성 요소 선정
  • 재배포 조건 명확화: 복구 솔루션과 함께 배포할 부트로더의 라이선스 확인
  • 설정 관리 개선: 별도의 설정 파일을 통해 핫키와 부팅 동작을 관리하는 구조
  • 유지보수 편의성: 기존 ASRM 전용 설정 처리에서 GRUB2 설정 파일을 생성하고 관리하는 방식으로 변경
  • 독립적인 개발 구조: 특정 상용 제품에 종속된 구성 요소를 복구 부팅의 핵심 경로에서 제외

이번 전환은 ASRM이 기술적으로 동작하지 않거나 성능이 부족해서 이루어진 것이 아닙니다. 핵심 배경은 소프트웨어의 저작권 및 라이선스 조건을 고려한 구조 변경입니다.

3. GRUB2를 선택한 이유

GRUB2는 GNU 프로젝트에서 개발하는 범용 부트로더입니다. GNU GRUB는 GPLv3 또는 이후 버전의 GPL에 따라 배포되는 자유 소프트웨어이며, 라이선스가 허용하는 범위에서 사용·수정·재배포할 수 있습니다. 다만 실제 배포 시에는 적용되는 라이선스의 의무사항을 준수해야 합니다. GRUB2는 설정 파일을 이용해 부팅 항목, 대기 시간 및 부팅 대상 등을 관리할 수 있습니다. 이러한 특성은 RPC Recovery Solution에서 필요한 UEFI 복구 핫키 기능을 구현하는 데 적합합니다. 특히 기존 ASRM 방식에서 XML 파일로 관리하던 설정을 GRUB2의 grub.cfg로 변경하면, 프로그램에서 지정한 설정값을 부팅 설정에 직접 반영할 수 있습니다.

 

GRUB2를 선택한 주요 이유는 다음과 같습니다.

  1. 공개된 라이선스 조건을 검토할 수 있는 부트로더를 사용합니다.
  2. UEFI 환경에서 실행 가능한 EFI 부트로더를 기반으로 구성합니다.
  3. 설정 파일을 통해 핫키와 대기 시간, 부팅 항목을 관리합니다.
  4. 상용 제품에 종속된 ASRM 구성 요소를 제거합니다.
  5. 향후 기능 수정과 유지보수 시 부트로더 자체의 라이선스와 RPC Recovery Solution의 자체 코드를 구분해 관리할 수 있습니다.

단, GRUB2가 자유 소프트웨어라는 사실만으로 모든 배포 방식이 자동으로 허용되는 것은 아닙니다. 실제 사용하는 GRUB2 바이너리의 버전, 빌드 구성, 포함된 모듈 및 배포 형태에 적용되는 라이선스를 확인하고, 필요한 저작권 고지와 라이선스 전문 및 소스 코드 제공 관련 의무 등을 검토해야 합니다. 

4. ASRM 방식과 GRUB2 방식 비교

항목기존 ASRM 방식변경된 GRUB2 방식
UEFI 부트로더 asrm.efi grubx64.efi
설정 파일 asrm.xml grub.cfg
설정 생성 ASRM XML 생성 GRUB2 설정 파일 생성
핫키 관리 ASRM 설정 기반 GRUB2 설정 기반
UEFI 부팅 항목 ASRM EFI 실행 경로 GRUB2 EFI 실행 경로
라이선스 고려 Acronis 관련 권리 및 조건 검토 필요 GNU GRUB 및 포함 구성 요소의 라이선스 준수 필요
유지보수 ASRM 전용 구성에 의존 GRUB2 설정 파일 중심으로 관리

 

기존 방식은 ASRM 실행 파일과 설정 파일을 배포하고 해당 실행 파일을 UEFI 펌웨어 부팅 항목에 등록하는 구조였습니다. 변경된 방식은 GRUB2 EFI 실행 파일과 grub.cfg를 복구 파티션에 배포하고, UEFI 펌웨어가 GRUB2를 실행하도록 구성합니다. 이를 통해 부팅 구성 요소와 설정 파일의 역할을 명확하게 구분하고, 핫키 및 부팅 동작을 GRUB2 설정을 중심으로 관리하도록 변경했습니다.

5. GRUB2 방식의 구성

GRUB2 기반 복구 부팅에 필요한 주요 파일은 다음과 같습니다.

RPC_REC
└─ EFI
   └─ RPC
      ├─ grubx64.efi
      ├─ grub.cfg
      └─ unicode.pf2
  • grubx64.efi: UEFI에서 실행되는 GRUB2 부트로더
  • grub.cfg: 핫키, 안내 문구, 대기 시간 및 부팅 항목 설정
  • unicode.pf2: 필요한 경우 사용하는 GRUB2 글꼴 파일

프로그램은 사용자가 선택한 핫키와 대기 시간 등의 설정을 반영해 grub.cfg를 생성합니다. UEFI 펌웨어의 부팅 항목은 \EFI\RPC\grubx64.efi를 실행하도록 구성합니다. GRUB2는 설정 파일에 정의된 부팅 항목을 통해 복구 환경으로 진입할 수 있도록 구성되며, Windows PE 부팅에 필요한 후속 실행 파일과의 연결은 실제 복구 환경에 맞게 설정합니다.

6. 기존 복구 기능은 유지

이번 변경은 RPC Recovery Solution 전체를 새로 개발한 것이 아니라, UEFI 복구 부팅에 사용하던 ASRM 구성 요소를 GRUB2로 교체한 것입니다.

 

기존의 주요 기능은 다음과 같이 유지합니다.

  • 복구 파티션 구성
  • Windows RE 및 Windows PE 기반 복구 환경 구성
  • WIM 파일 크기에 따른 복구 파티션 용량 계산
  • Windows PE 부팅을 위한 BCD 구성
  • 복구 부팅 핫키 등록 및 해제
  • UEFI 펌웨어 부팅 항목 관리
  • 설정 저장과 작업 로그 관리

또한 BIOS/MBR 환경에서는 기존 MBR 스텁 기반 핫키 처리 방식을 별도로 유지합니다. 따라서 GRUB2 전환은 UEFI 복구 부팅 경로를 대상으로 한 변경이며, BIOS/MBR 부팅 구조까지 동일한 방식으로 교체한 것은 아닙니다.

7. 저작권과 라이선스 준수를 위한 배포 원칙

RPC Recovery Solution에서 GRUB2를 사용하더라도 프로젝트 자체의 소스 코드와 GRUB2 구성 요소의 라이선스는 구분해서 관리해야 합니다.

 

배포 시에는 다음 사항을 확인할 필요가 있습니다.

  • 사용하는 GRUB2 버전과 해당 버전의 라이선스
  • 바이너리 및 포함 모듈의 저작권 고지와 라이선스 전문
  • 수정된 GRUB2 구성 요소가 있다면 적용되는 소스 코드 제공 의무
  • GRUB2와 별도로 포함하는 글꼴, EFI 프로그램 및 기타 구성 요소의 라이선스
  • RPC Recovery Solution 자체 코드와 외부 구성 요소의 배포 조건

특히 GRUB2의 실행 파일을 배포한다면 해당 바이너리에 적용되는 GPL 조건을 확인해야 합니다. GRUB2를 사용한다는 이유만으로 RPC Recovery Solution의 모든 소스 코드에 동일한 라이선스가 자동으로 적용된다고 단정할 수는 없으며, 구성 요소의 결합 방식과 실제 배포 형태를 함께 검토해야 합니다. 이번 전환은 이러한 라이선스 검토를 전제로, 기존 ASRM 구성 요소에 대한 의존성을 제거하고 부트로더와 자체 프로그램의 역할을 구분하는 방향으로 진행했습니다.

8. 마무리

RPC Recovery Solution의 ASRM에서 GRUB2로의 전환은 저작권 및 라이선스 조건을 고려한 구조 변경입니다. 기존 ASRM 기반 방식에서는 Acronis True Image와 관련된 저작권 및 재배포 조건을 검토할 필요가 있었습니다. 이에 따라 공개된 라이선스 조건을 확인할 수 있는 GRUB2를 UEFI 복구 부팅에 적용하고, 핫키와 부팅 설정을 grub.cfg 중심으로 관리하도록 변경했습니다. 이를 통해 상용 소프트웨어에 종속된 부팅 구성 요소를 제거하고, 부트로더의 라이선스와 자체 프로그램의 기능을 구분해 관리할 수 있는 기반을 마련했습니다. 앞으로도 RPC Recovery Solution은 복구 기능뿐 아니라, 사용하는 외부 구성 요소의 저작권과 라이선스 조건을 고려해 배포 가능한 구조를 유지하는 것을 목표로 합니다.

 


 

 


 

RPC Recovery Solution - GRUB2 방식으로 전환 테스트 - 움짤(GIF) 

 


 

반응형

+ Recent posts