VirtualBox安装虚拟机启动vagrant up命令ssh不成功报错终极解决方案

在使用Oracle VM VirtualBox虚拟机安装centos-7.box的时候出现了各种问题,我大概除了的15个小时才解决掉。

开始为了防止兼容性的问题,我都使用了教程中的版本,其实这一步注定了错误的结局。

一些列的错误,各种方式都解决了,但最后还是青色的信息出不来。虚拟化,ssh等,本机都是没问题的。虚拟机连接方式,IP地址多次更改也是ping不通。

最后就一个办法下载最新版的程序包,问题解决了。

CentOS-7-x86_64-Vagrant-2004_01.VirtualBox .box

vagrant_2.2.10_x86_64.msi

VirtualBox-6.1.12-139181-Win.exe

如果使用vagrant up方式下载不下来,只能在url中下载了,和网络有关的,我在10小时内下载了很多次,就一次成功的。

由于在本地安装,且便于安装,我将CentOS-7-x86_64-Vagrant-2004_01.VirtualBox .box放入一个文件夹内,并且改名字为centos-7.box。

盒子位置如图:

 

 红框的文件是后生成的,先不必管它。

vagrant安装位置【这个在哪其实无所谓】:

 

然后执行下面的红色代码就能安装成功了。

其他博主说的哪些安装方式我都没成功,这是很多次失败得到的结果。

切记,如果没有安装成功,要从第一步vagrant开始安装【也许是我电脑特殊吧】,如果不这么做有时候会报其他错误。

有的错误信息记不清了,但是网上解决方案很难找,我将解决位置和方法记下来。

根据自己的安装路径去找VBoxDrv.inf文件。

我的如下:

D:\Program Files\Oracle\VirtualBox\drivers\vboxdrvVBoxDrv.inf

 

 

 找到后鼠标右键——安装

这样可以清除一些错误提示。

完整安装流程:

PS D:\centos_vagrant> vagrant
Usage: vagrant [options] <command> [<args>]

    -h, --help                       Print this help.

Common commands:
     autocomplete    manages autocomplete installation on host
     box             manages boxes: installation, removal, etc.
     cloud           manages everything related to Vagrant Cloud
     destroy         stops and deletes all traces of the vagrant machine
     global-status   outputs status Vagrant environments for this user
     halt            stops the vagrant machine
     help            shows the help for a subcommand
     init            initializes a new Vagrant environment by creating a Vagrantfile
     login
     package         packages a running vagrant environment into a box
     plugin          manages plugins: install, uninstall, update, etc.
     port            displays information about guest port mappings
     powershell      connects to machine via powershell remoting
     provision       provisions the vagrant machine
     push            deploys code in this environment to a configured destination
     rdp             connects to machine via RDP
     reload          restarts vagrant machine, loads new Vagrantfile configuration
     resume          resume a suspended vagrant machine
     snapshot        manages snapshots: saving, restoring, etc.
     ssh             connects to machine via SSH
     ssh-config      outputs OpenSSH valid configuration to connect to the machine
     status          outputs status of the vagrant machine
     suspend         suspends the machine
     up              starts and provisions the vagrant environment
     upload          upload to machine via communicator
     validate        validates the Vagrantfile
     version         prints current and latest Vagrant version
     winrm           executes commands on a machine via WinRM
     winrm-config    outputs WinRM configuration to connect to the machine

For help on any individual command run `vagrant COMMAND -h`

Additional subcommands are available, but are either more advanced
or not commonly used. To see all subcommands, run the command
`vagrant list-commands`.
        --[no-]color                 Enable or disable color output
        --machine-readable           Enable machine readable output
    -v, --version                    Display Vagrant version
        --debug                      Enable debug output
        --timestamp                  Enable timestamps on log output
        --debug-timestamp            Enable debug output with timestamps
        --no-tty                     Enable non-interactive output
PS D:\centos_vagrant> vagrant box add centos/7 D:\centos_vagrant\centos-7.box
==> box: Box file was not detected as metadata. Adding it directly...
==> box: Adding box 'centos/7' (v0) for provider:
    box: Unpacking necessary files from: file:///D:/centos_vagrant/centos-7.box
    box:
The box you're attempting to add already exists. Remove it before
adding it again or add it with the `--force` flag.

Name: centos/7
Provider: virtualbox
Version: 0
PS D:\centos_vagrant> vagrant init centos/7
A `Vagrantfile` has been placed in this directory. You are now
ready to `vagrant up` your first virtual environment! Please read
the comments in the Vagrantfile as well as documentation on
`vagrantup.com` for more information on using Vagrant.
PS D:\centos_vagrant> vagrant up
Bringing machine 'default' up with 'virtualbox' provider...
==> default: Importing base box 'centos/7'...
==> default: Matching MAC address for NAT networking...
==> default: Setting the name of the VM: centos_vagrant_default_1599716090579_64495
==> default: Clearing any previously set network interfaces...
==> default: Preparing network interfaces based on configuration...
    default: Adapter 1: nat
==> default: Forwarding ports...
    default: 22 (guest) => 2222 (host) (adapter 1)
==> default: Booting VM...
==> default: Waiting for machine to boot. This may take a few minutes...
    default: SSH address: 127.0.0.1:2222
    default: SSH username: vagrant
    default: SSH auth method: private key
    default:
    default: Vagrant insecure key detected. Vagrant will automatically replace
    default: this with a newly generated keypair for better security.
    default:
    default: Inserting generated public key within guest...
    default: Removing insecure key from the guest if it's present...
    default: Key inserted! Disconnecting and reconnecting using new SSH key...
==> default: Machine booted and ready!
==> default: Checking for guest additions in VM...
    default: No guest additions were detected on the base box for this VM! Guest
    default: additions are required for forwarded ports, shared folders, host only
    default: networking, and more. If SSH fails on this machine, please install
    default: the guest additions and repackage the box to continue.
    default:
    default: This is not an error message; everything may continue to work properly,
    default: in which case you may ignore this message.
==> default: Rsyncing folder: /cygdrive/d/centos_vagrant/ => /vagrant
PS D:\centos_vagrant> vagrant ssh
[vagrant@localhost ~]$
[vagrant@localhost ~]$
[vagrant@localhost ~]$ whoami
vagrant
[vagrant@localhost ~]$ ls /
bin   dev  home  lib64  mnt  proc  run   srv       sys  usr      var
boot  etc  lib   media  opt  root  sbin  swapfile  tmp  vagrant
[vagrant@localhost ~]$ exit;
logout
Connection to 127.0.0.1 closed.
PS D:\centos_vagrant>

  

vagrant 常用命令

启动

vagrant up

退出
vagrant halt

重启
vagrant reload

如果不使用命令,有时候虚拟机会报错坏掉😔

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章