다음을 통해 공유

Windows HCS API용 Android 디스크 이미지 구성 및 Visual Studio 내 VM 부팅 로그 트래킹 관련 문의

Minho Park 20 평판 포인트
2026-05-30T04:18:41.38+00:00

저희는 현재 Microsoft의 Host Compute Service (HCS) API를 활용하고자 관련 공식 문서를 검토하고 HcsCreateComputeSystemHcsStartComputeSystem에 대한 기본적인 스터디를 마친 상태입니다.

다만, 현재 스토리지 설정 단계에서 어려움을 겪고 있습니다. HCS API는 특정 드라이브 레이아웃을 요구하는 반면, 저희가 컴파일한 안드로이드 환경에서는 kernel.img, system.vhdx, product.vhdx, metadata.vhdx 등 여러 개의 독립된 파일들이 생성되는 상황입니다. 이 파일들을 HCS의 구성 속성(Configuration properties)에 어떻게 매핑하고 작성해야 하는지 다룬 심도 있는 가이드가 있을까요?

추가로, Visual Studio 내에서 해당 HCS API 코드를 디버깅할 때, VM 내부의 부팅/로딩 로그(Internal VM loading logs)를 캡처할 수 있는 방법은 무엇인지도 알고 싶습니다.

선배님들의 소중한 답변 기다리겠습니다. 감사합니다!

비즈니스용 Windows | Windows 365 비즈니스
댓글 0개 설명 없음

답변 2개

정렬 기준: 가장 유용함
  1. Jason Nguyen Tran 20,115 평판 포인트 독립 자문가
    2026-05-31T01:48:07.76+00:00

    안녕하세요,

    문제가 해결되었는지 확인하기 위해 다시 연락드립니다. 추가 정보가 필요하시면 언제든지 답변해 주세요. 제공된 정보가 도움이 되었다면, 다른 커뮤니티 사용자들에게도 도움이 될 수 있도록 **"Accept Answer"**를 클릭해 주시면 감사하겠습니다. 감사합니다!

    이 대답이 도움이 되었나요?

    댓글 0개 설명 없음

  2. Jason Nguyen Tran 20,115 평판 포인트 독립 자문가
    2026-05-30T05:02:49.92+00:00

    안녕하세요,

    Android 이미지처럼 Windows 기반이 아닌 디스크 레이아웃을 매핑할 때 Host Compute Service (HCS) API를 다루는 것은 꽤 까다로울 수 있습니다. 말씀하신 여러 파일들(kernel.img, system.vhdx, product.vhdx, metadata.vhdx)은 기본적으로 HCS 프로퍼티에 1:1로 매핑되지 않습니다. 대신, HcsCreateComputeSystem의 설정 JSON 파일 내 Storage 섹션에서 각 VHDX를 가상 디스크 리소스로 연결해 주어야 합니다. 일반적으로 kernel.img는 부팅 이미지로 처리되며, system/product/metadata VHDX 파일들은 명시적인 경로를 가진 서브 드라이브로 마운트됩니다.

    도움이 될 만한 자료로는 __HCS 스키마 문서__를 검토하시거나, __Linux 컨테이너 및 VM 시나리오용 JSON 설정 샘플__을 참고하시는 것을 추천합니다. 해당 샘플들을 보시면 여러 디스크를 선언하고 이를 VM의 루트 파일 시스템(Root file system)에 매핑하는 방법을 파악하실 수 있습니다. 참고로, 충돌을 방지하기 위해 metadata.vhdx는 읽기 전용(Read-only) 디스크로 연결하여 테스트해 보시는 것이 좋습니다.

    Visual Studio 내에서 VM 부팅 로그를 캡처하는 방법에 대해서는, HCS 이벤트 로깅 기능(hcsdiag.exe)을 활성화하고 출력을 파일로 리다이렉트하여 진단 트레이싱(Diagnostic tracing)을 수행할 수 있습니다. 또한, VM이 콘솔 로그를 이름 있는 파이프(Named pipe)에 쓰도록 설정하면, Visual Studio로 디버깅하는 동안 해당 파이프에 연결(Attach)하여 로그를 확인할 수 있습니다. 이 방법을 사용하면 개발 환경에서 internal 부트 시퀀스와 커널 메시지를 직접 모니터링할 수 있습니다.

    조금이나마 도움이 되었기를 바랍니다. 본 답변이 문제 해결에 도움이 되었다면 다른 분들도 참고할 수 있도록 "답변 채택(Accept answer)"을 부탁드립니다.

    제이슨 드림.

    이 대답이 도움이 되었나요?

    댓글 0개 설명 없음

답변

질문 작성자는 답변을 '승인됨'으로 표시하고, 중재자는 답변을 '추천됨'으로 표시할 수 있습니다. 이를 통해 사용자는 해당 답변이 작성자의 문제를 해결했다는 것을 알 수 있습니다.