Vagrant Not Starting Up. User that created VM does

2019-01-29 22:23发布

问题:

I was trying to start up my vagrant machine, so I navigated to the folder where my vagrantfile is, and used:

vagrant up && vagrant ssh

but I got the following error message:

The VirtualBox VM was created with a user that doesn't match the current user running Vagrant. VirtualBox requires that the same user be used to manage the VM that was created. Please re-run Vagrant with that user. This is not a Vagrant issue.

The UID used to create the VM was: 0 Your UID is: 501

I also tried with sudo, but that didn't work either.

Do I need to switch UID's? And how would I do this?

回答1:

I ran into the same problem today.
I edited my UID by opening the file .vagrant/machines/default/virtualbox/creator_uid and changing the 501 to a 0.

After I saved the file, the command vagrant up worked like a champ.

NB: the .vagrant folder is in the same directory as your Vagrantfile, where you ran vagrant up



回答2:

Ran into this problem in a slightly different situation. The issue was that ".vagrant" was checked into the git repo, and the committer was running under a different UID than I was.

Solution: add .vagrant to .gitignore.



回答3:

I ran into the same issue, but in my case it was because I had ran vagrant up under sudo, and when I came back to it later I'd forgotten.

Silly mistake, but I'm sure it's not the first time it's happened someone :)



回答4:

I tried changing the id in .vagrant\machines\default\virtualbox\creator_uid and that did not work for me but deleting the file, creator_uid did the trick.



回答5:

just change user ID here .vagrant/machines/default/virtualbox/creator_uid



回答6:

According to the VirtualBox User Manual:

As a security measure, the Linux implementation of internal networking only allows VMs running under the same user ID to establish an internal network.

In other words, you have to switch to root (UID 0) to run it.



回答7:

It's possible you ran the command: sudo vagrant up

This would mean as your regular user you are unable to see or even delete the /.vagrant folder and files.

If so, simply run: sudo vagrant destroy -f

Then you should be able to run (as your normal user account): vagrant up



回答8:

Run the following commands:

bash
sudo vagrant up


回答9:

I had the same problem after I got a new computer. Instead of of copying all files from my old computer, I had to check out the vagrant projects again from the git repository. After that, vagrant up worked fine.



回答10:

Just to add on to Fred's https://stackoverflow.com/a/32256848/2065804 answer.

Make sure you changed the correct VM's machine. For example, my VM name is NOT default but rather called homestead-7.

So the path to the correct one is:

.vagrant/machines/homestead-7/virtualbox/creator_uid

and not:

.vagrant/machines/default/virtualbox/creator_uid

This error happened to me when I changed my Mac to another Mac.



回答11:

Remove the content of .vagrant hidden dir in the current working dir and re-run vagrant up command. Error, because of copy / backup of Vagranfile /s from one system to another system. user id's mismath to the Vagrant to bring up the environment.. hope it helps cheers..!! :)) if u don't wish to delete that folder u can update uid of current user in file in the hidden dir of current working dir, i.e .vagrant/machines/jenkins/virtualbox$ vim creator_uid



回答12:

I've faced the same situation, but I have a multi-machine Vagrantfile.

To replace the old uid (1001) by the new one (1000) I've used the following command:

for i in $(find . -type f -iname "creator_uid" ) ; do echo 1000 > $i ; done


回答13:

I had the same problem I had forgotten to place sudo before vagrant up, you just have to execute sudo vagrant up in the folder of your vagrant file.