You have a Windows machine and you want to use Linux (e.g. Ubuntu) in it. That is, you want to install an Ubuntu VM (virtual machine) inside Windows. You want to use the command line only, thus you don’t need any graphical interface. Maybe you have a weak laptop where a graphical VM wouldn’t even run normally. In addition, you want to get it done quickly, you have no time to download an Ubuntu image and go through the installation process. What to do?
Use Vagrant. Vagrant is a tool for building complete development environments. We will use Vagrant with VirtualBox, so we need to install both.
Visit https://www.virtualbox.org/ and select Downloads on the left side. Download and install the latest version for Windows hosts. You can also install the Extension Pack. Make sure to install the version that matches with the previously installed VirtualBox version. We won’t work with VirtualBox directly, but Vagrant is built on top of it, so Vagrant will need it.
Visit http://www.vagrantup.com/downloads and install the Windows version. For the curious, Vagrant is written in Ruby. It is very likely that you will have to restart your computer after the installation. After the restart, you can use the command “
vagrant” in the shell, it is added to the
PATH by the installer.
Basic usage of Vagrant
As indicated in the official guide, using vagrant is very easy.
I suggest that you should create a dedicated directory for your first Ubuntu VM,
C:\vagrant for instance. Enter this directory, open a terminal (with the command “
cmd“) and execute the following commands:
c:\vagrant> vagrant init precise32 http://files.vagrantup.com/precise32.box
c:\vagrant> vagrant up
The first command downloads a basic Ubuntu 12.04 LTS image. The second command starts the VM.
Now it’s time to log in to the running VM:
c:\vagrant> vagrant ssh # there is a chance that it won't work...
Well, if it doesn’t work for you under Windows, here is alternative solution: use Putty. Details: hostname: 127.0.0.1, port: 2222, username: vagrant, password: vagrant.
Some other useful commands:
c:\vagrant> vagrant status # Is the VM running?
c:\vagrant> vagrant halt # stop the VM; counterpart of "vagrant up"
Use Bash as your shell
The default Windows shell “
cmd” is quite lame. If you want to use a better shell, install the Cygwin environment, which is a Unix compatibility layer for Windows. It’s enough to install the default packages, but don’t forget to add the “
openssh” package too. In my case, I installed the 64-bit version and added the “
c:\cygwin64\bin” directory to my
PATH. After this you can launch the command “
bash” and execute these commands:
$ cd /cygdrive/c/vagrant
$ vagrant status # Is it running?
$ vagrant up # if it was not running
$ vagrant ssh # thanks to the openssh package, it works now
... # work with the VM
$ vagrant halt # stop it if you don't need it anymore
Using Vagrant under Linux