2020年1月14日 星期二

2020-01-14 22:00 設定VMWare Workstation guest使用虛擬隨身碟

VMWare Workstation可以輕易新增一般常用儲存裝置的虛擬型態,如虛擬硬碟、虛擬光碟甚至幾近淘汰的虛擬軟碟,但卻無法新增虛擬隨身碟,這實在太詭異。也許有人認為虛擬隨身碟不過就是虛擬硬碟的另一種型式、何必模擬?但有的程式就是得靠隨身碟才能運作(測試),如隨身碟開機工具Rufus;或者又有人會認為直接將host的隨身碟設定guest存取不就行了?1.現在的隨身碟幾乎是TLC、頻繁擦寫影響壽命、而若非終保......白菜價的隨身碟速度太慢、但2.速度快的隨身碟價格高且也有壽命考量、以及3.容量問題,虛擬媒體想弄多大都行、只要host本身的儲存空間夠大。雖然大概也不會要弄到2TB的虛擬隨身碟測試啥......

廢話少說。首先以記事本開啟要新增虛擬隨身碟的虛擬機器 .vmx 設定檔,到最後一行後新增以下內容

ehci:#.present = "TRUE"
ehci:#.deviceType = "disk"
ehci:#.fileName = "virtual_usb_drive.vmdk"
ehci:#.readonly = "FALSE"

#為裝置編號,可為0~5、上限為6個,更多也許能靠改參數解決(仍在研究中、但6個應當很夠了吧......)

ehci:#.present = "TRUE" 表示此裝置存在(若要暫時停用就改False;或在之後的掛載檔案項目前加上分號(;))
ehci:#.deviceType = "disk" 表示裝置類型為磁碟(也可改cdrom、下方的掛載檔就得改為ISO)
ehci:#.fileName = "virtual_usb_drive.vmdk" 掛載的虛擬隨身碟檔名
ehci:#.readonly = "FALSE" 設定虛擬隨身碟可寫入,預設值為唯讀。應當不會有人想要唯讀的虛擬隨身碟?所以這項不能漏。
注意裝置編號#不可與 vmx 設定檔內的其他裝置重複。

原始資料來源為VMWare官方論壇、以及VM-Sickbay

使用限制:

1.USB開機--BIOS模式無法以虛擬隨身碟開機(未包含於開機裝置清單中),但可將虛擬隨身碟的vmdk檔以一般硬碟掛載開機(以Rufus創建可開機虛擬隨身碟需取消勾選裝置進階內容--客製MBR並設ID為」;或保留勾選本項的情況下、設ID為「0x80」);而UEFI模式則可識別虛擬隨身碟、虛擬隨身碟必須設定為GPT/UEFI引導開機模式(VM guest無UEFI-CSM設定)。

2.模擬的隨身碟為USB 2.0介面EHCI,因此不支援USB 2.0的guest OS將無法使用 (僅僅是「名義上」的虛擬USB隨身碟,效能等同其他虛擬磁碟)。若堅持要模擬USB 3.0隨身碟,請將 ehci 替換為 usb_xhci 

3.若以 VMWare Workstation的退除裝置功能退出虛擬隨身碟,在.vmx檔中的虛擬隨身碟設定內容將會被完全消除。若想重複使用又懶得每次退出後、重新新增內容以掛載,可停止guest後編輯.vmx、於ehci:#.fileName = "virtual_usb_drive.vmdk" 行首加上分號(;)、重啟guest即可暫時停用虛擬隨身碟。

以下為新增的虛擬隨身碟範例