it-swarm.dev

Připojit obrázek jednotky VirtualBox (vdi)?

Je možné připojit obrázek jednotky VirtualBox (.vdi), aby se obsah mohl zobrazit v Nautilusu atd.?

Mám Windows 2000. Vdi, který nebude možné spustit ("nepřístupné spouštěcí zařízení") po upgradu z VirtualBox 2.x na 3.1.6. Věřím, že se podrobnosti o jednotce IDE) změnily a že vše, co musím udělat, je přístup k internímu obrazu jednotky a úprava Windows boot.ini přejděte na nové umístění.

93
matt wilkie

Můžete převést na standardní obraz a poté jej připojit.

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

Pak

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

Budete muset znát typ systému souborů, ext3 v tomto případě. Poté, co je připojen, vraťte se a editujte s editorem podle vašeho výběru. Nezaměňujte soubory uvnitř /mnt umístění se spuštěným hostitelem, nebo bude špatné.

Chcete-li zkontrolovat podrobnosti o vašem souboru VDI, spusťte: VBoxManage showhdinfo ubuntu.vdi.

Zdroj: [ŘEŠENO] Otevřít .vdi pomocí správce archivů? - ubuntuforums.org

57
Vojtech Trefny

Použijte qemu-nbd, proces je vysvětlen --- na serveru chyba a v tomto blog .

V podstatě budete muset nainstalovat qemu v případě potřeby:

Sudo apt-get install qemu

Potom budete muset načíst modul síťového bloku :

Sudo rmmod nbd
Sudo modprobe nbd max_part=16

Připojte obrázek .vdi k jednomu z nbd, který jste právě vytvořili:

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

Nyní získáte blokové zařízení/dev/nbd0 spolu s několika uzly zařízení/dev/nbd0p * partition.

Sudo mount /dev/nbd0p1 /mnt

Po dokončení odpojte vše a odpojte zařízení:

Sudo qemu-nbd -d /dev/nbd0
97
Maxime R.

Vypadá to, že vdfuse je nástroj, který hledáte. Je v úložištích Ubuntu. Pokud se chcete kompilovat sami (zdroj 2010), můžete to také .

Pro většinu z nás se však scvrkává na jednoduché:

Sudo apt-get install virtualbox-Fuse

Zdá se, že nyní podporuje také dynamické vdi.

A připojit .vdi soubor v /mnt dir použijte příkaz:

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

Celý disk bude připojen s oddíly Partition1, Partition2 jmenovací formát. Tyto soubory pak mohou být připojeny do smyčky. Například,

Sudo mount -o loop /mnt/Parition1 /mountpoint
36
stwissel

Nastavte disk jako sekundární master pro jiný virtuální operační systém, poté nabootujte do tohoto (virtuálního) OS a můžete jej připojit.

Krok 1: Předpokládejme, že máte virtuální os (například Ubuntu 16.04) již nainstalováno ve Virtuálním boxu, přidejte nové nastavení z nastavení tohoto virtuálního os. enter image description here

Krok 2: Procházejte soubor Vdi, ke kterému chcete přistupovat, a vyberte jej.

Krok 3: Přihlášení k virtuálnímu OS.

Krok 4: Virtuální disk bude pravděpodobně k dispozici uvnitř operačního systému. Pokud ne, postupujte podle kroku 5

Krok 5: V rámci virtuálního operačního systému použijte Gparted a zkontrolujte disky. a ujistěte se, že disk je takového typu, který je přístupný virtuálním OS. Pokud tomu tak není, možná budete muset disk upravit, ale pak ztratíte existující obsah.

15
josef

Netestoval jsem se, ale existuje pojistkový modul pro jejich připojení (vdfuse), podívejte se na následující stránku:

Vezměte prosím na vědomí, že jeho použití pro přístup k zápisu je riskantní.


Používání:

$ ./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

Chcete-li připojit obrázek přímo pomocí jeho názvu souboru:

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

Postup připojení disku stroje (včetně snímků):

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

Ne to, co jste požadovali, ale pokud je to jen otázka stahování souborů z vdi a chcete velmi rychlé řešení:

  1. Spusťte na svém hostiteli server ssh (apt-get install openssh-server && service ssh restart)
  2. Pomocí VirtualBoxu vytvořte virtuální počítač z existujícího souboru vdi a poté spusťte tento virtuální počítač. (Při stavbě virtuálního počítače jsem si ponechal výchozí síťový adaptér (NAT).)
  3. V rámci virtuálního počítače sftp k hostiteli. (sftp [email protected])
  4. V relaci sftp put tolik souborů do hostitele, kolik potřebujete.
3
JellicleCat

Jak výše zmínil Vojtech Trefny,

1) nejprve převeďte své VDI -> IMG

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

2) Poté připojte IMG

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

3) Nicméně, protože se mi zobrazila tato chybová zpráva:

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

a dmesg řekl:

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

musíte zkontrolovat strukturu oddílů .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) Jak vidíte, hlavní oddíl začíná na bajtech 16775168. Nezapomeňte však, že velikost sektoru je 512 bajtů, takže je třeba znásobit výsledky 16775168 x 512 = 8588886016, takže je třeba přesunout přílohu takto:

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

5) Ve skutečnosti to pro mě nefungovalo v případě, že byl systém souborů po změně velikosti špinavý. V tomto případě jsem to udělal dále:

dd if=ubuntu.img of=ubuntu.disk bs=512 skip=16775168 count=12092416
e2fsck ubuntu.disk
mount ubuntu.disk /mnt
3
PHZ.fi-Pharazon