공유 폴더를 사용하고 있으므로 가상 머신 내에 VirtualBox Guest Additions 를 설치 하여 해당 기능을 지원해야합니다.
방랑자
Vagrant (OS X :)를 사용하는 경우 다음을 brew cask install vagrant
실행하십시오.
vagrant plugin install vagrant-vbguest
vagrant vbguest
실패한 경우 로그를 확인하십시오 (예 :
vagrant ssh -c "cat /var/log/vboxadd-install.log"
커널 헤더 파일이 누락되었을 수 있습니다.
VM
VM 내부에서 게스트 추가, 커널 헤더를 설치하고 서비스를 시작하고 커널 확장이 실행 중인지 다시 확인해야합니다.
이는 게스트 운영 체제에 따라 다르므로 간단한 단계는 다음과 같습니다.
커널 포함 헤더를 설치하십시오 (VBoxLinuxAdditions에 필요).
- RHEL :
sudo apt-get update && sudo apt-get install kernel-devel
- CentOS :
sudo yum update && sudo yum -y install kernel-headers kernel-devel
게스트 추가 설치 (운영 체제에 따라 다름)
우분투 : sudo apt-get -y install dkms build-essential linux-headers-$(uname -r) virtualbox-guest-additions-iso
찾을 수 없으면로 확인하십시오 aptitude search virtualbox
.
데비안 :sudo apt-get -y install build-essential module-assistant virtualbox-ose-guest-utils
찾을 수 없으면로 확인하십시오 dpkg -l | grep virtualbox
.
VM 내 에서 iso 파일 을 다운로드하여 wget
설치 (예 :) 하여 수동으로 설치
wget http://download.virtualbox.org/virtualbox/5.0.16/VBoxGuestAdditions_5.0.16.iso -P /tmp
sudo mount -o loop /tmp/VBoxGuestAdditions_5.0.16.iso /mnt
sudo sh -x /mnt/VBoxLinuxAdditions.run # --keep
추가 디버그 : cd ~/install && sh -x ./install.sh /mnt/VBoxLinuxAdditions.run
커널 확장이 작동하고 있는지 다시 확인하십시오.
서비스를 시작 / 다시 시작하십시오.
- 수동 :
sudo /opt/VBoxGuestAdditions*/init/vboxadd setup
(추가sudo sh -x
디버그에 )
- 데비안 :
sudo /etc/init.d/vboxadd-service start
- 페도라 :
sudo /etc/init.d/vboxdrv setup
- CentOS :
sudo service VBoxService start
기본 게스트 추가 모듈 작성
위의 방법으로 문제가 해결되지 않으면보다 복잡한 단계를 수정하십시오. 이것은 이미 VBoxGuestAdditions가 설치되어 있다고 가정합니다 (위 그림 참조).
공유 폴더 마운트가 작동하지 않는 가장 일반적인 이유는 게스트 추가 모듈 빌드 실패와 관련이있을 수 있습니다. 에 만약 /var/log/vboxadd-install.log
당신이 다음과 같은 오류했습니다 :
현재 실행중인 커널의 헤더를 찾을 수 없습니다.
이것은 커널 소스를 설치하지 않았거나 찾을 수 없음을 의미합니다.
위에서 설명한대로 이미 설치 한 경우 다음 명령을 실행하십시오.
$ sudo sh -x /opt/VBoxGuestAdditions-5.0.16/init/vboxadd setup 2>&1 | grep KERN
+ KERN_VER=2.6.32-573.18.1.el6.x86_64
+ KERN_DIR=/lib/modules/2.6.32-573.18.1.el6.x86_64/build
따라서 기본적으로 vboxadd
스크립트는 커널 디렉토리가 다음 디렉토리에서 사용 가능할 것으로 예상합니다.
ls -la /lib/modules/$(uname -r)/build
커널 디렉토리가 존재하는지 확인하십시오 (기존 링크가 기존 폴더를 가리킴). 그렇지 않은 경우 올바른 폴더에 설치하십시오 (예 :/usr/src/kernels
)에 설치하십시오.
따라서 vboxadd
스크립트는 커널 소스 디렉토리로 들어가서을 실행 make kernelrelease
하고 값을 얻고 현재 커널 버전과 비교할 수 있습니다.
논리는 다음과 같습니다.
KERN_VER=`uname -r`
KERN_DIR="/lib/modules/$KERN_VER/build"
if [ -d "$KERN_DIR" ]; then
KERN_REL=`make -sC $KERN_DIR --no-print-directory kernelrelease 2>/dev/null || true`
if [ -z "$KERN_REL" -o "x$KERN_REL" = "x$KERN_VER" ]; then
return 0
fi
fi
커널 버전이 소스와 일치하지 않으면 Linux 커널을 업그레이드 한 것일 수 있습니다 (소스가 커널보다 최신 버전 인 경우).
CentOS
시험:
vagrant plugin install vagrant-vbguest vagrant vbgues
작동하지 않으면 CentOS에 대해 다음 수동 단계를 시도하십시오.
$ sudo yum update
$ sudo yum install kernel-$(uname -r) kernel-devel kernel-headers # or: reinstall
$ rpm -qf /lib/modules/$(uname -r)/build
kernel-2.6.32-573.18.1.el6.x86_64
$ ls -la /lib/modules/$(uname -r)/build
$ sudo reboot # and re-login
$ sudo ln -sv /usr/src/kernels/$(uname -r) /lib/modules/$(uname -r)/build
$ sudo /opt/VBoxGuestAdditions-*/init/vboxadd setup