Всю эту информацию не особенно сложно найти в интернете, но я не встречал её всю в одном месте. Исправляю ситуацию. В первую очередь, чтобы самому в следующий раз опять не гуглить.
Договоримся, что у вас уже есть виртуальная машина с убунтой и установленными дополнениями гостевой ОС.
1. В убунте создаём папку, куда будет маунтиться папка с хоста. Например, /home/user/HostShare.
2. Останавливаем виртуалку. Заходим в её настройки в раздел общих папок.
3. Добавляем нужную папку хоста. Имя — HostShare, автоподключение отключено, точка монтирования /home/user/HostShare. Хотя, точку монтирования, наверное, можно и не указывать.
4. Запускаем виртуалку. В ней запускаем терминал. В нём выполняем:
1 2 |
sudo touch /etc/rc.local sudo chmod +x /etc/rc.local |
Открываем этот файл в редакторе и вписываем в него
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 |
#!/bin/sh -e # # rc.local # # This script is executed at the end of each multiuser runlevel. # Make sure that the script will "exit 0" on success or any other # value on error. # # In order to enable or disable this script just change the execution # bits. # # By default this script does nothing. mount.vboxsf -w -o fmode=0777,dmode=0777 HostShare /home/user/HostShare exit 0 |
Выполняем
1 2 3 |
sudo systemctl enable rc-local sudo systemctl start rc-local sudo systemctl status rc-local |
Перезагружаем виртуалку и проверяем, что папка подключилась.
UPD: Если сервис не желает создаваться (enable), проверяем наличие файла /etc/systemd/system/rc-local.service. Если его нет, создаём с таким содержимым:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 |
[Unit] Description=/etc/rc.local Compatibility ConditionPathExists=/etc/rc.local [Service] Type=forking ExecStart=/etc/rc.local start TimeoutSec=0 StandardOutput=tty RemainAfterExit=yes SysVStartPriority=99 [Install] WantedBy=multi-user.target |