남은 것

남은 것

목적

VBoxManage startvm MyVM --type headless서비스(postgres, apache)처럼 부팅 시스템에서 이 명령을 실행하고 싶습니다 .

내가 시도한 것

1. 나는서비스사용하여sc명령

인터넷을 통해 해결책이 될 수 있는 것을 찾았으므로 다음 버전을 모두 시도해 보았습니다.

  • sc create "vboxMyVMService" binPath= "C:\Progman Files\Oracle\VirtualBox\VBoxManage.exe startvm MyVM --type headless"

  • sc create "vboxMyVMService" binPath= "C:\Progman Files\Oracle\VirtualBox\VBoxManage startvm MyVM --type headless"

성공하지 못했기 때문에 명령의 자세한 출력을 억제하려고 했습니다.

  • sc create "vboxMyVMService" binPath= "C:\Progman Files\Oracle\VirtualBox\VBoxManage.exe startvm MyVM --type headless > NUL"

  • sc create "vboxMyVMService" binPath= "C:\Progman Files\Oracle\VirtualBox\VBoxManage startvm MyVM --type headless"

아직 결과가 없습니다. 이 모든 버전은 나에게1053오류. 그래서 마지막 호출은 Virtualbox 명령을 경로에 추가하는 것이었습니다.


  • sc create "vboxMyVMService" binPath= "VBoxManage.exe startvm MyVM --type headless"

  • sc create "vboxMyVMService" binPath= "VBoxManage startvm MyVM --type headless"

출력 억제

  • sc create "vboxMyVMService" binPath= "VBoxManage.exe startvm MyVM --type headless > NUL"

  • sc create "vboxMyVMService" binPath= "VBoxManage startvm MyVM --type headless > NUL"

항상 긍정적인 결과는 없습니다1053오류.

2. 컴퓨터 시작 스크립트 할당

나는 이것을 따랐다지도 시간마지막 희망을 품었지만 성공하지 못했습니다.

남은 것

Visual Studio를 다운로드하고 관련된 것을 시도해 볼 생각입니다.서비스 프로젝트 만들기.


그럼 여러분, 내 실수는 어디에 있습니까? 나에게 희망이 있는 걸까?


자주 묻는 질문

  1. OS를 리눅스로 바꿀 수 있나요?

    • 아니요. 그건 불가능합니다.
  2. 시스템을 시작하려면 이 VM이 필요한 이유는 무엇입니까?

    • 불행하게도 이 Windows 7 호스트는 VM에서 실행되는 애플리케이션을 위한 작은 서버입니다. 그 기계는 내 것이 아니며 배포를 위해 그들이 나에게 준 유일한 옵션입니다.
  3. Windows 호스트 내부에 애플리케이션을 배포하지 않는 이유는 무엇입니까?

    • 저는 PHP나 .NET 관련 항목을 실행하고 있지 않으므로 아닙니다.

답변1

나는 함께 달린다NSSM.

다음과 같은 프롬프트에서 NSSM 서비스를 생성합니다.

  1. nssm/win64/nssm.exe install vbox

  2. 이미지와 같이 VBoxHeadless.exe를 선택하세요.

    NSSM 설치 서비스

  3. 로그온 시 Windows 계정 사용(매우 중요)

  4. 설치 서비스

나를 위해 작동합니다.

답변2

먼저 로그인할 필요 없이 VBoxManager 명령을 사용하여 VM을 서비스로 시작하는 메커니즘을 찾을 수 없었습니다.

도구 를 사용하여 Ubuntu Server VM을 서비스로 실행하도록 활성화했습니다 VBoxVmService. https://github.com/onlyfang/VBoxVmService

간략한 설명: VBoxVmService는 기본 Windows 서비스 엔터티 내에서 Oracle의 VirtualBox VM을 실행할 수 있는 Windows 애플리케이션입니다.

내가 이것을 요구한 주된 이유는 로그인이 필요한 사람 없이 VM을 시작하기 위해서입니다. 저는 개발자 워크스테이션이므로 업데이트를 위해 다시 시작되고 누군가가 나를 찌르기 전까지 VM을 시작하는 것을 가끔 잊어버립니다.

작동 방식은 다음과 같습니다.

  • 먼저 필요한 VM이 시작되고 오류 없이 제대로 작동하는지 수동으로 확인합니다. 그렇지 않으면 로그를 통해 디버깅하기가 어려울 것입니다.

  • 설치 VMBoxService세트가 완료되면 Windows 서비스로 실행 가능합니다.

  • 구성 INI 파일을 편집합니다(참조여기전체 문서화된 샘플의 경우)

  • 컴퓨터를 재부팅하거나 VMBoxService's설치된 Windows 서비스를 시작하십시오.

  • 다음은 샘플 INI입니다.

    [Settings]
    VBOX_USER_HOME=C:\Users\YOUR_NAME_HERE\.VirtualBox
    PauseShutdown=8000
    [Vm0]
    VmName=ubuntu-server                                              
    ShutdownMethod=savestate                                    
    AutoStart=yes
    

업데이트: Win 10+만 지원

관련 정보