2014-02-05 3 views
1

가져온 VM을 처음 만들 때 또는 실행하기 전에 만든 VM에 대한 사용자 지정을 수행해야합니다. 예를 들어, 같은 이름의 상자 뒤에 남겨지는 경향이있는 오래된 NAT 포트 포워딩 규칙을 지우고, 일부 디스크 컨트롤러를 제거해야합니다 (SATA를 이해하지 못하는 구형 OS 개정판과의 호환성을 위해 기존 디스크를 SATA 대신 IDE 컨트롤러에 다시 연결) , 등).Vagrant에서 사전 가져 오기 사용자 지정 실행 중

Vagrant 코드에는 pre-bootpre-import 이벤트가 있지만 생성 된 VM을 부팅하기 전에 일부 virtualbox/vagrant 명령을 실행하는 방법이 있는지 궁금합니다.

답변

2

예, VBoxManage 명령을 실행하려면 "VBoxManage 사용자 지정"장 in the docs을 참조하십시오. 명령은 pre-boot 단계에서 실행 기본적으로,하지만 당신은 또한 첫 번째 인수로 위상 지정할 수 있습니다

Vagrant.configure("2") do |config| 
    # ... 

    config.vm.provider "virtualbox" do |v| 
    v.customize "pre-boot", ["modifyvm", :id, "--cpus", 2] 
    end 
end 

을하지만 문제는 디스크를 얻기 쉽고 신뢰할 수있는 방법이없는 것이 있다고 생각 이미지 경로.

+0

실제로 디스크를 찾는 일은 쉽습니다. http://dpaste.com/1587145/. 디스크 UUID를 찾는 것만으로도 충분합니다. vboxmanage 저장소 관련 cmds가 저장소 UUID를 허용하는지 테스트했습니다. – LetMeSOThat4U

+0

아, 멋지다! 방랑은 아마도': disk_uuid' 마법을 지원할 수도 있습니다. – tmatilai

+0

@ 존, 이전에 dpaste에 있던 내용을 다시 게시 할 수 있습니까? OS UUID가 VBoxManage가보고하는 것과 일치하지 않는 문제로 실행되므로 두 가지를 조정하려고합니다. – mway

관련 문제