Vagrant error : Failed to mount folders in Linux guest
I have some issues with Vagrant shared folders, my base system is Ubuntu 13.10 desktop. I do not understand why I have this error is something that is not right configured ? Is a NFS issue or Virtualbox Guest Additions ? I have tried with different many boxes but the same issue.
Failed to mount folders in Linux guest. This is usually because the "vboxsf" file system is not available. Please verify that the guest additions are properly installed in the guest and can work properly. The command attempted was: mount -t vboxsf -o uid=`id -u vagrant`,gid=`getent group vagrant | cut -d: -f3` /vagrant /vagrant mount -t vboxsf -o uid=`id -u vagrant`,gid=`id -g vagrant` /vagrant /vagrant
$ vagrant up Bringing machine 'default' up with 'virtualbox' provider. ==> default: Importing base box 'u131032'. ==> default: Matching MAC address for NAT networking. ==> default: Setting the name of the VM: vagrant_default_1396020504136_46442 ==> default: Clearing any previously set forwarded ports. ==> default: Clearing any previously set network interfaces. ==> default: Preparing network interfaces based on configuration. default: Adapter 1: nat default: Adapter 2: hostonly ==> default: Forwarding ports. default: 22 => 2222 (adapter 1) ==> default: Running 'pre-boot' VM customizations. ==> 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: Error: Connection timeout. Retrying. default: Error: Remote connection disconnect. Retrying. default: Error: Remote connection disconnect. Retrying. default: Error: Remote connection disconnect. Retrying. default: Error: Remote connection disconnect. Retrying. default: Error: Remote connection disconnect. Retrying. default: Error: Remote connection disconnect. Retrying. default: Error: Remote connection disconnect. Retrying. default: Error: Remote connection disconnect. Retrying. default: Error: Remote connection disconnect. Retrying. default: Error: Remote connection disconnect. Retrying. default: Error: Remote connection disconnect. Retrying. default: Error: Remote connection disconnect. Retrying. ==> default: Machine booted and ready! GuestAdditions versions on your host (4.3.10) and guest (4.2.16) do not match. * Stopping VirtualBox Additions . done. Reading package lists. Building dependency tree. Reading state information. The following packages were automatically installed and are no longer required: dkms libdrm-intel1 libdrm-nouveau2 libdrm-radeon1 libfontenc1 libgl1-mesa-dri libglapi-mesa libice6 libllvm3.3 libpciaccess0 libpixman-1-0 libsm6 libtxc-dxtn-s2tc0 libxaw7 libxcomposite1 libxdamage1 libxfixes3 libxfont1 libxkbfile1 libxmu6 libxpm4 libxrandr2 libxrender1 libxt6 x11-common x11-xkb-utils xfonts-base xfonts-encodings xfonts-utils xserver-common xserver-xorg-core Use 'apt-get autoremove' to remove them. The following packages will be REMOVED: virtualbox-guest-dkms* virtualbox-guest-utils* virtualbox-guest-x11* 0 upgraded, 0 newly installed, 3 to remove and 0 not upgraded. After this operation, 11.1 MB disk space will be freed. (Reading database . 65615 files and directories currently installed.) Removing virtualbox-guest-dkms . -------- Uninstall Beginning -------- Module: virtualbox-guest Version: 4.2.16 Kernel: 3.11.0-18-generic (i686) ------------------------------------- Status: Before uninstall, this module version was ACTIVE on this kernel. vboxguest.ko: - Uninstallation - Deleting from: /lib/modules/3.11.0-18-generic/updates/dkms/ - Original module - No original module was found for this module on this kernel. - Use the dkms install command to reinstall any previous module version. vboxsf.ko: - Uninstallation - Deleting from: /lib/modules/3.11.0-18-generic/updates/dkms/ - Original module - No original module was found for this module on this kernel. - Use the dkms install command to reinstall any previous module version. vboxvideo.ko: - Uninstallation - Deleting from: /lib/modules/3.11.0-18-generic/updates/dkms/ - Original module - No original module was found for this module on this kernel. - Use the dkms install command to reinstall any previous module version. depmod. DKMS: uninstall completed. ------------------------------ Deleting module version: 4.2.16 completely from the DKMS tree. ------------------------------ Done. Removing virtualbox-guest-x11 . Purging configuration files for virtualbox-guest-x11 . Removing virtualbox-guest-utils . Purging configuration files for virtualbox-guest-utils . Processing triggers for ureadahead . Processing triggers for man-db . Reading package lists. Building dependency tree. Reading state information. dkms is already the newest version. dkms set to manually installed. linux-headers-3.11.0-18-generic is already the newest version. linux-headers-3.11.0-18-generic set to manually installed. The following packages were automatically installed and are no longer required: libdrm-intel1 libdrm-nouveau2 libdrm-radeon1 libfontenc1 libgl1-mesa-dri libglapi-mesa libice6 libllvm3.3 libpciaccess0 libpixman-1-0 libsm6 libtxc-dxtn-s2tc0 libxaw7 libxcomposite1 libxdamage1 libxfixes3 libxfont1 libxkbfile1 libxmu6 libxpm4 libxrandr2 libxrender1 libxt6 x11-common x11-xkb-utils xfonts-base xfonts-encodings xfonts-utils xserver-common xserver-xorg-core Use 'apt-get autoremove' to remove them. 0 upgraded, 0 newly installed, 0 to remove and 0 not upgraded. Copy iso file /usr/share/virtualbox/VBoxGuestAdditions.iso into the box /tmp/VBoxGuestAdditions.iso mount: block device /tmp/VBoxGuestAdditions.iso is write-protected, mounting read-only Installing Virtualbox Guest Additions 4.3.10 - guest version is 4.2.16 Verifying archive integrity. All good. Uncompressing VirtualBox 4.3.10 Guest Additions for Linux. VirtualBox Guest Additions installer Copying additional installer modules . Installing additional modules . Removing existing VirtualBox DKMS kernel modules . done. Removing existing VirtualBox non-DKMS kernel modules . done. Building the VirtualBox Guest Additions kernel modules . done. Doing non-kernel setup of the Guest Additions . done. Starting the VirtualBox Guest Additions . done. Installing the Window System drivers Could not find the X.Org or XFree86 Window System, skipping. An error occurred during installation of VirtualBox Guest Additions 4.3.10. Some functionality may not work as intended. In most cases it is OK that the "Window System drivers" installation failed. ==> default: Checking for guest additions in VM. ==> default: Setting hostname. ==> default: Configuring and enabling network interfaces. ==> default: Exporting NFS shared folders. ==> default: Preparing to edit /etc/exports. Administrator privileges will be required. nfsd running sudo: /usr/bin/exportfs: command not found ==> default: Mounting NFS shared folders. ==> default: Mounting shared folders. default: /vagrant => /home/me/Documents/Work/project/vagrant Failed to mount folders in Linux guest. This is usually because the "vboxsf" file system is not available. Please verify that the guest additions are properly installed in the guest and can work properly. The command attempted was: mount -t vboxsf -o uid=`id -u vagrant`,gid=`getent group vagrant | cut -d: -f3` /vagrant /vagrant mount -t vboxsf -o uid=`id -u vagrant`,gid=`id -g vagrant` /vagrant /vagrant
# -*- mode: ruby -*- # vi: set ft=ruby : # Vagrantfile API/syntax version. Don't touch unless you know what you're doing! VAGRANTFILE_API_VERSION = "2" personalization = File.expand_path("../Personalization", __FILE__) load personalization Vagrant.configure(VAGRANTFILE_API_VERSION) do |config| config.vm.box = $base_box config.vm.box_url = $base_box_url config.vm.hostname = $vhost + ".dev" config.hostsupdater.aliases = ["api." + $vhost + ".dev", "mysql." + $vhost + ".dev"] config.hostsupdater.remove_on_suspend = true # set auto_update to ture to check the correct # additions version when booting the machine config.vbguest.auto_update = true config.vbguest.auto_reboot = true config.vm.network :private_network, ip: $ip config.vm.synced_folder "../", "/srv/www/vhosts/" + $vhost + ".dev", type: "nfs" config.vm.provider :virtualbox do |v| v.customize ["modifyvm", :id, "--memory", 2048] v.customize ["modifyvm", :id, "--cpus", "1"] v.customize ["modifyvm", :id, "--cpuexecutioncap", "100"] v.customize ["modifyvm", :id, "--ioapic", "off"] v.customize ["modifyvm", :id, "--natdnshostresolver1", "on"] end config.vm.provision "shell" do |s| s.path = "vagrant-bootstrap.sh" s.args = $vhost + " " + $mysql_password + " " + $application_database end end
# Name of the vhost to create $vhost = "project" # Use the Ubunut 32bit or 64bit $base_box_url = "http://cloud-images.ubuntu.com/vagrant/saucy/current/saucy-server-cloudimg-i386-vagrant-disk1.box" # VM IP $ip = "192.168.7.7" # Base box name $base_box = "u131032" # MySQL $mysql_password = "admin" $application_database = "project"
$ vagrant plugin list vagrant-hostsupdater (0.0.11) vagrant-login (1.0.1, system) vagrant-share (1.0.1, system) vagrant-vbguest (0.10.0)
Как исправить “failed to mount /etc/fstab” в Linux
В этой статье я расскажу, как решить проблему «failed to mount /etc/fstab» в Linux.
В рассматриваемом файле содержится описательная информация о файловых системах, которые система может смонтировать автоматически во время загрузки.
Эта информация является статической и считывается другими программами в системе, такими как mount, umount, dump и fsck.
Он имеет шесть важных спецификаций для установки файловой системы: первое поле описывает блокировку специального устройства или удаленной файловой системы, второе поле определяет точку монтирования для файловой системы, а третья – тип файловой системы.
Четвертое поле определяет параметры монтирования, связанные с файловой системой, а пятое поле считывается инструментом дампа. Последнее поле используется инструментом fsck для определения порядка проверки файловой системы.
Четвертое поле определяет параметры монтирования, связанные с файловой системой, а пятое поле считывается инструментом дампа.
Последнее поле используется инструментом fsck для определения порядка проверки файловой системы.
После редактирования /etc/fstab для создания automount и перезагрузки моей системы; Linux загрузился в аварийный режим, показывая сообщение об ошибке:
Я зарегистрировался как root из интерфейса выше и набрал следующую команду, чтобы просмотреть журнал systemd
Как вы можете видеть, основная ошибка (отказ модуля etc-fstab.mount) приводит к нескольким другим ошибкам (проблемы с зависимостью системы systemd), такие как отказ локального -fs.target, rhel-autorelabel-mark.service и т. д.
Причины ошибки
Приведенная выше ошибка может возникнуть из-за любой из нижеперечисленных проблем в файле /etc/fstab:
- отсутствует файл / etc / fstab
- неправильная спецификация параметров монтирования файловой системы,
- сбой точек монтирования или непризнанные символы в файле.
Чтобы решить эту проблему, вы можете использовать исходный файл, если создали резервную копию, иначе закомментируйте любые изменения, сделанные вами с помощью символа «#» (а также убедитесь, что все строки без комментирования – строки монтирования файловой системы).
Я понял, что набрал буква «r» в начале файла, как показано на скриншоте выше – это было признано системой как специальное устройство, которое фактически не существовало в файловой системе, что привело к появлению последовательных ошибок.
Мне потребовалось несколько часов, прежде чем заметить и исправить это.
Поэтому мне пришлось удалить лишнюю букву,закомментировать первую строку в файле, закрыть и сохранить его.
После перезагрузки система снова загрузилась.
Как избежать таких проблем в будущем
Чтобы избежать возникновения таких проблем в вашей системе, обратите внимание на следующее:
Всегда создавайте резервную копию своих файлов конфигурации перед их редактированием.
В случае каких-либо ошибок в ваших конфигурациях вы можете вернуться к файлу по умолчанию / работе.
Во-вторых, проверьте конфигурационные файлы на наличие ошибок перед их сохранением, некоторые приложения предлагают утилиты для проверки синтаксиса файлов конфигурации перед запуском приложения.
Используйте эти утилиты, где это возможно.
Однако, если вы получаете сообщения о системных ошибках:
Сначала просмотрите журнал systemd с помощью утилиты journalctl, чтобы определить, что именно вызвало их: