Para montar sempre uma "pasta compartilhada" do Virtual Box na inicialização de um convidado do Ubuntu, temos duas opções. Depende da preferência pessoal qual opção funciona melhor em nosso ambiente.
1. Monte com fstab
Para montar uma pasta compartilhada usando o vboxsf
sistema de arquivos fornecido com o Guest Additions , primeiro precisamos garantir que os pré-requisitos sejam atendidos . Em seguida, podemos colocar a seguinte linha em nosso etc/fstab
arquivo:
<name_of_share> /path/to/mountpoint vboxsf <options> 0 0
Substitua name_of_share
e /path/to/mountpoint
por sua configuração individual (o diretório do ponto de montagem deve ser criado primeiro). Veja a página de manual para montagem <options>
. Uma possibilidade é montar com defaults
, ou dar opções específicas de montagem (por exemplo rw, suid, exec, auto, users
).
Em alguns sistemas, o vboxsf
módulo do kernel ainda não está carregado no momento em que fstab
é lido na inicialização. Pode ser útil anexar o vboxsf
módulo do kernel ao /etc/modules
.
Alguns sistemas podem precisar de opção comment=systemd.automount
em sua entrada fstab ( origem ).
2. Montagem com Virtual Box "montagem automática":
Nas versões recentes do Virtual Box, também podemos montar automaticamente pastas compartilhadas na criação:
Após uma reinicialização do convidado, essa pasta compartilhada será montada no diretório de visitantes /media/<username>/sf_<name_of_share>
acessível a todos os usuários que se tornaram membros do grupo vboxsf
.
noauto
as opções do fstab e depois montar normalmente em um script de inicialização (como. profile), Opção 2) o principal problema é que o vboxsf não é carregado antes da execução do fstab, anexavboxsf
ao arquivo/etc/modules
, pedindo ao kernal para carregar o módulo antes da execução do fstab. Talvez isso ajude alguém.Editar
/etc/rc.local
Antes do
exit 0
tipo:Salve
(Opcional) Crie um atalho para a área de trabalho ou pasta pessoal:
Para inicializar sem erros, como pressionar S para pular a montagem ou pressionar M para reparar manualmente, pode ser necessário excluir sua entrada em
fstab
fonte
/etc/rc.local
com issomount -t vboxsf [-o OPTIONS] sharename mountpoint
.sudo mount -t vboxsf -o uid=$UID,gid=$(id -g) windows_share ~/shared/mount_point
e acabei colocando o seguinte em /etc/rc.local para que funcionasse:mount -t vboxsf windows_share /home/dev/shared/mount_point
onde dev é meu usuário, FYI / etc / fstab também funciona!mount
comando norc.local
script para incluir o meu ID de usuário (2000
):mount.vboxsf -o rw,uid=1000 /home/mwittie/Dropbox Dropbox vboxsf
. PS Se alguém estiver procurando por um tutorial sobre como ativar orc.local
Ubuntu 17.04, isso funcionou para mim. PPS Não era necessário incluir o vboxsf/etc/modules
.Após uma manhã exaustiva, tentando todas as opções acima no Ubutntu 16.04, executando o Virtualbox 5.0.20 sem êxito (particularmente desapontado por a solução rc.local não funcionar), ele funcionou da seguinte maneira:
Registrando no menu Pastas Compartilhadas da GUI do Virtualbox o diretório necessário, mas NÃO montando automaticamente ou montando permanentemente no Virtualbox. Caso contrário, o diretório do host é montado pelo root e é difícil acessar por usuários não raiz, mesmo do grupo de administradores.
adicionando entrada simples no fstab:
Nota
noauto
opção - caso contrário, o carregador de inicialização falhará como foi observado.Adicione a linha correspondente da
/etc/sudoers
seguinte forma, usando o comando visudo de dentro do SO convidado:Isso permitirá que processos não raiz montem isso especificamente (como o fstab não pode ser montado com a opção 'usuário' ...)
Adicione a linha correspondente ao .profile do usuário:
Agora o subdiretor do host selecionado está pronto para o usuário selecionado no login!
fonte
noauto
?Por mais recentes Systemd sistemas baseados você precisa abordagens alternativas - o mais simples de ser mencionado em outra resposta a outra pergunta - que basicamente diz que você precisa adicionar um especial
comment
opção para a/etc/fstab
entrada:No entanto, para que o procedimento acima funcione em alguns sistemas, você precisa marcar a caixa 'Montagem automática' na caixa de diálogo Pastas compartilhadas do VirtualBox-> Adicionar, o que significa que você pode acabar com algumas montagens duplicadas do diretório.
Para uma montagem mais limpa - sem diretórios duplicados nem a necessidade de 'Montagem automática' - você precisa usar as diretivas de montagem e montagem automática do systemd . Para fazer isso, crie duas entradas
/usr/lib/systemd/system/
nomeadas com o nome do ponto de montagem desejado, por exemplo, para corresponder ao ponto de montagem fstab acima, elas seriam nomeadasmy_mount-src_host.mount
e conterão:e
my_mount-src_host.automount
:Então eles precisam ativar:
Agora eles serão montados na inicialização. Se você deseja montá-los imediatamente (desde que as Pastas Compartilhadas tenham sido criadas), faça isso:
Observe que se você possui diretórios com nomes ou traços estranhos (-), use-o
systemd-escape
para encontrar o nome de escape apropriado.fonte
comment=systemd.automount
opção funciona também sem o Automount VBox marcado. Eu lutei por dias antes de encontrar sua solução, obrigado!Tentei a solução rc.local, mas não consegui fazê-la funcionar.
No entanto, descobri que o problema parece estar relacionado à pasta da qual você executa o comando (não faz ideia do porquê). Então, adicionei uma linha para alterar o diretório para minha pasta pessoal antes do comando mount, e agora ele funciona.
Então, meu compartilhamento do Windows é chamado
Dropbox
, meu ponto de montagem é/home/jamie/Dropbox
, meu nome de usuário éjamie
, é isso que eu coloco no rc.local:fonte
sleep 2
antes de montar o dispositivo.Eu faço isso de um modo muito semelhante no foi proposto acima, mas esses scripts criam o necessário e montam ou desmontam a pasta compartilhada com o seguinte script:
Salve como
/opt/.scripts/VBoxShared.sh
.Certifique-se de que isso possa ser executado. No tipo de casca:
Agora, adicionamos uma linha que executa esse script
rc.local
:e adicionamos estas linhas antes da última linha (
exit 0
):Salvar ( CtrlO) e fechá-lo ( CtrlX)
Neste ponto, montamos automaticamente todas as pastas compartilhadas listadas
<SharedFolder>
na inicialização.Para desmontá-lo, precisamos apenas do tipo:
sudo nano /etc/rc6.d/K99-vboxsf-umount.sh
Salvar ( CtrlO) e fechar ( CtrlX)
E isso é tudo!
fonte
Aqui está uma solução funcional.
Como root (IE sudo su) Vá para a pasta inicial (cd ~) e crie um arquivo cron:
vi cronjobs
Adicione o seguinte
@reboot sleep 15; mount -t aplicativo vboxsf / mnt / app
Salvar Arquivo
Nota: substitua o aplicativo pelo nome da pasta compartilhada e / mnt / app onde você deseja montá-lo. Nesse caso, criei o aplicativo de pasta sob montagem (aplicativo mkdir) primeiro.
Para habilitar seu cron como root (para o nome do arquivo acima)
crontab cronjobs
Verifique se o cron está ativo:
crontab -l
reinicie e ele será montado. Um sono de 15 segundos permite tempo suficiente para que tudo esteja pronto para a montagem.
fonte
Recentemente, encontrei esse tópico quando, após atualizar para o Ubuntu LTS-18 (e não fazer nenhuma alteração no VirtualBox, e depois de reinstalar as extensões e o blá-de-blá), a montagem automática parou de funcionar. Os
sf_xxx
diretórios estavam presentes,/media/
mas nenhum deles foi realmente montado.As tentativas de montá-las
/etc/fstab
(como sugerido pela documentação do VirtualBox) não funcionaram: a inicialização falhou no "modo de emergência", mesmo quando eu havia modificado o/etc/modules
arquivo.O que acabou por funcionar - embora eu o considere um hack fedido - é o
crontab
truque descrito acima.Até hoje, eu não tenho ideia do que quebrou.
fonte
Eu estava com um problema em que podia ver a pasta compartilhada, mas não havia arquivos nela. Então eu fiz um hack semelhante ao que foi mostrado acima:
Verifiquei se meu usuário estava no (s) grupo (s) correto (s) e se havia uma entrada no fstab para montar o compartilhamento, que as permissões foram definidas corretamente e se a montagem automática estava nas configurações do VirtualBox, mas ainda não existe. arquivos a serem vistos.
Então, eu abri o aplicativo Startup Applications na GUI do Ubuntu 18.04 e criei uma tarefa que simplesmente executava "sudo mount -a" logo na inicialização. Por qualquer motivo, a pasta compartilhada não estava sendo montada corretamente quando o fstab foi analisado automaticamente na inicialização, portanto, remontar tudo parecia corrigir o problema. Agora eu posso ver os arquivos no compartilhamento.
fonte
Eu tentei todas as soluções aqui e nenhuma funcionou.
O que funcionou foi instalar o supervisor e executar um script python.
supervisor de instalação
apt-get install supervisor
script python (o meu estava em /home/ubuntu/shared_folders.py)
criar arquivo de configuração para supervisor
nano /etc/supervisor/conf.d/sharedfolders.conf
[program:shared_folders] command=python shared_folders.py directory=/home/ubuntu process_name=%(program_name)s_%(process_num)s numprocs=1 numprocs_start=0 autostart=true autorestart=true startsecs=1 startretries=3 exitcodes=0,2 stopsignal=TERM stopwaitsecs=10 ;user=pavelp redirect_stderr=true stdout_logfile=/var/log/supervisor/qlistener-stdout.log stdout_logfile_maxbytes=50MB stdout_logfile_backups=10 stdout_capture_maxbytes=0 stdout_events_enabled=false stderr_logfile=/var/log/supervisor/qlistener-stderr.log stderr_logfile_maxbytes=50MB stderr_logfile_backups=10 stderr_capture_maxbytes=0 stderr_events_enabled=false environment=APPLICATION_ENV=development serverurl=AUTO
supervisorctl aberto
sudo supervisorctl
ler configuração
reread
adicionar configuração
add shared_folders
fonte
(No meu caso, meu sistema operacional host é o Mac OS X e o sistema operacional convidado é o ubuntu)
Nenhuma das soluções acima e as soluções mencionadas aqui e aqui funcionaram para mim. Houve um problema com todos eles.
Aqui está o que finalmente fiz para resolver o problema:
1- Criei uma pasta compartilhada na interface do VirtualBox, apontando para uma pasta nomeada
VMShares
no meu Mac OS, nomeando-awd
2- Em seguida, instalei as ferramentas Ubuntu Guest Addition (é necessário reiniciar)
3- Criei uma pasta no meu sistema operacional convidado como o ponto de montagem (no meu caso, o nome era
/home/fashid/host
)4- Então eu corri:
Este foi o comando a ser assegurado de que o compartilhamento esteja disponível para o SO convidado, enquanto isso você ainda precisará montá-lo no SO convidado para torná-lo realmente disponível.
Ele mostrará algo como:
Esse é o truque! Ele mostra o nome real que você precisa colocar abaixo do comando para montá-lo e disponibilizá-lo no sistema operacional convidado:
Você percebeu o ponto? Eu não usei o wd em nenhum lugar mais tarde. Na etapa 3, eu precisava selecionar o nome da pasta real (host) em vez do nome arbitrário que atribuí na caixa de diálogo da GUI.
Através das etapas acima, meu problema foi resolvido.
fonte