Ubuntu 13.10でVDIファイルをマウントしようとしています。私がしようとしました
Sudo apt-get install virtualbox-Fuse
しかし、パッケージが見つからないという不満があります。
それをrawに変換することは、実際には私にとって選択肢ではありません。十分な空き領域がありません。
virtualbox-Fuseはaptリポジトリから削除されました。 Launchpad からダウンロードしてインストールできます。ダウンロードしたら、押すだけ Ctrl+Alt+T キーボードでターミナルを開きます。開いたら、ファイルがダウンロードされた場所に移動し、以下のコマンドを実行します:
Sudo dpkg -i <package_name>.deb
インストールしたら、次のように入力してvdiをマウントできます。
Sudo vdfuse -f /home/user/file.vdi /home/user/mountpoint
注:virtualbox-Fuseはvirtualbox 4.1.18に依存しており、4.2では動作しません。マリウスに感謝します。
Virtualbox 4.3.10でUbuntu 14.04を実行するdpkgを強制してパッケージをインストールしました。
Sudo dpkg -i --force-depends virtualbox-Fuse_4.1.18-dfsg-1ubuntu1_AMD64.deb
その後はすべてうまくいきました。
Vdiファイルをマウントすると、パーティションにアクセスできますが、パーティションをどこかにマウントする必要があります。例えば:
mkdir ~/vdisk
mkdir ~/part1
Sudo vdfuse -f Machine.vdi ~/vdisk
Sudo mount ~/vdisk/Partition1 ~/part1
@gavenkoaの回答に基づきますが、新しいイメージを作成する代わりに既存のイメージをマウントする場合::
$ Sudo apt-get install qemu-utils
$ Sudo modprobe nbd max_part=16
$ Sudo qemu-nbd -c /dev/nbd0 ~/path/to/my.vdi
$ Sudo partprobe /dev/nbd0
$ Sudo mount /dev/nbd0p1 /mount-target
複数のパーティションがある場合、番号でそれらにアクセスできます。nbd0p1はパーティション1、nbd0p2はパーティション2などです。
調査が終了したら、ネットワークデバイスからVDIイメージをアンマウントする必要があります。
$ Sudo qemu-nbd -d /dev/nbd0
... 4.2を使用している場合、このソフトウェアを使用する場合はダウングレードする必要があります...
これは正しくありません! 「vbfuse」の4.1バージョンは、公式のvirtualboxバージョンの4.x行と互換性があります。
Virtualbox-Fuseパッケージをダウンロードするだけで、インストールは行わないでください:
Sudo apt-get install -d virtualbox-Fuse
代わりに、パッケージを(一時)ディレクトリにコピーし、展開して「vdfuse」バイナリをシステムにコピーします。
mkdir /tmp/vboxfuse
cd /tmp/vboxfuse
mv /var/cache/apt/archives/virtualbox-Fuse*.deb .
dpkg -x virtualbox-Fuse*.deb .
cp -av usr/bin/vdfuse /usr/bin/.
cd /tmp
rm -rf vboxfuse
システムの/ usrおよび/ varの許可に応じて、上記のコマンドの一部を実行するにはroot権限が必要です。
これにより、virtualbox-4.xをアンインストールする必要がなくなります。 Ubuntu 12.04でテストされていますが、他のバージョンでも動作するはずです。
参照: https://wiki.blue-it.org/VirtualBox#Mount_a_vmdk_file_in_linux
作業環境の準備::
$ mkdir ~/devel/lfs
$ VBoxManage createhd --filename ~/devel/lfs/lfs.vdi --size 2000 --format VDI
必要なパッケージを取得::
$ Sudo apt-get install qemu-utils
$ Sudo modprobe nbd max_part=16
max_part=16
なしで、後のコマンドでDebianでエラーが発生します::
$ Sudo partprobe /dev/nbd0
Error: Error informing the kernel about modifications to partition /dev/nbd0p1 -- Invalid argument.
This means Linux won't know about any changes you made to /dev/nbd0p1 until you reboot -- so you shouldn't mount it or use it in any
way before rebooting.
Error: Failed to add partition 1 (Invalid argument)
パーティションを作成してフォーマット::
$ Sudo qemu-nbd -c /dev/nbd0 ~/devel/lfs/lfs.vdi
$ { echo mklabel msdos; echo mkpart primary ext2 0s -1s; echo quit; } | Sudo parted /dev/nbd0
$ Sudo partprobe /dev/nbd0
$ Sudo mkfs.ext3 /dev/nbd0p1
およびマウントイメージ::
$ mkdir ~/devel/lfs/image
$ Sudo mount /dev/nbd0p1 ~/devel/lfs/image
調査が終了したら、ネットワークデバイスからVDIイメージをアンマウントする必要があります。
$ Sudo qemu-nbd -d /dev/nbd0