1. 程式人生 > >怎樣移動virtualbox下建立的vdi檔案

怎樣移動virtualbox下建立的vdi檔案

 VirtualBox可不像VMware那樣,直接複製虛擬磁碟檔案就可以了事的,只因為VirtualBox識別虛擬磁碟檔案VDI採用了uuid識別技術.

由於測試需要搭建區域網環境,需要兩臺虛擬機器同時執行。當我安裝完一個虛擬系統時,我將虛擬磁碟檔案複製一份重新建立虛擬系統時提示

開啟 虛擬硬碟 5.04.vdi 失敗.
Cannot register the hard disk '5.04.vdi' with UUID {24eb969f-8c98-470d-b2dd-35318f2b8860} because a hard disk '5.04.vdi' with UUID {24eb969f-8c98-470d-b2dd-35318f2b8860} already exists in the media registry ('C:\Documents and Settings\\.VirtualBox\VirtualBox.xml').

往Google裡找尋了一番,原來Virtualbox的Windows版本也是有VBoxManage命令的.於是我決定給複製的vdi檔案重新分配uuid.

cd C:\Program Files\Sun\VirtualBox

C:\Program Files\Sun\VirtualBox>VBoxManage internalcommands setvdiuuid 'I:\VBOX\RHEL5.4\5.4.clone.vdi'

接著就可以使用拷貝的vdi檔案正常的建立第二臺虛擬機器了.

當然如果你沒有直接複製vdi檔案,那麼直接用Virtualbox自帶的克隆vdi檔案命令.

C:\Program Files\Sun\VirtualBox>VBoxManage clonehd 'I:\VBOX\RHEL5.4\5.4.vdi' 'I:\VBOX\RHEL5.4\5.4.clone.vdi'

注:如果路徑中存在空格可以在路徑的兩端新增引號.

Virualbox的快照功能非常不錯,可以即時恢復到快照時的狀態.做試驗就不用重新配環境了.

你可以迅速的將你virtualbox裡的一個虛擬機器複製出第二個來,但是不是通過簡單的複製硬碟映象檔案,而是需要使用virtualbox的"VBoxManage clonehd"命令。這是因為virtualbox分配給每一個硬碟映象一個唯一的UUID號並儲存在硬碟映象中,如果兩個映象使用相同的UUID的話virtualbox是拒絕工作的。
具體使用方法有兩種:


方法一:
VBoxManage clonevdi 原始VDI檔名 新的VDI檔名

直接寫VDI檔名即可,不用指明VDI檔案所在路徑,新的檔案會在全域性設定中指定的VDI目錄下建立。如果VDI檔名裡帶有空格,應該在兩端加上雙引 號。VBoxManage命令位於VirtualBox安裝目錄下。

用這個方法建立了新的VDI檔案後,就可以正常註冊並在另一個虛擬機器中使用了。

不過執行此命令之前需要將硬碟映象從虛擬介質管理器中將映象釋放 並刪除,否則會報類似如下錯誤:

[email protected]:/stor/virtualbox/sv1$ VBoxManage clonehd sv1-disk1.vdi ../sv2/sv2-disk1.vdi
Sun VirtualBox Command Line Management Interface Version 3.1.6
(C) 2005-2010 Sun Microsystems, Inc.
All rights reserved.

ERROR: Cannot register the hard disk '/stor/virtualbox/sv1/sv1-disk1.vdi' with UUID {4e7a0d53-2775-438d-b383-79e69c5cf7f4} because a hard disk '/stor/virtualbox/sv1/sv1-disk1.vdi' with UUID {4e7a0d53-2775-438d-b383-79e69c5cf7f4} already exists in the media registry ('/home/chao/.VirtualBox/VirtualBox.xml')
Details: code NS_ERROR_INVALID_ARG (0x80070057), component VirtualBox, interface IVirtualBox, callee nsISupports
Context: "OpenHardDisk(Bstr(szFilenameAbs), AccessMode_ReadWrite, false, Bstr(""), false, Bstr(""), srcDisk.asOutParam())" at line 628 of file VBoxManageDisk.cpp

克隆過程:
[email protected]:/stor/virtualbox/sv1$ VBoxManage clonehd sv1-disk1.vdi ../sv2/sv2-disk1.vdi
Sun VirtualBox Command Line Management Interface Version 3.1.6
(C) 2005-2010 Sun Microsystems, Inc.
All rights reserved.

0%...10%...20%...30%...40%...50%...60%...70%...80%...90%...100%
Clone hard disk created in format 'VDI'. UUID: 74ba3dd6-8a13-4144-8494-2c247d85cf44



方法二:

直接複製磁碟檔案,然後手動修改映象檔案的UUID:

#VBoxManage internalcommands sethduuid 映象檔案路徑

然後就可以直接使用了。


不過新版本的linux是用UUID來標記、識別硬碟的,系統識別的硬碟UUID是virtualbox決定的,所以當你通過以上方法克隆了裝有linux的硬碟映象的話,肯能會因為無法找到對應uuid的硬碟而導致無法啟動,所以你需要修改啟動載入指令碼(如/boot/grub/menu.lst),不要忘記哦!

對了,檢視硬碟UUID的方法:

#VBoxManage showhdinfo 硬碟映象路徑

例如:

[email protected]:~$ VBoxManage showhdinfo /stor/virtualbox/xp/xp-1.vdi
Sun VirtualBox Command Line Management Interface Version 3.1.6
(C) 2005-2010 Sun Microsystems, Inc.
All rights reserved.

UUID: e7627b28-110c-404a-9b59-7d9179702571
Accessible: yes
Description:
Logical size: 10240 MBytes
Current size on disk: 3218 MBytes
Type: normal (base)
Storage format: VDI
In use by VMs: xp2 (UUID: d7a8d495-32bf-470f-a4c2-8e023ac77d5f)
Location: /stor/virtualbox/xp/xp-1.vdi

相關推薦

怎樣移動virtualbox建立vdi檔案

 VirtualBox可不像VMware那樣,直接複製虛擬磁碟檔案就可以了事的,只因為VirtualBox識別虛擬磁碟檔案VDI採用了uuid識別技術. 由於測試需要搭建區域網環境,需要兩臺虛擬機器同時執行。當我安裝完一個虛擬系統時,我將虛擬磁碟檔案複製一份重新建立虛擬系統

git - Windows建立 .gitignore 檔案

Windows環境總歸是是稀奇古怪的,尤其是Windows上用傳統Linux、Unix軟體的時候。 比如:建立 .gitignore 檔案,就遇到問題了。Windows預設"."前面是檔名,後面是字尾名。那麼,直接寫個文字檔案,再改名或者直接新建檔案都是不行的。 方法至少有兩個: 1.

Ubuntu建立XFS檔案系統的LVM

[email protected]:~# fdisk -lDisk /dev/sdb: 605 GiB, 649613803520 bytes, 1268776960 sectorsUnits: sectors of 1 * 512 = 512 bytesSector size (logical/p

使用批處理命令移動子目錄的所有檔案到當前目錄,並刪除子目錄

@echo off set son=%cd% @Rem 獲取上級目錄,暫時沒使用到 pushd %son% cd .. set parent=%cd% popd for /d %%i in (*) do ( move /y %son%\%%i\*.* %son% rd %s

使用dd命令在Linux建立檔案,批量大小檔案生成方法

前沿:最近在開發自動從U盤拷貝大批量檔案到linux系統的的功能。由於需要幾十個G的大檔案來做測試,如果自己去找這麼多資源,然後再拷貝,非常麻煩。所以學了下dd命令,現在總結一下: 一、引數介紹 if=FILE         從FILE中讀取資料,而不是預設的標準輸入。

windows建立.gitignore檔案(git提交時忽略某些檔案

相信大家在使用eclipse的git外掛提交檔案時,都會遇到這樣一個問題:就是有可能不小心把不必要的檔案也被提交了(如.project,.classpath檔案或者.settings資料夾及其下面的檔案等),那有沒有辦法把這些檔案忽略掉呢? 方法很簡單,就是在

在sys目錄建立屬性檔案 sysfs_create_group()

正常情況下, 我們可以通過module_param()在module相應目錄下建立一個檔案, 以用作user space與kernel space的互動. 如果需要在/sys/bus/usb/devices/usbx目錄下建立相應檔案, 則需要用到sysfs_create_

android在當前app的目錄建立一個檔案

/*********************************************************************  * Author  : Samson  * Date    : 04/22/2014  * Test platform:  *              3.11.0

virtualboxcentos與Windows宿主機建立共享文件夾

virtual共享文件夾一,設置共享文件夾在Windows中建立共享文件夾(F:/share)在Virtualbox中設置共享文件夾的路徑通過這一步操作,就可以將在Windows中建立的文件夾映射到Virtualbox中了。二,安裝gcc,make,kernel-devel在執行增強工具的安裝腳本的時候,需要

VirtualboxVDI檔案瘦身

Virtualbox虛擬機器執行久了之後就會發現,磁碟映象vdi檔案越來越大。即使你把虛擬機器中的大檔案刪除,這個vdi檔案佔用的空間還是不變。也就是說動態擴充套件的vdi檔案只會大,不會小。那麼大的檔案對於備份和分享都不是很方便,所以有必要的時候可以進行壓縮處理。virtualbox介面沒有提

linuxtouch的運用以及在linux建立可執行的.sh檔案

linux的touch命令不常用,一般在使用make的時候可能會用到,用來修改檔案時間戳,或者新建一個不存在的檔案。 1.命令格式: touch [選項]... 檔案... 2.命令引數: -a   或--t

VirtualBox中重新匯入vdi檔案從而恢復原guest系統

1 問題描述 之前的Win7系統上安裝有VirtualBox虛擬機器,guest OS為Ubuntu 14.04,最近由於特定的原因重新安裝了Win7系統。新host系統安裝後,我們沒有必要重新利用Ubuntu 14.04的iso檔案安裝guest系統,完全可以利用先前遺留下來的vd

2018/11/29 VirtualBox 安裝centos6.5的.iso光碟映象以及centos7的.vdi硬碟映象

什麼是Virtualbox? VirtualBox 是一款開源虛擬機器軟體(注:跟vmware差不多)。VirtualBox 是由德國 Innotek 公司開發,由Sun Microsystems公司出品的軟體,使用Qt編寫,在 Sun 被 Oracle 收購後正式更名成 Oracle VM V

2018/12/01 VirtualBox安裝Centos7的vdi檔案 以及使用Xshell和simba 檔案共享服務

VirtualBox安裝Centos7 檔案在這裡可以下載 連結:https://pan.baidu.com/s/1E7cVcDzXsQLMbxPb6Y4C7g  提取碼:1f9p    安裝方法 1先安裝好VirtualBox 2點選控制——註冊,選擇

Winows程式崩潰自動建立Dump檔案以方便跟蹤問題

首先定義一個預設的異常處理回撥函式: LONG CrashHandler(struct_EXCEPTION_POINTERS* pExceptionInfo) { std::string dumpFileName = "./CrashDump.dump"; H

使用Dev C++建立工程檔案呼叫不同檔案的c檔案

在學校嵌入式軟體小組課上直播翻車,很尷尬 !!!! 然後我結束以後仔細找了一歘啊錯誤原來是因為沒有主一標頭檔案的包含形式導致的 我先介紹一下C語言包含標頭檔案時<>和""區別 我在剛學的時候就有一種疑惑 ,為什麼學長的資料夾下面包含標頭檔案有時候就是#inclu

Linux、window伺服器建立共享資料夾(方便與區域網內進行檔案共享)

SEO關鍵字:samba伺服器的搭建 ServU的安裝使用 玉念聿輝 Linux共享檔案 window共享檔案 深圳市奧捷迅科技 吳明輝 感謝CSDN品臺。 Linux下samba的安裝和建立共享檔案 1、關閉selinux setenforce 0 2、關閉ipta

在Windows建立cmd/bat檔案快速執行jar檔案

1.jdk安裝配置完成 2.可執行jar包匯出成功 3.在可執行jar包所在路徑建立run.txt檔案 4.編輯run.txt內容(輸入java -jar xxx.jar)   5.儲存並修改的檔案拓展名(.bat或者.cmd) 6.雙擊執行即可

ubuntu建立 檔案 快捷命令開啟方式

以安裝包 安裝sublime 建立快捷命令為例 1、mv /sublime_test3/sublime_text /opt  將整個解壓好的包 傳送到/opt 目錄下(sublime_text為程式開啟入口) 2、sudo ln -s /opt/sublime_text_

[Unity基礎]移動平臺檔案讀寫

參考連結: http://www.cnblogs.com/murongxiaopifu/p/4199541.html?utm_source=tuicool#autoid-3-2-0 http://zhaolongchn.blog.163.com/blog/static/19