Bạn đang sử dụng các thư mục chia sẻ, vì vậy bạn cần cài đặt VirtualBox Guest Additions bên trong máy ảo của mình để hỗ trợ tính năng đó.
Âm đạo
Nếu bạn đang sử dụng Vagrant (OS X brew cask install vagrant
:), hãy chạy:
vagrant plugin install vagrant-vbguest
vagrant vbguest
Trong trường hợp không thành công, hãy kiểm tra nhật ký, vd
vagrant ssh -c "cat /var/log/vboxadd-install.log"
Có lẽ bạn chỉ thiếu các tệp tiêu đề kernel.
Máy ảo
Bên trong VM, bạn nên cài đặt Guest Additions, kernel tiêu đề và khởi động dịch vụ và kiểm tra lại nếu phần mở rộng kernel đang chạy.
Điều này phụ thuộc vào hệ điều hành khách, vì vậy đây là các bước ngắn gọn:
Cài đặt kernel bao gồm các tiêu đề (được yêu cầu bởi VBoxLinuxAdditions).
- XÁC NHẬN:
sudo apt-get update && sudo apt-get install kernel-devel
- CentOS:
sudo yum update && sudo yum -y install kernel-headers kernel-devel
Cài đặt bổ sung khách (điều này phụ thuộc vào hệ điều hành).
Ubuntu: sudo apt-get -y install dkms build-essential linux-headers-$(uname -r) virtualbox-guest-additions-iso
Nếu bạn không thể tìm thấy nó, hãy kiểm tra aptitude search virtualbox
.
Debian :sudo apt-get -y install build-essential module-assistant virtualbox-ose-guest-utils
Nếu bạn không thể tìm thấy nó, hãy kiểm tra dpkg -l | grep virtualbox
.
thủ công bằng cách tải xuống tệp iso bên trong VM (ví dụ wget
) và cài đặt nó, ví dụ:
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
Gỡ lỗi thêm: cd ~/install && sh -x ./install.sh /mnt/VBoxLinuxAdditions.run
Kiểm tra kỹ xem phần mở rộng kernel có hoạt động không:
Bắt đầu / khởi động lại dịch vụ:
- thủ công:
sudo /opt/VBoxGuestAdditions*/init/vboxadd setup
(thêm sudo sh -x
vào gỡ lỗi)
- Debian:
sudo /etc/init.d/vboxadd-service start
- Fedora:
sudo /etc/init.d/vboxdrv setup
- CentOS:
sudo service VBoxService start
Xây dựng mô-đun bổ sung khách chính
Nếu ở trên không hoạt động, đây là các bước tinh vi hơn để khắc phục nó. Điều này giả định rằng bạn đã cài đặt VBoxGuestAdditions (như được hiển thị ở trên).
Lý do phổ biến nhất khiến việc gắn thư mục dùng chung không hoạt động có thể liên quan đến việc xây dựng mô-đun Guest Additions không thành công. Nếu trong /var/log/vboxadd-install.log
bạn có lỗi sau:
Các tiêu đề cho kernel đang chạy hiện tại không được tìm thấy.
điều này có nghĩa là bạn đã không cài đặt nguồn kernel hoặc không thể tìm thấy chúng.
Nếu bạn đã cài đặt chúng theo hướng dẫn ở trên, hãy chạy lệnh này:
$ 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
Vì vậy, về cơ bản vboxadd
script đang mong đợi các nguồn kernel của bạn có sẵn tại thư mục sau:
ls -la /lib/modules/$(uname -r)/build
Kiểm tra xem thư mục kernel có tồn tại không (liên kết tượng trưng chỉ đến thư mục hiện có). Nếu không, vui lòng cài đặt chúng vào đúng thư mục (ví dụ: trong /usr/src/kernels
).
Vì vậy, vboxadd
script có thể nhập thư mục nguồn kernel của bạn và chạy make kernelrelease
, lấy giá trị và so sánh với phiên bản kernel hiện tại của bạn.
Đây là logic:
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
Nếu phiên bản kernel không khớp với các nguồn, có thể bạn đã nâng cấp kernel Linux của mình (trong trường hợp các nguồn mới hơn kernel của bạn).
CentOS
Thử:
vagrant plugin install vagrant-vbguest vagrant vbgues
Nếu không hoạt động, hãy thử các bước thủ công sau cho 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