기타 Hacker News · 6일 전

최신 64비트 윈도우에서 윈도우 3.1 프로그램을 바로 실행하는 방법

핵심 요약
  • 최신 64비트 윈도우에서 지원이 끊긴 윈도우 1.x~3.1용 16비트(Win16) 프로그램을 구동하게 해주는 에뮬레이터 'winevdm' 프로젝트가 공개되었습니다.
  • CPU 에뮬레이션과 Wine 기반 API 변환 릴레이, 최신 윈도우 보안에 맞춘 INI 파일 리디렉션 등을 통해 더블 클릭만으로 레거시 실행이 가능하도록 구현되었습니다.
  • 일부 DOS 실행 파일도 지원하지만 개발자는 완전한 DOS 환경 구동에는 DOSBox 등의 전용 에뮬레이터 사용을 권장하고 있습니다.
요약 최신 64비트 윈도우 환경에서는 아키텍처의 한계로 인해 윈도우 1.x부터 3.1 시절의 고전 16비트(Win16) 프로그램이 기본적으로 전혀 구동되지 않습니다. 이러한 제약을 해결하기 위해 Wine의 에뮬레이션 레이어를 64비트 윈도우에 맞게 개조한 오픈소스 프로젝트 'winevdm(otvdm)'이 깃허브에서 주목받고 있습니다. 프로젝트 설명에 따르면, 64비트 윈도우는 LDT(Local Descriptor Table) 수정 요청 시 항상 에러를 반환하는 구조적 문제가 있어 자체 CPU 에뮬레이터가 포함되어 있습니다. 또한 16비트 API 호출을 32비트 호출로 자동 변환하는 릴레이 루틴, 16비트와 네이티브 핸들 간의 변환 기능, 그리고 Win16용 DOS 에뮬레이션을 함께 내장하여 레거시 호환성을 확보했습니다. 이 도구는 사용성 측면에서도 윈도우의 기본 메커니즘을 적극 활용합니다. 64비트 윈도우가 16비트 인스톨러를 감지했을 때 대체 인스톨러를 실행하는 시스템 기능을 응용해, 제공되는 install.inf를 설치하면 16비트 실행 파일을 마치 일반 파일처럼 더블 클릭으로 바로 구동할 수 있습니다. 또한 고전 프로그램들이 시스템 윈도우 디렉터리(%WINDIR%)에 직접 설정값(.ini)을 저장하려다 최신 윈도우의 권한 문제로 충돌하는 현상을 방지하기 위해 디렉터리 리디렉션 처리까지 구현되어 있습니다. 추가로 DOS 실행 파일 구동 기능도 일부 지원되나, 개발자는 DOS 에뮬레이션의 경우 완성도가 제한적이므로 완벽한 호환성을 원할 경우 DOSBox나 MS-DOS Player 사용을 권장한다고 명시했습니다.
Sponsored · 광고