-1

ファイルとして2つのディスクが.vmdkあり、ファイルとして4つのディスクがあり.vdiます。Sun xMV VirtualBoxを使用して仮想マシンを起動できますが、正常に動作します。ただし、仮想マシンを起動せずにファイルを読み取ることができるように、ローカルコンピューターにマウントしたいと思います。vmware-mountユーティリティをダウンロードしましたが、次のエラーが発生します。

Unable to mount the virtual disk. The disk may be in use by a virtual
machine, may not have enough volumes or mounted under another drive
letter. If not, verify that the file is a valid virtual disk file.

ユーティリティの問題だと思って、SDKをダウンロードし、Cで独自の簡単なプログラムを作成してディスクをマウントしようとしました。APIを初期化し、それに接続してから、ディスクを開こうとします。このエラーが発生しますが、これも仮想ディスクではないと主張しています。

**LOG: DISKLIB-DSCPTR: descriptor above max size: I64u
**LOG: DISKLIB-LINK  : "f:\programming\VMs\windowstrash.vdi" : failed to open (The file specified is not a virtual disk).
**LOG: DISKLIB-CHAIN : "f:\programming\VMs\windowstrash.vdi" : failed to open (The file specified is not a virtual disk).
**LOG: DISKLIB-LIB   : Failed to open 'f:\programming\VMs\windowstrash.vdi' with flags 0x1e (The file specified is not a virtual disk).
** FAILURE ** : The file specified is not a virtual disk

ただし、実際にマウントして仮想マシンで使用できるため、ファイルは明らかに仮想ディスクです。それらをVMから切り離して再試行しましたが、同じ結果が得られました。

何か案は?たぶん「最大サイズを超える記述子」はヒントですか?

4

2 に答える 2

1

.vdiは VirtualBox でサポートされている形式ですが、VMWare ではサポートされていません。

ファイルは.vmdkVMWare イメージです - vmware ツールを使用して問題なくロードできるはずです (VirtualBox もこれらをサポートしていますが、その逆は当てはまりません)。

于 2010-02-27T06:36:04.607 に答える
0

ただし、どうにかして VDI イメージをマウントしようとしている場合は....

このブログを試してみてください

http://bethesignal.org/blog/2011/01/05/how-to-mount-virtualbox-vdi-image/

数秒でこれをやりたいなら、これはまさにあなたが見なければならないものです.

このページにアクセスする他の人が簡単に見つけられるので、これだけを投稿しました。

ありがとう。

将来このブログを削除する場合は、ここに簡単に内容を投稿していただけると助かります。そのため、内容を抽出してここにも投稿します。

スーパーユーザーになる

sudo su

nbd カーネル モジュールをロードします。- ネットワーク ブロック デバイス モジュール

modprobe nbd

QEMU 対応のディスク イメージ用のユーザー空間ループバック ブロック デバイス サーバーである qemu-nbd を実行します。基本的に、奇妙なディスク イメージ フォーマットをすべて認識し、それらを nbd 経由でカーネルに提示し、最終的にはシステムの残りの部分に、それらが通常のディスクであるかのように提示します。

qemu-nbd -c /dev/nbd0 <vdi-file>

このコマンドは、イメージ全体を /dev/nbd0 という名前のブロック デバイスとして公開し、その中のパーティションをサブデバイスとして公開します。たとえば、イメージの最初のパーティションは /dev/nbd0p1 として表示されます。

たとえば、ブロック デバイスで cfdisk を実行することもできますが、個々のパーティションをマウントすることをお勧めします。

mount /dev/nbd0p1 /mnt

完了したら、ファイルシステムをアンマウントし、qemu-nbd サービスをシャットダウンします。

umount /mnt
qemu-nbd -d /dev/nbd0
于 2014-02-28T14:52:02.390 に答える