Arch-Linux

在 VirtualBox 中使用共享文件夾執行 Arch ISO

  • March 18, 2019

在將 Arch ISO 作為 VirtualBox 來賓作業系統執行時,我正在嘗試使用共享文件夾功能。原因是在共享文件夾中我有腳本來進行我的持久設置。

在 Arch ISO 引導之後,我執行:

pacman -Syu virtualbox-guest-utils

一切看起來都很順利,但是當我載入 VirtualBox 模組時:

modprobe -a vboxguest vboxsf vboxvideo #Following guide here: vboxsf only might do

它給出了一個錯誤。我知道我可以修復它創建依賴文件:

depmod 3.16.1-1-ARCH 

版本是 fromuname -r並且我再次收到錯誤,因為沒有目錄:

/lib/modules/3.16.1-1-ARCH

前一個pacman -Syu ...已經更新了核心,因此我現在有一個3.16.2-1-ARCH目錄。實際上:

depmod 3.16.2-1-ARCH 

工作,但 modprobe一直不工作。

我認為這是由於uname -r核心和更新核心之間的不匹配造成的。建議重新啟動閱讀它,但就我而言,由於我是從 ISO 執行的,所以我將失去一切。

我重新啟動嘗試在不更新的情況下安裝來賓添加,使用最後一個可用的 Arch ISO:

pacman -Sy virtualbox-guest-utils # now no -u

但我知道這是一個不好的做法!無論如何,我執行:

depmod 3.16.1-1-ARCH # non-updated kernel!
modprobe -a vboxguest vboxsf vboxvideo
mount.vboxsf arch /mnt
ls /mnt

我終於可以看到我的共享文件了。

這個過程是一種幸運的試錯。

你能告訴我實現這一目標的最佳實踐是什麼嗎?那就是在不穩定的環境(Arch ISO)中安裝 VirtualBox 來賓添加。

最好的方法是主觀的,但有幾個:

  1. 使您自己的 ISO 已經包含所包含核心的 VBox 模組。(請參閱 [ 1 ]、[ 2 ] 或 [ 3 ]。)如果可以並且要經常使用它,這通常可能是首選選項,但如果您只打算使用它一次可能會被認為有點浪費時間。
  2. 將腳本上傳到 pastebin 或文件主機站點,或者甚至只是在您的主機上執行一個簡單的 HTTP 伺服器,然後將它們下載到虛擬機中。darkhttpd是一個簡單的 HTTP 伺服器,大小不到 100KiB,您只需執行它,為它提供通過 HTTP 服務的目錄路徑,對於像您的情況這樣的一次性事情,它可能是最簡單和首選的。
  3. 或者只是做你所做的。它在很多情況下都有效,但你應該盡量避免它,因為它可能會損壞。切勿在安裝介質之外執行此操作。

引用自:https://unix.stackexchange.com/questions/155598