添加存储设备后未启动vagrant vm

添加存储设备后未启动vagrant vm,vagrant,virtual-machine,virtualbox,disk,vagrantfile,Vagrant,Virtual Machine,Virtualbox,Disk,Vagrantfile,我想用两个磁盘的vagrant创建vm。vm在gui上显示错误“致命:无法从启动介质读取”。如果在没有任何磁盘的情况下创建,则运行良好。 这是我的档案: VAGRANTFILE_API_VERSION = "2" Vagrant.configure(VAGRANTFILE_API_VERSION) do |config| config.vm.define "cn1" do |cn1| cn1.vm.box = "trusty" cn1.v

我想用两个磁盘的vagrant创建vm。vm在gui上显示错误“致命:无法从启动介质读取”。如果在没有任何磁盘的情况下创建,则运行良好。 这是我的档案:

VAGRANTFILE_API_VERSION = "2"

Vagrant.configure(VAGRANTFILE_API_VERSION) do |config|
    config.vm.define "cn1" do |cn1|
            cn1.vm.box = "trusty"
            cn1.vm.hostname = "cn1"
            cn1.vm.network "private_network", ip: "192.168.100.11"
            cn1.vm.network "private_network", ip: "10.10.10.11"
            cn1.vm.host_name = "controller1"
            cn1.vm.provider :virtualbox do |vb|
                    vb.memory = 500
                    vb.customize ["createhd",  "--filename", "machine1_disk0", "--size", "8192"]
                    vb.customize ["createhd",  "--filename", "machine1_disk1", "--size", "8192"]
                    vb.customize ["storagectl", :id, "--name", "SATA Controller", "--remove"]
                    vb.customize ["storagectl", :id, "--name", "SATA Controller", "--add", "sata"]
                    vb.customize ["storageattach", :id, "--storagectl", "SATA Controller", "--port", "1", "--type", "hdd", "--medium", "machine1_disk0.vdi"]
                    vb.customize ["storageattach", :id, "--storagectl", "SATA Controller", "--port", "2", "--type", "hdd", "--medium", "machine1_disk1.vdi"]
                    vb.gui = true
            end
    end
end

VirtualBox告诉您无法从磁盘启动

如果打开VirtualBox并查看VM的设置,在“存储”下,您会发现您拥有声明的2个磁盘,但基本映像未连接

如果您现在查看这个虚拟机的文件系统(位置取决于您的操作系统,我在mac上)

fhenri@machine:~/Documents/Virtual Machines.localized/trusty_cn1_1454620633289_44965$ ll
total 3174824
drwx------   6 fhenri  staff         204  4 fév 22:17 .
drwxr-xr-x  12 fhenri  staff         408  4 fév 22:17 ..
drwx------   3 fhenri  staff         102  4 fév 22:17 Logs
-rw-------   1 fhenri  staff  1625489408  4 fév 22:19 box-disk1.vmdk
-rw-------   1 fhenri  staff        8488  4 fév 22:17 trusty_cn1_1454620633289_44965.vbox
-rw-------   1 fhenri  staff        8143  4 fév 22:17 trusty_cn1_1454620633289_44965.vbox-prev 
因此vagrant已经在
box-disk1.vmdk
中导入了该框,但是您已经删除了该磁盘并添加了2个空白磁盘,因此无法启动

如果您删除这两行

            vb.customize ["storagectl", :id, "--name", "SATAController", "--remove"]
            vb.customize ["storagectl", :id, "--name", "SATAController", "--add", "sata"]
然后磁盘仍然连接到VM,您可以启动

现在,如果在VirtualBox中打开VM设置,您将发现3个磁盘(在SATA控制器下):

  • box-disk1.vmdk
  • machine1_disk0.vdi
  • machine1_disk1.vdi