Pertanyaan Pasang gambar drive VirtualBox (vdi)?


Apakah mungkin untuk me-mount drive image VirtualBox (.vdi) sehingga isinya dapat dilihat di Nautilus dll.?

Saya memiliki windows 2000. Vdi yang tidak mau boot ("perangkat boot yang tidak dapat diakses") setelah meningkatkan dari VirtualBox 2.x menjadi 3.1.6. Saya yakin detail drive IDE telah berubah dan yang harus saya lakukan adalah mengakses gambar drive internal dan mengedit Windows boot.ini untuk menunjuk ke lokasi baru.


76
2017-12-30 14:44


asal


Jika .vdi Anda dan kemudian .img file berisi lebih dari 1 partisi, ini sangat berguna: telusuri-img-tanpa-pemasangan - user2689749


Jawaban:


Anda dapat mengonversinya menjadi gambar standar dan kemudian memasangnya.

VBoxManage clonehd --format RAW ubuntu.vdi ubuntu.img

Kemudian

mount -t ext3 -o loop,rw ./ubuntu.img /mnt

Anda perlu MENGETAHUI jenis sistem file, ext3 pada kasus ini. Setelah dipasang, masuk dan edit dengan editor pilihan Anda. Jangan bingung file di dalam /mnt lokasi dengan host yang sedang berjalan, atau itu akan menjadi buruk.

Untuk memeriksa detail tentang file VDI Anda, jalankan: VBoxManage showhdinfo ubuntu.vdi.

Sumber: [ASK] Buka .vdi dengan manajer arsip? - ubuntuforums.org


48
2017-12-30 14:47



Specilly bermanfaat dalam situasi seperti ini. OP akan dapat bekerja pada salinan menjaga asli sebagai cadangan. - Javier Rivera
Hati-hati melakukan hal ini dengan file .vdi yang berukuran dinamis. Konversi ke .img akan memaksa file gambar menjadi sebesar ukuran logis dari disk, yang mengapa pendekatan ini berfungsi, tetapi mungkin jauh lebih besar daripada file .vdi. Lihatlah output dari VBoxManage showhdinfo [your vdi file] jika kamu tidak yakin. - Jack O'Connor
-1, stwissel dan Maxime R.Jawabannya memberikan solusi - ini solusi yang adil, tetapi bukan jawaban terbaik untuk pertanyaan itu - STW
Jika gambar memiliki tabel partisi (seperti kebanyakan drive), maka Anda harus menggabungkan jawaban ini dengan yang ini untuk me-mount partisi individual. - bain
Tidak berfungsi. Terus mendapatkan kesalahan pemasangan salah tipe fs. Saya mencoba ext3 dan ext2 dan ext4. Kotak virtual mengatakan tipe hd fs adalah ext4. - Joshua Robison


Menggunakan qemu-nbd, prosesnya dijelaskan di serverfault dan di blog ini.

Pada dasarnya, Anda harus menginstal qemu jika diperlukan:

sudo apt-get install qemu

Maka Anda harus memuat perangkat blok jaringan modul:

sudo rmmod nbd
sudo modprobe nbd max_part=16

Lampirkan gambar .vdi ke salah satu nbd yang baru Anda buat:

sudo qemu-nbd -c /dev/nbd0 drive.vdi

Sekarang Anda akan mendapatkan perangkat blok / dev / nbd0, bersama dengan beberapa / dev / nbd0p * node perangkat partisi.

sudo mount /dev/nbd0p1 /mnt

Setelah Anda selesai, unmount semuanya dan lepaskan perangkat:

sudo qemu-nbd -d /dev/nbd0

75
2018-06-24 01:48



Saya ingin mencatat itu max_part=16 tampaknya menjadi bagian penting. Tanpa itu Anda tidak akan melihat apa pun /dev/nbd0pX file, meskipun perangkat utama akan berfungsi dengan baik. Periksa diskusi berikut ini Forum Gentoo untuk melihat orang-orang menemui masalah ini. - firegurafiku
Semua jawaban bekerja sampai batas tertentu tetapi ini adalah favorit saya dan seharusnya yang diterima. clonehd melakukan pekerjaan tetapi menggandakan kebutuhan penyimpanan. virtualbox-fuse sangat ideal tetapi meskipun Anda masih bisa mendapatkannya, itu tidak membuatnya ke repos dalam rilis modern OS. - Hatoru Hansou
Hebat! Ini benar-benar metode terbaik untuk menggunakan file .vdi! Saya mendapatkan kesalahan bodoh kloning atau mengubah ukuran VDI, tetapi metode ini melewati semua masalah :) VBoxManage: error: Could not create the clone medium '/mnt/temp6/xubuntu-14.04-64bit.img'. VBoxManage: error: Raw: disk would overflow creating image '/mnt/temp6/xubuntu-14.04-64bit.img' (VERR_DISK_FULL)   VBOX_E_NOT_SUPPORTED VBoxManage: error: Resize hard disk operation for this format is not implemented yet! - Avio
Ini berhasil. Perhatikan bahwa menginstal qemu-kvm dari pada qemu dapat bekerja dengan baik. Itu buat saya di Ububtu 16.04 saya, dan hanya menginstal 23MB dan 13 dependensi daripada 230MB dan lebih banyak dependensi untuk instalasi qemu penuh. - mivk
Saya ingin menambahkan itu rupanya sudo partprobe perlu dijalankan dengan kernel yang lebih baru sehingga /dev/nbd0p* dibuat di Debian / Ubuntu (bugs.debian.org/cgi-bin/bugreport.cgi?bug=824553). - Kai


Sepertinya vdfuse adalah alat yang Anda cari. Itu ada di repositori Ubuntu. Jika Anda ingin mengompilasi diri (sumber 2010), Anda bisa lakukan itu juga.

Namun bagi sebagian besar dari kita itu bermuara pada sederhana:

sudo apt-get install virtualbox-fuse

Tampaknya sekarang mendukung dynamic vdi juga.

Dan untuk me-mount .vdi file di /mnt dir menggunakan perintah:

sudo vdfuse -a -f /path-to-vdi-file /mnt

Seluruh disk akan dipasang dengan partisi Partition1 , Partition2 format penamaan. Kemudian file-file itu bisa di-loop mount. Sebagai contoh,

sudo mount -o loop /mnt/Parition1 /mountpoint

35
2018-05-07 06:02



@mattwilkie: Perbedaannya sekarang: tidak ada kompilasi manual yang diperlukan lagi - stwissel
Sama sama. Duduk di layar / keyboard yang tepat dan bukannya mematuk glas membuat semua perbedaan :-) - stwissel
Ini tidak tersedia di 14.04. - int_ua
Satu dapat mengunduhnya dari sini: sourceforge.net/projects/vdfuse/?source=typ_redirect dan berhasil (pada 15.04) - sup
Tidak lagi berlaku untuk 16.10, paket tidak ada lagi. - Piskvor


Atur disk sebagai master sekunder untuk OS virtual lain, lalu boot ke OS (virtual) ini dan Anda dapat memasangnya.

Langkah 1: Dengan asumsi Anda memiliki virtual os (katakanlah Ubuntu 16.04) sudah terpasang di kotak Virtual, tambahkan penyimpanan baru dari pengaturan os virtual itu. enter image description here

Langkah 2: Jelajahi file Vdi yang ingin Anda akses dan pilih.

Langkah 3: Masuk ke OS virtual.

Langkah 4: Disk virtual mungkin akan tersedia di dalam OS. Jika tidak, ikuti langkah 5

Langkah 5: Di dalam OS virtual, gunakan Gparted dan periksa disk. dan pastikan disk adalah tipe yang dapat diakses oleh OS virtual. Jika tidak, Anda mungkin harus mengedit disk, tetapi kemudian Anda akan kehilangan konten yang ada.


14
2017-12-30 15:13



Sebagai catatan, pada tahun 2016 itu tidak akan berhasil - Paulo Pedroso
Ia bekerja di ubuntu 16.04. - Sharun
ini benar-benar satu-satunya solusi ketika Anda perlu melakukan perubahan dan kemudian kembali menggunakannya, tidak bisa bekerja dengan vdfuse - DuBistKomisch


Saya tidak menguji diri saya sendiri tetapi tampaknya ada modul sekring untuk memasangnya (vfduse), periksa halaman berikut:

Harap dicatat bahwa menggunakannya untuk akses tulis berisiko.


Pemakaian:

$ ./vdfuse-v<version> -h
USAGE: ./vdfuse [options] -f image-file mountpoint
   -h   help
   -r   readonly
   -t   specify type (VDI, VMDK, VHD, or raw; default: auto)
   -f   VDimage file
   -a   allow all users to read disk
   -w   allow all users to read and write to disk
   -g   run in foreground
   -v   verbose
   -d   debug

Untuk memasang gambar secara langsung menggunakan namafile-nya:

$ ./vdfuse-v<version> -f image.vdi /mnt/vdi
$ mount -o loop /mnt/vdi/Partition1 /mnt/WindowsXP

Untuk memasang disk mesin (termasuk foto):

$ ./vdautomount-<version> -p /path/to/vdfuse WinXP /mnt/vdi
$ mount -o loop /mnt/vdi/Partition1 /mnt/WindowsXP

6
2017-12-30 15:08



Tidak lagi relevan karena utilitas ini tidak didukung. - Evan Carroll


Bukan apa yang Anda minta, tetapi jika itu hanya masalah mendapatkan file dari vdi, dan kamu mau solusi yang sangat cepat:

  1. Jalankan server ssh pada host Anda (apt-get install openssh-server && service ssh restart)
  2. Gunakan VirtualBox untuk membangun mesin virtual dari file vdi yang ada, lalu boot mesin virtual itu. (Saya hanya menyimpan Network Adapter (NAT) default ketika membuat VM.)
  3. Di dalam mesin virtual, sftp ke host Anda. (sftp hostuser@hostip)
  4. Di sesi sftp, put karena banyak file ke host yang Anda butuhkan.

3
2018-02-20 17:23



Peretasan yang buruk, tetapi jika Anda berada di tempat yang sempit, itu akan menyelesaikan pekerjaan. - Piskvor
Satu masalah mungkin adalah bahwa mesin tidak saat ini boot dengan benar sehingga Anda harus memperbaiki masalah itu terlebih dahulu dan itu berarti Anda tidak dapat melakukannya dari dalam. Juga menggunakan SSH dengan OS virtualbox Anda adalah cara untuk menyalin file di sekitar. Lebih cepat daripada mencoba berbagi disk. - Alexis Wilke


Seperti Vojtech Trefny yang disebutkan di atas,

1) konversi dulu VDI Anda -> IMG

VBoxManage clonehd --format RAW ubuntu.vdi ubuntu.img

2) Kemudian pasang IMG

mount -t ext3 -o loop,rw ./ubuntu.img /mnt

3) Namun, ketika saya mendapat pesan kesalahan ini:

mount: wrong fs type, bad option, bad superblock on /dev/loop0,
       missing codepage or helper program, or other error
       In some cases useful info is found in syslog - try
       dmesg | tail  or so

dan dmesg berkata:

[3105578.013671] EXT4-fs (loop0): VFS: Can't find ext3 filesystem

Anda perlu memeriksa struktur partisi dari .img:

fdisk -l ubuntu.img

Disk ubuntu.img: 21.0 GB, 20971520000 bytes
255 heads, 63 sectors/track, 2549 cylinders, total 40960000 sectors
Units = sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes
Disk identifier: 0xf45bc910

   Device Boot      Start         End      Blocks   Id  System
ubuntu.img1   *        2048    12582911     6290432   83  Linux
ubuntu.img2        12584958    16775167     2095105    5  Extended
ubuntu.img3        16775168    40959999    12092416   83  Linux
ubuntu.img5        12584960    16775167     2095104   82  Linux swap / Solaris

4) Seperti yang Anda lihat, partisi utama dimulai pada byte 16775168. Namun, perhatikan bahwa ukuran sektor adalah 512 byte, sehingga Anda perlu mengalikan hasil 16775168 x 512 = 8588886016 sehingga Anda perlu mengimbangi mount seperti ini:

mount -t ext3 -o loop,rw,offset=8588886016 ./ubuntu.img /mnt

5) Sebenarnya ini tidak bekerja untuk saya dalam kasus di mana filesystem itu kotor setelah mengubah ukuran. Dalam hal ini saya lebih lanjut melakukan ini:

dd if=ubuntu.img of=ubuntu.disk bs=512 skip=16775168 count=12092416
e2fsck ubuntu.disk
mount ubuntu.disk /mnt

-1
2018-06-18 12:51



Ini bukan jawaban untuk pertanyaan itu. Anda punya masalah lain - gambar yang korup. Anda harus menjawab sendiri pertanyaan baru. - Evan Carroll