Как смонтировать общую папку VirtualBox при запуске?

Скорее всего, вы установили какой-то пакет, которому нужны эти пакеты KDE.

Вы можете удалить их, но внимательно посмотрите, что удаляется из-за зависимостей.

1
задан 9 February 2013 в 03:22

5 ответов

Изменить /etc/rc.local
sudo -H gedit /etc/rc.local
До exit 0 введите:
mount.vboxsf windows_share /media/windows_share vboxsf
Сохранить (необязательно) Создайте ярлык для рабочего стола или домашней папки:
ln -s /media/windows_share /home/freddy/Desktop

Для загрузки без ошибок, например нажав S, чтобы пропустить монтировку или нажать M для ручного ремонта, возможно, вам придется удалить свою запись в fstab

24
ответ дан 25 May 2018 в 01:39
  • 1
    Это ТОЛЬКО способ, которым я нашел работу, попробовал RC.Local с обычной командой mount, попробовал FSTAB, попробовал Crontab w / script. Огромное спасибо! – FreeSoftwareServers 5 September 2015 в 12:17
  • 2
    Это сработало и для меня (против принятого ответа, не совсем уверенного). Так что большое спасибо от меня! :) – Daniel Lisik 26 September 2015 в 03:46
  • 3
    Работал для меня. Я отредактировал /etc/rc.local с этим mount -t vboxsf [-o OPTIONS] sharename mountpoint. – neurite 26 October 2015 в 22:56
  • 4
    Ради аргументов и отразить случай виртуального бокса: я использовал это для начала sudo mount -t vboxsf -o uid=$UID,gid=$(id -g) windows_share ~/shared/mount_point и закончил тем, что добавил в /etc/rc.local следующее: mount -t vboxsf windows_share /home/dev/shared/mount_point где dev - мой пользователь, FYI / etc / fstab также работает! – MediaVince 31 December 2016 в 20:06
  • 5
    Ваш ответ сработал для меня, но каталоги устанавливаются как root. Я изменил команду mount в сценарии rc.local, чтобы включить мой идентификатор пользователя (2000): mount.vboxsf -o rw,uid=1000 /home/mwittie/Dropbox Dropbox vboxsf. PS Если кто-то ищет учебник о том, как включить rc.local в Ubuntu 17.04 , это сработало для меня. PPS Мне не нужно было включать vboxsf в /etc/modules. – Mike Wittie 25 July 2017 в 02:50

После утомительного утреннего пробуя все вышеперечисленное в Ubutntu 16.04, работающего в Virtualbox 5.0.20, безуспешно (особенно разочарован тем, что решение rc.local не работает), он работал с помощью:

Регистрация из общего доступа Folders меню Virtualbox GUI - требуемый каталог, но НЕ автомонтирует его или постоянный монтаж из Virtualbox. В противном случае резидентный хост монтируется с помощью root, и больно получить доступ к пользователям без полномочий root даже из группы admin. добавление простой записи в fstab:
[VirtuablBoxNameOfMount] /media/[guestOSuser]/[mountSubdir]    vboxsf   rw, noauto   0     1
Примечание noauto вариант - иначе загрузчик завершится сбоем, как было отмечено. Добавьте соответствующую строку в /etc/sudoers следующим образом, используя команду visudo из гостевой ОС:
ALL ALL = NOPASSWD: /bin/mount /media/[guestOSuser]/[mountSubdir]/

Это позволит не-root-процессам специально монтировать это (поскольку fstab не может монтироваться с «пользователем», option ...)

Регистрация в меню общих папок графического интерфейса Virtualbox GUI - это требуемый каталог, но НЕ автоматическая его или постоянная установка из Virtualbox. В противном случае реестр хоста монтируется с помощью root, и больно получить доступ к пользователям, не являющимся root, даже из группы admin.

Теперь выбранный хост-поддиремент готов для выбранного пользователя после войти в систему!

3
ответ дан 25 May 2018 в 01:39
  • 1
    Вы когда-нибудь находили обходное решение для noauto? – Jörgen Sigvardsson 29 November 2016 в 11:42
  • 2
    Это единственное решение, которое сработало для меня. Но, кроме того, мне также пришлось добавить " vboxsf " в / etc / modules, чтобы убедиться, что .profile не запускал команды монтирования до того, как vboxsf готов. – huyz 10 December 2016 в 20:24
  • 3
    вместо использования sudo, добавьте «пользователь» в параметр fstab, и любой пользователь может подключить файловую систему – Lars Nordin 23 May 2017 в 15:22
  • 4
    см. pclosmag.com/html/issues/200709/page07.html для получения информации об обновлении fstab, комментарии здесь были лишь частично полезными. Четвертый столбец в fstab - это список параметров запятой, который добавляет пользователя (uid = xxx) в этот список, например. NOAUTO, UID = 1000, GID = 1000 – qodeninja 4 July 2017 в 01:58
  • 5
    Существует пробел между rw, noauto, который приводит к ошибке синтаксического анализа. без пробела образец работал на меня – weberjn 17 December 2017 в 16:27

Я попробовал решение rc.local, но не смог заставить его работать. Однако я обнаружил, что проблема связана с папкой, в которой вы запускаете команду (не знаю почему). Поэтому я добавил строку, чтобы сменить каталог на домашнюю папку перед командой mount, и теперь он работает.

Итак, мой общий ресурс Windows называется Dropbox, моя точка монтирования - /home/jamie/Dropbox, мой пользователь name jamie, это то, что я поставил в rc.local:

cd /home/jamie
mount.vboxsf /home/jamie/Dropbox Dropbox vboxsf
exit 0
3
ответ дан 25 May 2018 в 01:39
  • 1
    Brilliant! Благодарю. После борьбы с другими решениями это сработало в первый раз! – Norbert Norbertson 23 March 2017 в 14:46
  • 2
    Перед установкой устройства мне пришлось добавить sleep 2. – Adriano P 20 March 2018 в 22:16

Я сделал это очень похожего режима, как было предложено выше, но этот сценарий создает необходимые и монтирует или отключает общую папку со следующим скриптом:

#!/bin/bash
#
# Mount automatically even shared folder on startup and unmount it at shutdown.
#
# VirtualBox (c) 2015 by Oracle Systems Inc.
#
####

# Check user privileges.
if [[ $EUID -ne 0 ]]; then
    echo -e "This script must run at ROOT user!" \
        "\nPlease, use 'sudo', 'visudo' or any other to run it."
    exit 1
fi

# Check paramas from caller.
if [[ $# -eq 0 ]]; then
    echo -e "Auto-Mount selected shared folder of VirtualBox machine." \
        "\nUsage:" \
        "\n    VBoxShared <drive_one> <drive_two> <...>"
    exit 2
fi

declare EVENT=          # This set the ACTION: -m OR -u
declare -a DRIVES=()

# Processing each param:
for arg in "$@"; do
    case "$arg" in
        "-m"|"--mount")
            if [[ -z ${EVENT} ]]; then
                EVENT=-m
            else
                exit 318        # parameters at conflict!
            fi
            ;;

        "-u"|"--umount")
            if [[ -z ${EVENT} ]]; then
                EVENT=-u
            else
                exit 318        # parameters at conflict!
            fi
            ;;

        *)
            DRIVES=("${DRIVES[@]}" "${arg}")
            ;;
    esac
done
unset arg

[[ -z ${EVENT} ]] && exit 1             # ERROR: No se ha establecido la acción a realizar.
[[ "${#DRIVES[@]}" -gt 0 ]] || exit 1   # ERROR: No se han indicado las unidades a manejar.

# Process each shared folder stored on '${DRIVES}' array
for drive in "${DRIVES[@]}"; do
    DEST="/media/sf_${drive}"

    case "${EVENT}" in
        "-m")
            [[ -d ${DEST} ]] || (mkdir ${DEST} && chown root:vboxsf ${DEST} && chmod 770 ${DEST})
            mount -t vboxsf ${drive} ${DEST}
            ;;

        "-u")
            if [[ `df --output=target | grep "${DEST}"` > /dev/null ]]; then
                umount -f ${DEST}
                rm -rf "${DEST}"
            fi
            ;;
    esac
    unset DEST
done
unset drive

unset EVENT
unset DRIVES
exit 0

Сохраните его как /opt/.scripts/VBoxShared.sh.

Убедитесь, что это можно запустить. На тип оболочки:

sudo chmod a+x /opt/.scripts/VBoxShared.sh

Теперь добавим строку, которая запускает этот скрипт на rc.local:

sudo nano /etc/rc.local

, и мы добавляем эту строку перед последней строкой ():

. /opt/.scripts/VBoxShared.sh --mount <SharedFolder1> [<SharedFolder2> <SharedFolder3> ...]

Сохранить (CtrlO) и закрыть его (CtrlX)

На этом этапе мы автоматически монтируем всю общую папку, указанную в <SharedFolder> при запуске.

Чтобы размонтировать его, нам нужен только тип:

sudo nano /etc/rc6.d/K99-vboxsf-umount.sh

#!/bin/bash

. /opt/.scripts/VBoxShared --umount <SharedFolder1> [<SharedFolder2> <SharedFolder3> ...]

exit 0

Сохранить ( Ctrl O) и закрыть ( O X)

sudo chmod a+x /etc/rc6.d/K99-vboxsf-auto.sh

И это все!

2
ответ дан 25 May 2018 в 01:39

Это рабочее решение.

Как root (I.E. sudo su) Перейдите в домашнюю папку (cd ~) и создайте файл cron: vi cronjobs Добавьте следующий спам @reboot 15; mount -t vboxsf app / mnt / app

Сохранить файл

Примечание: замените приложение на имя вашей общей папки и / mnt / app, где вы хотите его установить. В этом случае я сначала создал приложение для папки под mount (приложение mkdir).

Чтобы включить ваш cron как root (для указанного выше имени файла) crontab cronjobs

Убедитесь, что cron активен: crontab -l

перезагрузится, и он будет установлен. 15 секундный сон позволяет достаточно времени, чтобы все было готово для монтирования.

1
ответ дан 25 May 2018 в 01:39

Другие вопросы по тегам:

Похожие вопросы: