一.開始的設置
1.在VirtualBox中打開設置,常規中修改主機與虛擬機交互設置
2.虛擬機關閉狀態下,存儲中選中控制器SATA,勾選‘使用主機輸入輸出’
3.選中操作系統對應的虛擬文件,.vdi文件,勾選右邊的固態驅動器。
4.啟動虛擬機,右ctrl+c,切換到全屏模式,使菜單欄出現。點擊安裝增強功能。
5.打開文件管理,里面有增強功能的程序,點擊運行軟件。
6.需要認證
7.出現錯誤,bzip2沒找到
8.運行sudo apt install -y bzip2
9.運行軟件,還是報錯,遇到的 touch: 無法 touch ‘/var/lib/VBoxGuestAdditions/skip-6.11.0-19-generic’: 沒有那個文件或目錄 這個錯誤,通常意味著安裝程序想為一個特定版本的內核(這里是 6.11.0-19-generic)創建一個標記文件,但相關的目錄結構可能不存在,或者這個內核版本可能不是你當前正在運行的。
更關鍵的信息是:
- This system appears to have a version of the VirtualBox Guest Additions already installed.
- If you wish to replace it with this version, please do not continue with this installation now, but instead remove the current version first, following the instructions for the operating system.
這說明我的 Ubuntu 24.04 系統可能已經通過 apt 包管理器安裝了 Guest Additions 的一部分(比如 virtualbox-guest-utils, virtualbox-guest-x11 等)。直接從 VirtualBox 的 ISO 鏡像運行安裝腳本可能會與系統包管理器安裝的版本沖突。
二.問題解決,成功文本雙向復制粘貼
1.解決:
嘗試卸載所有與 virtualbox-guest- 相關的包并清理不再需要的依賴:
sudo apt-get purge virtualbox-guest-*
sudo apt-get autoremove
2.重啟虛擬機,確保舊的模塊被卸載。
sudo reboot
3.在已經安裝 bzip2 的基礎上,需要確保其他構建工具和內核頭文件存在。
sudo apt update
sudo apt install build-essential dkms linux-headers-$(uname -r)
- build-essential: 包含編譯C/C++程序所需的基本工具(如 gcc, make)。
- dkms: Dynamic Kernel Module Support,幫助在內核更新時自動重新編譯內核模塊。
- linux-headers- ( u n a m e ? r ) (uname -r) (uname?r): 安裝與你當前正在運行的內核版本匹配的頭文件。 ( u n a m e ? r ) (uname -r) (uname?r) 會自動替換為你的內核版本號。
4.重新運行 Guest Additions 安裝程序,打開/VBox_GAs_x.y.z 文件夾 (其中 x.y.z 是版本號),黑窗口運行命令:
sudo ./VBoxLinuxAdditions.run
5.內核模塊可能已經編譯好了,但它們還沒有被激活和加載。重啟:
sudo reboot
6.效果,這樣虛擬機與主機就可以雙向復制文本。
三.解決拖放問題(待完善)
可以先用共享文件夾進行掛載,由于文本復制粘貼已夠用,且拖放不常用,這里占時空著。
1.拖拽文件出現問題
2.可以看到雙向是打開的