2009年3月6日 星期五

VirtualBox vdi/vmdk tips


本文主要介紹可幾個在 GUI 上翻不到卻有可能用到,關於 Virtual Hard Disk 的幾個特技。
它們實際上存在於說明手冊中,但會有幾個人去翻就令人懷疑了。##ReadMore##

  • 它可以像 VMWare 一樣直接使用實體硬碟,透過指令 VBoxManage internalcommands createrawvmdk -filename /path/to/file.vmdk -rawdisk /dev/sda
    • /dev/sda 可以改為 "/dev/disk/by-path/pci-0000:00:1f.0-scsi-0:0:0:0" 之類依排線關係指定
    • 因為要有直接對 disk file 存取的權限,使用者要在群組 disk 中: gpasswd -a [user] disk
    • 在最後加入 -partitions 1,5 參數表示只 access sda1, sda5, 且不會動到實體 MBR
    其他請詳細使用手冊。個人使用起來效率頗差,可能是因為硬碟操作指令還要透過 kernel pass 到 device 的關係,cpu 也吃很多。
    更重要的是,很難用同一個實體 partition 同時讓 VB 和實體機跑。兩者的硬體環境差別不說+,XP 會記住自己使用的 IDE controller,though there's method to migrate from one to one,但每次一換就要再設一次,甚不實用…
    總結:有但頗雞助
  • VB 的 Virtual Disk 只能長不能縮,這點頗為討厭,以往都是一段時間後要重新灌一次,但原來有 Differencing Disk 的方法:
    1. 先將已經完成基本系統的 vdi 自 Media Management 中 unregister,並確定它在 .VirtualBox/HardDisks 目錄中+
    2. 用以下指令VBoxManage openmedium disk [HardDiskName].vdi -type immutable
    之後再重開 gui 就會發現有個藍「星星」,表示此檔唯讀,所有寫入會寫到另一個 differencing disk, 可以在設定頁 Hard Disk 中開啟 Show Differencing Disks 查看目前你用的 diff disk id;若重選回那個有「星星」的就表示再以它重開一個新的。
    若你只是想要基本應用的話 snapshot 大概就夠用了,此法的好處是可以在一個 Machine 有多個 disk 的情況下,可以自由選擇哪些才要保護,可以同時維護多個分支,例如讓系統 C:\ 永遠都是新的,D:\ 可以保存資料不被洗掉等。

沒有留言:

張貼留言