protected function boot() {
    $this->checkRequirements();
    $this->yell(" * We have configured your new Drupal VM to use PHP 7.2. If you would like to change this, edit box/config.yml.");
    $confirm = $this->confirm("Do you want to boot Drupal VM?", TRUE);
    if ($confirm) {
      $this->say("In the future, run <comment>vagrant up</comment> to boot the VM.");
      $result = $this->taskExec("vagrant up")
        ->dir($this->getConfigValue('repo.root'))
        ->printOutput(TRUE)
        ->run();
      if (!$result->wasSuccessful()) {
        $this->logger->error("Drupal VM failed to boot. Read Drupal VM's previous output for more information.");
        $confirm = $this->confirm("Do you want to try to re-provision the VM? Sometimes this works.", TRUE);
        if ($confirm) {
          $result = $this->taskExec("vagrant provision")
            ->dir($this->getConfigValue('repo.root'))
            ->printOutput(TRUE)
            ->run();
          if (!$result->wasSuccessful()) {
            throw new BltException("Unable to provision virtual machine. This is likely due to an issue with your Drupal VM configuration and not BLT itself.");
          }
        }
      }
      else {
        $this->yell("Drupal VM booted successfully.");
        $this->say(" * To run blt or drush commands against your VM, must SSH into the VM via <comment>vagrant ssh</comment>.");
        $this->say(" * From now on, please use vagrant commands to manage your virtual machine on this computer.");
      }
      return $result;
    }
  }