VirtualBox 직렬 포트에 대한 종합 가이드

VirtualBox는 가상 머신 내부에서 직렬(COM) 포트를 에뮬레이션할 수 있게 해 주어, 레거시 애플리케이션을 실행하거나 물리적 직렬 장치를 연결하거나 가상 시스템 간 통신을 설정할 수 있습니다. VirtualBox COM 포트를 올바르게 구성하면 직렬 데이터를 호스트 머신으로 리디렉션하고, 실제 하드웨어를 공유하거나, 파이프 및 네트워크 소켓을 사용해 가상 연결을 만들 수 있습니다.

이 문서는 VirtualBox 직렬 포트가 어떻게 작동하는지, 사용 가능한 구성 옵션, 그리고 가상 환경에서 COM 포트를 연결하고 관리하는 실용적인 방법을 설명합니다.

VirtualBox에서의 직렬 포트 에뮬레이션 및 관리

VirtualBox에서 생성된 가상 시리얼 포트는 기본적으로 운영 체제에서 표준 16550A 호환 UART 장치로 인식됩니다. VBoxManage modifyvm 명령을 사용하면 포트가 다른 유형의 UART 장치를 에뮬레이션하도록 할 수 있습니다. 가상 시리얼 포트는 양방향 통신을 위한 데이터 수신 및 전송을 지원합니다. 호스트 머신과의 연결은 해당 운영 체제의 기능을 사용하여 사용자 지정됩니다.

사용자는 VirtualBox 설정 탭 또는 VBoxManage 명령을 사용하여 가상 시리얼 포트를 설정합니다. 각 가상 머신에 대해 최대 4개의 가상 시리얼 포트를 구성할 수 있습니다. 포트 번호는 구성 중에 할당되며 일반적으로 COM1, COM2 등과 같은 표준 값을 따릅니다. 가상 시리얼 포트를 설정할 때 사용자가 정의한 이름을 사용하는 것도 가능합니다.

VirtualBox 설정의 직렬 포트

Virtualbox의 포트 모드 옵션 및 통신 기법

가상 포트의 연결에 영향을 미치는 포트 모드를 선택할 때 여러 가지 선택지가 있습니다. 선택지는 다음과 같습니다:

  • 연결 해제됨 – 게스트 OS가 장치를 인식하지만 포트에 연결되지 않은 것처럼 처리합니다.
  • 호스트 장치 – 이 옵션은 가상 직렬 포트를 호스트 컴퓨터의 물리적 직렬 포트에 연결합니다. 경로는 호스트 OS의 형식을 반영합니다. 예를 들어, Linux에는 /dev/ttyS0가 사용되고 Windows 시스템에는 COM1이 사용됩니다.
  • 호스트 파이프 – 이 옵션은 Windows 시스템에서 명명된 파이프를 생성하거나 Mac, Linux 또는 Oracle Solaris에서 로컬 도메인 소켓을 사용합니다. 이는 소프트웨어에서 호스트 OS로 파이프 연결을 생성하는 데 권장되는 설정입니다.
  • 원시 파일 – 이 모드는 가상 직렬 포트의 출력을 파일에 저장하여 게스트 운영 체제의 진단 데이터를 수집하는 데 사용할 수 있습니다.
  • TCP 소켓 – 이 모드를 사용하면 VirtualBox 직렬 포트 패스스루가 설정되고 직렬 데이터를 TCP/IP 네트워크를 통해 전달할 수 있습니다. VM은 서버 또는 클라이언트로 작동할 수 있습니다.


여러 개의 가상 직렬 포트를 생성할 경우, 포트들이 동일한 인터럽트 레벨을 사용하는 경우 통신 충돌을 피하기 위해 인터럽트 공유를 구현해서는 안 됩니다.

사용자는 널 모뎀 연결을 통해 가상 머신 간의 통신을 설정할 수 있습니다. VM 중 하나는 두 번째 VM이 첫 번째 머신에 연결하는 데 사용하는 파이프 또는 소켓으로 구성됩니다.

TCP 소켓 모드는 TCP를 통해 게스트 머신의 직렬 포트에 대한 외부 연결 생성을 지원합니다. VirtualBox는 telnet과 같은 도구로 접근할 수 있는 TCP 서버 모드와, 가상 널 모뎀 케이블에 적합한 TCP 클라이언트 모드를 모두 지원합니다.

VirtualBox 직렬 포트에 대한 지식은 개발자와 시스템 프로그래머에게 VM의 기능을 확장할 수 있는 유용한 도구를 제공합니다. 포트는 물리적 직렬 인터페이스 없이도 장치 공유, 커널 디버깅 또는 네트워크 브리지 설정에 사용할 수 있습니다.

VirtualBox 직렬 포트 기술 세부 정보

VirtualBox는 가상 머신당 최대 4개의 가상 직렬 포트를 지원합니다. 각 포트는 표준 PC COM 인터페이스를 에뮬레이션하며, 레거시 소프트웨어 및 운영 체제와의 호환성을 보장하기 위해 특정 하드웨어 매개변수가 필요합니다.

VirtualBox의 기본 COM 포트 설정

직렬 포트를 수동으로 구성할 때는 I/O 기본 주소IRQ 번호를 지정해야 합니다. VirtualBox는 전통적인 PC 직렬 포트 레이아웃을 따릅니다:

COM 포트 I/O 기본 주소 IRQ
COM1 0x3F8 4
COM2 0x2F8 3
COM3 0x3E8 4
COM4 0x2E8 3

이러한 기본값을 사용하면 충돌을 방지하고 게스트 운영 체제가 직렬 장치를 올바르게 감지하도록 보장하는 데 도움이 됩니다.

참고: 일부 레거시 시스템은 공유 IRQ를 잘 처리하지 못할 수 있습니다. 통신 문제가 발생하면 다른 가상 하드웨어가 동일한 인터럽트를 사용하고 있지 않은지 확인하십시오.

VBoxManage를 통해 시리얼 포트를 구성하기

VirtualBox 그래픽 인터페이스 외에도 시리얼 포트는 VBoxManage 명령줄 도구를 사용하여 구성할 수 있습니다. 이 접근 방식은 자동화, 스크립팅 또는 헤드리스 환경에 유용합니다.

VirtualBox는 다음과 같은 명령 옵션을 제공합니다:

  • --uart – 시리얼 포트 번호와 하드웨어 매개변수를 정의합니다
  • --uartmode – 포트가 어떻게 연결되는지(호스트 장치, 파이프, 소켓, 파일 등) 지정합니다
  • --uarttype – UART 에뮬레이션 유형을 설정합니다


명령줄 구성은 고급 사용자가 GUI에 의존하지 않고 시리얼 포트 동작을 정밀하게 제어할 수 있게 해줍니다.

Serial to Ethernet Connector를 사용한 VirtualBox 시리얼 포트 패스스루

VirtualBox 시리얼 포트 패스스루를 단순화하고 물리적 시리얼 장치에 대한 액세스를 활성화하려면 Serial to Ethernet Connector를 사용할 수 있습니다. 이 소프트웨어를 사용하면 VM 내부에 가상 시리얼 포트를 생성하여 VirtualBox 가상 머신이 로컬 또는 원격 Windows 호스트에 연결된 시리얼 장치에 연결할 수 있습니다.

Serial to Ethernet Connector를 사용하면 가상 머신이 네트워크로 연결된 시리얼 주변 장치를 직접 연결된 것처럼 완전히 제어할 수 있습니다. 이 접근 방식은 시리얼 장치 관리에 유연성을 더해 하드웨어를 가상 머신을 재구성하지 않고도 가상 세션 간에 쉽게 재할당할 수 있도록 합니다.

VirtualBox에서 COM 포트 설정하기

다음 단계에서는 가상 머신에서 가상 직렬 포트를 설정하고 공유하는 방법을 보여줍니다.

1. 물리적 시리얼 포트를 공유할 컴퓨터에 Serial to Ethernet Connector를 다운로드하고 설치합니다.

2. 프로그램을 실행하고 서버 연결 탭을 여세요.

3. 호스트 머신의 COM 포트 이름과 통신을 모니터링할 TCP 포트를 제공하십시오.

4. 서버 연결 만들기를 선택합니다.

5. 공유된 물리적 포트에 액세스할 게스트 운영 체제의 클라이언트 연결 탭에서 직렬 포트를 가상 머신에 연결합니다.

6. 서버 생성 중에 정의된 TCP 포트 이름과 호스트 컴퓨터의 IP 주소를 제공하십시오.

7. 가상 머신의 직렬 포트 이름을 선택합니다.

8. 클라이언트 연결 만들기를 선택합니다.

비디오 튜토리얼

COM Port Redirector를 사용하면 가상 머신 환경에서 시리얼 포트에 액세스할 수 있습니다. 클라이언트 연결을 설정한 후 COM Port Redirector(일명 Serial to Ethernet Connector)는 연결된 장치를 사용할 때 직접 물리적으로 연결했을 때와 동일한 수준의 기능을 게스트 VM에 제공합니다.