====== VirtualBox 가상 머신 자동시작 ====== * [[https://kifarunix.com/autostart-virtualbox-vms-on-system-boot-on-linux/|AutoStart VirtualBox VMs on System Boot on Linux - kifarunix.com]] * [[https://wdmbr.wordpress.com/2018/12/14/how-to-set-your-virtualbox-vm-to-automatically-startup/|How To Set Your VirtualBox VM to Automatically Startup – WDMbr]] : 종료방식도 지정 * [[https://linux.m2osw.com/autostart-virtualbox-vms|Autostart Virtualbox VMs in Ubuntu 18.04 | The Linux Page]] ===== 가상머신의 자동 종료(shutdown) ===== * 시스템 종료(Shutdown)시 행동은 ''vboxdrv'' 서비스가 관장한다. ''/etc/default/virtualbox'' 에 다음 내용을 넣는다. SHUTDOWN_USERS="myuserid myuserid2" # VBOX 사용자 ID를 공백으로 구분하여 넣음 SHUTDOWN=acpibutton # 종료 방식 결정 : poweroff, acpibutton, savestate * 이제 운영체제 종료시 실행 중인 가상 머신을 자동으로 정상 종료 시켜준다. ===== vbox-service-template ===== * [[https://github.com/bkidwell/vbox-service-template|vbox-service-template]] 원하는 가상머신을 띄우는 서비스를 만드는 템플릿 * 템플릿을 ''/etc/init.d/vbox-가상머신이름'' 으로 복사한다. * 파일 편집 * ''# Provides: vbox-service-template'' 부분을 ''# Provides: vbox-가상머신이름''으로 변경한다. * ''VM_OWNER'' 값을 가상 머신 소유자 ID로 변경한다. * ''VM_STOP'' 값을 지정한다. * 서비스 등록 sudo update-rc.d vbox-가상머신이름 defaults 90 # 등록 취소 sudo update-rc.d -f vbox-가상머신이름 remove * 자동 시작시 Network이 안 잡히는 문제가 있다. 아직 원인 모름. ===== VirtualBox 4.2 autostart script ===== * VirtualBox 4.2 부터 Linux, Solaris, MacOS X 등에서 가상머신을 부팅시 자동시작하는 서비스가 생겼다. * 2013년 겨울 현재, 잘 작동 안하는 듯. * 아래 예에서 ''myuserid''를 가상머신 보유자 ID로 가정한다. * [[http://lifeofageekadmin.com/how-to-set-your-virtualbox-vm-to-automatically-startup/|Linux/MacOS 등에서 가상머신 자동시작]] * [[http://www.virtualbox.org/manual/ch09.html#autostart|Chapter 9. Advanced topics # Autostart]] * ''/etc/default/virtualbox'' 편집 VBOXAUTOSTART_DB=/etc/vbox VBOXAUTOSTART_CONFIG=/etc/vbox/autostart.cfg * ''/etc/vbox/autostart.cfg'' 편집 # Default policy is to deny starting a VM, the other option is "allow". default_policy = deny # Create an entry for each user allowed to run autostart myuserid = { allow = true startup_delay = 10 # 가상머신 10초 지연해서 시작 } * 권한 부여 sudo chgrp vboxusers /etc/vbox sudo chmod 1775 /etc/vbox # vboxusers 들이 모두 쓰기 권한이 돼야하고 Sticky 필요. * 사용자를 vboxusers 그룹에 추가 groups myuserid # myuserid 사용자의 그룹 목록 출력 sudo usermod -G [출력된모든group 목록을 띄어쓰기없이 쉼표로구분하여나열],vboxusers myuserid # 예) usermod -G sudo,adm,cdrom,sudo,dip,plugdev,ppadmin,sambashare,vboxusers myuserid * 자신의 가상머신을 자동으로 띄우고자 하는 사용자는 사용자 가상머신에 자동시작 옵션추가 vboxmanage setproperty autostartdbpath /etc/vbox vboxmanage modifyvm [원하는VM이름] --autostart-enabled on # 자동시작에서 제거 vboxmanage modifyvm [원하는VM이름] --autostart-enabled off # 이 명령 실행 후에 /etc/vbox 에 myuserid.start 파일이 생성된다. * 서비스 실행해보기 sudo service vboxautostart-service start