當前位置: 首頁>>技術教程>>正文


如何在虛擬機vm中使用安裝了Windows 7的真實分區?

, , ,

問題描述

我的Ubuntu 12.04安裝在/dev/sda5和Windows 7的/dev/sda1上。當我運行Ubuntu時,我想使用Virtualbox在VM中運行Windows 7。 Windows 7分區是1 TB並且是半滿的,即大,所以我不想將其複製到虛擬硬盤中。

我已經讀過可以將一個真正的硬盤用於Virtualbox VM,但是我發現的各種指令彼此不同,我似乎無法讓它工作。有沒有人知道如何讓它在Ubuntu 12.04和Virtualbox 2.1.12_Ubuntu r77245(最新的Ubuntu安裝了repos)工作?

請發布它是如何工作的,因為我想重試任何可行的方法。

最佳解決辦法

你想要的命令是

VBoxManage internalcommands createrawvmdk -filename Win7.vmdk -rawdisk /dev/sda -partitions 1

這將創建一個特殊的VMDK虛擬磁盤文件(Win7.vmdk),它實際上是指向主機磁盤分區/dev/sda1的指針。

理論上,您可以將此作為VM的磁盤文件直接從實際磁盤分區運行,但是…

  • (a)我從來沒有試過這個,所以不知道它有多可靠

  • (b)您可能會遇到Windows激活問題,具體取決於您的許可證密鑰以及Windows是否確定檢測到的’hardware’已發生重大變化

次佳解決辦法

是的,您可以使用內部createrawvmdk命令執行此操作,該命令不會創建整個磁盤映像,而是指向實際硬件的指針。

有兩種方法可以做到這一點

  • A.完整磁盤映像(/dev /sdb)

    sudo VBoxManage internalcommands createrawvmdk -filename sdb.vmdk -rawdisk /dev/sdb
    
  • B.分區圖像

    正如@StarNamer所示,您隻能使用一個或幾個分區。

    要創建隻有一個(/dev /sda1)分區的映像:

    sudo VBoxManage internalcommands createrawvmdk -filename sda1.vmdk -rawdisk /dev/sda -partitions 1
    

    要創建自定義分區表,它將按順序映射/dev /sda2和/dev /sda1:

    sudo VBoxManage internalcommands createrawvmdk -filename sda2_1.vmdk -rawdisk /dev/sda -partitions 2,1
    

最顯著的區別在於,完整磁盤映像將完全像在磁盤中一樣使用引導加載程序和分區表,因此理論上(我以前隻在qemu中執行過此操作)您將能夠從虛擬機中設置操作係統。根據我有限的經驗,我可以說完整的磁盤映像將完全像qemu -hda /dev/sdb一樣工作。

注意:如果您使用用戶訪問磁盤,則需要將其添加到diskvboxusers組,例如

sudo usermod -aG disk,vboxusers ubuntu

然後確保你re-login或重新啟動你的電腦。

進一步閱讀:

參考資料

本文由Ubuntu問答整理, 博文地址: https://ubuntuqa.com/zh-tw/article/2948.html,未經允許,請勿轉載。