Bagaimana cara me-mount file .vhd?

11

Saya menggunakan 13,04 Raring amd64 dan saya perlu me-mount file .vhd di ubuntu saya . Saya sudah googled tentang hal itu dan menemukan bahwa paket sekering virtualbox adalah jawabannya.

Tetapi paket itu dihapus dari repositori apt. Apakah ada cara untuk menginstal paket dengan 13.04? atau apakah ada alternatif untuk sekering virtualbox?

Kim Younggun
sumber
Saya baru saja melakukan hal yang sama, dan hasil pencarian saya berakhir dengan Anda dapat mengonversi vdi menjadi gambar mentah
zeitue
boo. itu bukan solusi yang baik ketika file vhd atau vdi bisa terlalu besar untuk membuat duplikat sebagai gambar mentah
Joshua Robison
1
Jadi, jika saya menginstal virtualbox saya dapat menggunakan perintah vdfuse?

Jawaban:

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

Perhatikan bahwa Anda mungkin perlu opsi tambahan mountuntuk mengatur izin sesuai keinginan Anda.

Kevin Smyth
sumber
Berhasil, Anda dapat mengunduh vdfuse dari vdfuse.sourceforge.net misalnya dalam kasus saya, baris terakhir adalah: sudo mount -o -loop / tmp / win / Partition1 / mnt / Windows
MaxV
4

Menggunakan Ubuntu 15.10 (berfungsi juga di Ubuntu 16.04), Anda dapat menginstal vhdimount dan tsk (The Sleuth Kit) melalui:

sudo apt-get install libvhdi-utils sleuthkit

Kemudian Anda dapat melanjutkan sebagai berikut:

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

Selanjutnya, Anda harus menghitung offset dari output mmlsseperti ini:

echo offset*512 | bc

Dan untuk menyelesaikan:

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

Ganti offset-founddengan offset Anda. Anda mungkin juga harus mengubah tipe fs sesuai dengan tipe fs yang termasuk dalam file vhd Anda.

Saya sudah membuat skrip jadi saya tidak harus mengetik ini setiap kali;)

Jiab77
sumber
Ini dipasang sebagai hanya baca. Apa yang bisa saya lakukan untuk memasangnya dengan izin menulis? Menghilangkan rountuk mountmasih menghasilkan hanya baca.
Mads Skjern
Ubah rodengan rwdan yang seharusnya dijalankan dalam baca / tulis alih-alih hanya baca / saja. vhdimountpeta ke /mnt/vhd/vhdi1dalam mode baca / tulis tetapi perintah selanjutnya menggunakan mountadalah baca / hanya jika Anda tidak menentukan rwsebagai opsi
Jiab77
1
Di Ubuntu 16.04: Alih-alih menggunakan mmls atau fdisk untuk mencari tahu tentang sektor awal partisi, Anda juga dapat menggunakan kpartxuntuk membuat file perangkat virtual yang dapat Anda offsetsudo kpartx -av /mnt/vhd/vhdi1; sudo mount -vt ntfs-3g -o ro,noload /dev/mapper/loop0p1 /media/${USER}/your/folder
pasang
2

Mencari ruang Launchpad Ubuntu, berikut ini muncul:

virtualbox (Biner 'virtualbox-fuse' adalah bagian dari paket virtualbox)

Ini berarti bahwa mereka bergabung virtualbox-fuseke dalam paket utama dan Anda hanya perlu menginstal virtualbox dari repositori (Ini adalah yang dulu disebut virtualbox-ose, jadi jika Anda memerlukan versi "penuh" berlisensi PUEL, ini tidak akan membantu Anda.)

Tidak Ada Impor
sumber
2

Saya lebih suka tidak bergantung pada VM untuk mengakses data pada gambar vhd. Sejak virtualbox-fusedan vdfusetidak lagi tersedia di Ubuntu ( tidak tepat (12,04) ) dan Debian ( tidak sejak Wheezy (7) ). Saya dapat me-mount partisi NTFS menggunakan VHD pribadi blk-tap.

Masukkan pid yang tepat dari tap-ctl spawn, tentu saja. Skema partisi Anda mungkin berbeda dari milik saya, jadi sesuaikanlah sesuai itu.

# 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

Langkah-langkah ini datang dari wiki proyek xen .

Perangkat blok saya dibuat di /dev/xen/blktap-2/blktap0. Untuk beberapa alasan, kpartx -atidak akan memetakan partisi (saya mencari / dev / xen / blktap-2 / tapdev0p1), tetapi saya menemukan bahwa /dev/disk/by-id/dm-name-tapdev0p1telah ditautkan ke perangkat blok untuk partisi.

Epa
sumber
1

Inilah yang saya lakukan untuk itu:

Sepertinya tidak ada cara yang mulus untuk pergi. Saya baru saja mengunduh virtualbox-fusefile paket deb dari launchpad. (di sini )

Saya memilih 4.1.18 karena vbox saya sedikit lebih tua tetapi saya kira ini akan bekerja dengan versi terbaru.

Instal paket dengan dpkg -i. Anda mungkin perlu menentukan --force-dependsopsi untuk menginstal.

Kim Younggun
sumber
9
Lalu apa? Bagaimana Anda memasang VHD setelah menginstal itu?
Enkouyami
1

Saya berhasil menginstal file .vhdx yang saya buat dengan Windows 10 File cadangan ke Ubuntu 16.04 OS saya menggunakan program yang disebut guestmount

guestmounthalaman manual di libguestfs.org .

Perhatikan bahwa izin harus disesuaikan, atau mount diakses setelah sudo -iatau sudo -stelah dieksekusi.

spakmad
sumber
-1

Anda dapat menggunakan VirtualBox.

VirtualBox adalah solusi virtualisasi x86 gratis yang memungkinkan berbagai sistem operasi x86 seperti Windows, DOS, BSD atau Linux untuk berjalan pada sistem Linux.

Untuk menginstal VirtualBox Di bawah Ubuntu 13.04, cukup tekan Ctrl+ Alt+ Tdi keyboard Anda untuk membuka Terminal. Saat terbuka, jalankan perintah di bawah ini:

sudo apt-get install virtualbox

Setelah selesai menginstal, silakan dan buat mesin virtual baru

masukkan deskripsi gambar di sini

Ketikkan namanya. Pastikan Anda memilih jenis yang benar, dan versi OS yang ada di VHD.

masukkan deskripsi gambar di sini

Pilih gunakan file hard drive virtual yang ada, dan telusuri file VHD Anda, lalu klik buat.

masukkan deskripsi gambar di sini

Mitch
sumber
2
Itu akan memungkinkan Anda menjalankan OS yang ada di VHD, tetapi itu tidak memungkinkan Anda untuk memasang gambar di Linux.
IQAndreas