.vhdファイルをマウントするにはどうすればよいですか?


11

13.04 Raring amd64を使用しています。ubuntuに.vhdファイルをマウントする必要があります。私はそれについてグーグルで調べましたが、virtualbox-fuseパッケージが答えであることがわかりました。

しかし、パッケージはaptリポジトリから削除されました。13.04でパッケージをインストールする方法はありますか?またはvirtualbox-fuseの代わりはありますか?


私はこれと同じことをやっただけで、vdiを未加工の画像に変換できるという結果に終わりました
zeitue

ブー。vhdまたはvdiファイルが大きすぎて生のイメージとして複製を作成できない場合、これは適切な解決策ではありません
Joshua Robison

1
それで、virtualboxをインストールした場合、vdfuseコマンドを使用できますか?

回答:


4
sudo apt-get install virtualbox-fuse
sudo mkdir /mnt/vhd-disk/
sudo vdfuse -f disk.vhd /mnt/vhd-disk/
sudo mount -o loop  /mnt/vhd-disk/Partition1 /mnt/partition1

必要に応じてmount権限を設定するには、追加のオプションが必要になる場合があることに注意してください。


動作します。 たとえば、vdfuse.sourceforge.netからvdfuseをダウンロードできます。たとえば、私の場合、最後の行はsudo mount -o -loop / tmp / win / Partition1 / mnt / Windows
MaxV

4

Ubuntu 15.10(Ubuntu 16.04でも動作します)を使用して、vhdimountとtsk(The Sleuth Kit)を次の方法でインストールできます。

sudo apt-get install libvhdi-utils sleuthkit

その後、次のように続行できます。

sudo mkdir -v /mnt/vhd
sudo vhdimount -X allow_root /path/to/file.vhd /mnt/vhd/
sudo mmls -aB /mnt/vhd/vhdi1

次に、次のmmlsような出力からオフセットを計算する必要があります。

echo offset*512 | bc

そして最後に:

sudo mkdir -v /media/${USER}/your/folder
sudo mount -vt ntfs-3g -o ro,noload,offset=offset-found /mnt/vhd/vhdi1 /media/${USER}/your/folder

offset-foundオフセットで置き換えます。また、vhdファイルに含まれているfs-typeに従ってfs-typeを変更する必要がある場合もあります。

スクリプトを作成したので、毎回入力する必要はありません;)


これにより、読み取り専用としてマウントされます。書き込み権限でマウントするにはどうすればよいですか?rofor mountstill を省略すると、読み取り専用になります。
Mads Skjern 2017年

変更rorw、読み取り/書き込みではなく読み取り/書き込みで実行する必要があります。は読み取り/書き込みモードでvhdimountマッピングさ/mnt/vhd/vhdi1mountますrwが、オプションとして指定しない場合、次のコマンドは読み取り/書き込みモードになります
Jiab77

1
代わりに、パーティションの開始セクタを知るためにMMLSやfdiskを使用して、あなたも使用することができます:Ubuntuの16.04でkpartxあなたがなくてマウントできる仮想デバイスファイルを作成するoffsetオプションを:sudo kpartx -av /mnt/vhd/vhdi1; sudo mount -vt ntfs-3g -o ro,noload /dev/mapper/loop0p1 /media/${USER}/your/folder
slowhand

2

UbuntuのLaunchpadスペースを検索すると、次のものが表示されます。

virtualbox(バイナリ 'virtualbox-fuse'はvirtualboxパッケージの一部です)

これは、それらがvirtualbox-fuseメインパッケージにマージされ、リポジトリからvirtualboxをインストールするだけでよいことを意味します(これは以前はと呼ばれていたvirtualbox-oseため、PUELライセンスの「フル」バージョンが必要な場合、これは役に立ちません)。


2

VMに依存せずにvhdイメージのデータにアクセスしたいと思います。Ubuntu(正確ではない(12.04)以降)とDebian(Wheezy(7)以降virtualbox-fusevdfuseはない)では利用できなくなりました。を使用して、個人用VHDのNTFSパーティションをマウントできました。blk-tap

tap-ctl spawnもちろんから適切なPIDを挿入します。あなたのパーティション設定スキームは私のものとは異なる場合があるので、それに応じて調整してください。

# apt-get install blktap-utils
# modprobe blktap
# tap-ctl allocate
/dev/xen/blktap-2/tapdev0
# tap-ctl spawn
tapdisk spawned with pid 1234
# tap-ctl attach -m 0 -p 1234
# tap-ctl open -m 0 -p 1234 -a vhd:/full/path/to/image.vhd
# mount /dev/disk/by-id/dm-name-tapdev0p1
# ls -lh do/your/thing with/all/your/files.txt 
# tap-ctl close -m 0 -p 1234
# tap-ctl detach -m 0 -p 1234
# tap-ctl free -m 0

これらの手順は、xenプロジェクトのwikiからのものです。

私のブロックデバイスはに作成されました/dev/xen/blktap-2/blktap0。何らかの理由で、kpartx -aパーティションをマップしませんでしたが(/ dev / xen / blktap-2 / tapdev0p1を探して/dev/disk/by-id/dm-name-tapdev0p1いました)、パーティションのブロックデバイスにリンクされていることがわかりました。


1

これは私がそれのためにしたことです:

スムーズに進む方法がないようです。virtualbox-fuseランチパッドからdebパッケージファイルをダウンロードしました。(ここ

私のvboxが少し古いので4.1.18を選びましたが、最近のバージョンで動作すると思います。

でパッケージをインストールしますdpkg -i--force-dependsインストールのオプションを指定する必要があるかもしれません。


9
じゃあ何?インストール後にVHDをどのようにマウントしますか?
Enkouyami 2013年

1

と呼ばれるプログラムを使用して、Windows 10バックアップファイルで作成した.vhdxファイルをUbuntu 16.04 OSに正常にマウントしました guestmount

guestmountlibguestfs.orgのマニュアルページ

アクセス許可を調整する必要がある、または後にアクセスマウントすることに注意してくださいsudo -i、またはsudo -s実行されました。


-1

VirtualBoxを使用できます。

VirtualBoxは無料のx86仮想化ソリューションであり、Windows、DOS、BSD、Linuxなどの幅広いx86オペレーティングシステムをLinuxシステムで実行できます。

Ubuntu 13.04でVirtualBoxをインストールするには、キーボードのCtrl+ Alt+ Tを押してターミナルを開きます。開いたら、以下のコマンドを実行します。

sudo apt-get install virtualbox

インストールが完了したら、先に進んで新しい仮想マシンを作成します

ここに画像の説明を入力してください

名前を入力します。 VHDにあるOSの正しいタイプとバージョンを選択していることを確認してください。

ここに画像の説明を入力してください

既存の仮想ハードドライブファイルを使用することを選択し、VHDファイルを参照して、[作成]をクリックします。

ここに画像の説明を入力してください


2
これにより、VHD上のOSを実行できますが、Linuxでイメージをマウントすることはできません。
IQAndreas
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.