Установите образ диска VirtualBox (vdi)?

Отсутствующая вкладка сенсорной панели указывает на то, что ваша тачпад, вероятно, не распознается как тачпад. В этом случае аппаратное обеспечение эмулирует мышь в ее прошивке и не настраивается ...

Существует информация о вики об отладке сенсорной панели и о том, как записать отчет об ошибке. [!d1 ]

77
задан 6 February 2012 в 04:33

16 ответов

Вы можете преобразовать в стандартное изображение и затем установить его.

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

Then

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

Вам нужно ЗНАТЬ тип файловой системы, ext3 в Это дело. После того, как он установлен, зайдите и отредактируйте с помощью редактора по вашему выбору. Не путайте файлы внутри места /mnt с запущенным хостом, или это будет плохо.

Чтобы проверить информацию о вашем файле VDI, запустите: VBoxManage showhdinfo ubuntu.vdi.

Источник: [SOLVED] Open .vdi с менеджером архива? - ubuntuforums.org

46
ответ дан 25 May 2018 в 23:44
  • 1
    Специально полезно в такой ситуации. OP сможет работать с копией, сохраняя оригинал в качестве резервной копии. – Javier Rivera 30 December 2010 в 19:22
  • 2
    Тщательно выполняйте это с помощью файлов .vdi с динамическим размером. Преобразование в .img приведет к тому, что файл изображения будет иметь размер логического размера диска, поэтому этот подход работает, но он может быть намного больше, чем файл .vdi. Взгляните на вывод VBoxManage showhdinfo [your vdi file], если вы не уверены. – Jack O'Connor 26 August 2013 в 03:21
  • 3
    -1, stwissel и Ответы Maxime R. предоставляют решения - это справедливое обходное решение, но не лучший ответ на вопрос – STW 17 February 2015 в 22:39
  • 4
    Если у изображения есть таблица разделов (как и большинство дисков), тогда вам нужно будет объединить этот ответ с этим для монтирования отдельных разделов. – bain 22 March 2015 в 23:49
  • 5
    Не работает. Не допускайте ошибок при установке ошибок. Я попробовал ext3 и ext2 и ext4. Виртуальная коробка говорит, что тип hd fs - ext4. – Joshua Robison 14 October 2017 в 09:32

Я не тестировал себя, но, похоже, для их монтирования есть модуль плавкого предохранителя (vfduse), проверьте следующую страницу:

Обратите внимание, что использование его для доступа к записи является рискованным.


Использование:

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

Чтобы смонтировать изображение напрямую, используя его имя файла:

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

Для установки машинного диска (включая моментальные снимки):

$ ./vdautomount-<version> -p /path/to/vdfuse WinXP /mnt/vdi
$ mount -o loop /mnt/vdi/Partition1 /mnt/WindowsXP
47
ответ дан 6 August 2018 в 04:12

Используйте qemu-nbd, процесс объясняется на сервере и в этом блоге.

В принципе вам нужно будет установить qemu при необходимости:

sudo apt-get install qemu

Затем вам нужно загрузить модуль сетевого блока:

sudo rmmod nbd
sudo modprobe nbd max_part=16

Прикрепить изображение .vdi к одному из созданного вами nbd:

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

Теперь вы будете получить блок-блок / dev / nbd0 вместе с несколькими / dev / nbd0p * узлами устройства разделов.

sudo mount /dev/nbd0p1 /mnt

Как только вы закончите, отключите все и отключите устройство:

sudo qemu-nbd -d /dev/nbd0
65
ответ дан 25 May 2018 в 23:44
  • 1
    Я хотел бы отметить, что max_part=16, кажется, является важной частью. Без него вы не увидите никаких файлов /dev/nbd0pX, несмотря на то, что основное устройство будет работать правильно. Проконтролируйте следующее обсуждение форумов Gentoo , чтобы увидеть, как люди столкнулись с этой проблемой. – firegurafiku 11 June 2015 в 19:54
  • 2
    Все ответы работают в некоторой степени, но это мой любимый и должен быть принят. clonehd выполняет эту работу, но удваивает требования к хранению. virtualbox-fuse идеален, но, хотя вы все еще можете его получить, он не попал в репозитории в современных версиях ОС. – Hatoru Hansou 18 September 2015 в 01:31
  • 3
    Замечательно! Это абсолютно лучший способ использования файла .vdi! Я получал немые ошибки, клонируя или изменяя размер VDI, но этот метод обходит все проблемы :) 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 13 October 2016 в 18:27
  • 4
    Также подумайте, что это лучший ответ. Я для одного не очень увлекался клонированием своего изображения на 100 ГБ, чтобы добраться до нескольких файлов;) Монтирование через qemu-nbd работало как шарм. – piit79 21 September 2017 в 13:45
  • 5
    Это отлично поработало. Обратите внимание, что установка qemu-kvm вместо qemu может работать так же хорошо. Это было для меня на моем Ububtu 16.04 и установило только 23 МБ и 13 зависимостей вместо 230 МБ и многие другие зависимости для полной установки qemu. – mivk 22 January 2018 в 01:39

Похоже, что vdfuse - это инструмент, который вы ищете. Он находится в репозиториях Ubuntu. Если вы хотите скомпилировать себя (источник 2010), вы тоже можете это сделать.

Однако для большинства из нас это сводится к простому:

sudo apt-get install virtualbox-fuse

Кажется, теперь он поддерживает динамический vdi.

И чтобы установить файл .vdi в каталоге /mnt, используйте команду:

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

Весь диск будет установлен с разделами Partition1 , Partition2. Затем эти файлы могут быть установлены в петле. Например,

sudo mount -o loop /mnt/Parition1 /mountpoint
36
ответ дан 25 May 2018 в 23:44

Установите диск как вторичный мастер для другой виртуальной ОС, затем загрузитесь в эту (виртуальную) ОС, и вы сможете ее смонтировать.

Шаг 1: Предположим, что у вас есть виртуальный os (скажем, Ubuntu 16.04) уже установленный в виртуальном поле, добавьте новое хранилище из настроек этого виртуального os.

Шаг 1: Просмотрите файл Vdi, к которому вы хотите получить доступ, и выберите его.

Шаг 3. Вход в виртуальную ОС.

Шаг 3: Виртуальный диск, вероятно, будет доступен внутри ОС. Если нет, выполните шаг 5

Шаг 5: Внутри виртуальной ОС используйте Gparted и проверьте диски. и убедитесь, что диск имеет тип, доступный виртуальной ОС. Если это не так, вам может потребоваться отредактировать диск, но затем вы потеряете существующее содержимое.

13
ответ дан 25 May 2018 в 23:44
  • 1
    Для записи в 2016 году это не сработает – Paulo Pedroso 25 February 2016 в 14:16
  • 2
    Он работает в ubuntu 16.04. – Sharun 12 December 2016 в 11:56
  • 3
    это действительно единственное решение, когда вам нужно внести изменения, а затем вернуться к его использованию, не удалось заставить rw работать с vdfuse – DuBistKomisch 28 March 2018 в 12:07

Я не тестировал себя, но, кажется, есть модуль плавкого предохранителя для их монтирования (vfduse), проверьте следующую страницу:

HOWTO: установите любой образ диска, совместимого с VBox, на хосте

Обратите внимание, что использование этого параметра для доступа к записи является рискованным.

Использование:

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

Для непосредственного монтирования изображения его имя файла:

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

Чтобы установить машинный диск (включая моментальные снимки):

$ ./vdautomount-<version> -p /path/to/vdfuse WinXP /mnt/vdi
$ mount -o loop /mnt/vdi/Partition1 /mnt/WindowsXP
7
ответ дан 25 May 2018 в 23:44

Не то, что вы просили, но если дело только в том, что файлы удалены из vdi, и вы хотите очень быстрое решение:

Запустите ssh-сервер на вашем хосте (apt-get install openssh-server && service ssh restart). VirtualBox для создания виртуальной машины из существующего файла vdi, а затем загрузите эту виртуальную машину. (Я просто сохранил сетевой адаптер по умолчанию (NAT) при создании виртуальной машины.) Внутри виртуальной машины sftp для вашего хоста. (sftp hostuser@hostip) В сеансе sftp put столько файлов на хост, сколько вам нужно.
4
ответ дан 25 May 2018 в 23:44
  • 1
    Уродливый взлом, но если вы находитесь в трудном положении, он выполняет свою работу. – Piskvor 14 December 2016 в 17:13

Как упоминалось выше Vojtech Trefny,

1) сначала преобразуйте VDI -> IMG

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

2) Затем установите IMG

mount -t ext3 -o loop,rw ./ubuntu.img /mnt
[d3 ] 3) Однако, когда я получил это сообщение об ошибке:

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

и dmesg сказал:

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

вам нужно проверить структуру раздела .img: [ ! d5]

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) Как вы можете видеть, основной раздел начинается с байтов 16775168. Однако учтите, что размер сектора составляет 512 байт, поэтому вам нужно умножить результаты 16775168 x 512 = 8588886016, чтобы вы необходимо компенсировать монтирование следующим образом:

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

5) На самом деле это не сработало для меня, если файловая система была загрязнена после изменения размера. В этом случае я сделал следующее:

dd if=ubuntu.img of=ubuntu.disk bs=512 skip=16775168 count=12092416
e2fsck ubuntu.disk
mount ubuntu.disk /mnt
0
ответ дан 25 May 2018 в 23:44

Похоже, что vdfuse - это инструмент, который вы ищете. Он находится в репозиториях Ubuntu. Если вы хотите скомпилировать себя (источник 2010), вы можете сделать это тоже .

Однако для большинства из нас это сводится к простому:

sudo apt-get install virtualbox-fuse

Кажется, теперь он поддерживает динамический vdi.

И для монтирования файла .vdi в /mnt dir используйте команду:

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

Весь диск будет монтироваться с форматами имен Partition1, Partition2. Затем эти файлы могут быть установлены в петле. Например,

sudo mount -o loop /mnt/Parition1 /mountpoint
35
ответ дан 25 July 2018 в 22:41

Используйте qemu-nbd, процесс объясняется на serverfault и в этом блоге .

В принципе вам нужно будет установить qemu при необходимости:

sudo apt-get install qemu

Затем вам необходимо загрузить модуль сетевого блока :

sudo rmmod nbd
sudo modprobe nbd max_part=16

Прикрепить изображение .vdi к один из созданного nbd:

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

Теперь вы получите блок-устройство / dev / nbd0 вместе с несколькими узлами устройств / dev / nbd0p *.

sudo mount /dev/nbd0p1 /mnt

Как только вы закончите, отключите все и отключите устройство:

sudo qemu-nbd -d /dev/nbd0
73
ответ дан 31 July 2018 в 10:27

Похоже, что vdfuse - это инструмент, который вы ищете. Он находится в репозиториях Ubuntu. Если вы хотите скомпилировать себя (источник 2010), вы можете сделать это тоже .

Однако для большинства из нас это сводится к простому:

sudo apt-get install virtualbox-fuse

Кажется, теперь он поддерживает динамический vdi.

И для монтирования файла .vdi в /mnt dir используйте команду:

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

Весь диск будет монтироваться с форматами имен Partition1, Partition2. Затем эти файлы могут быть установлены в петле. Например,

sudo mount -o loop /mnt/Parition1 /mountpoint
35
ответ дан 31 July 2018 в 10:27

Как упоминалось выше Vojtech Trefny,

1) сначала преобразуйте VDI -> IMG

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

2) Затем установите IMG

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

3) Однако, когда я получил это сообщение об ошибке:

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

и dmesg сказал:

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

вам нужно проверить структуру раздела .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) Как вы можете видеть, основной раздел начинается с байтов 16775168. Однако обратите внимание, что размер сектора составляет 512 байт, поэтому вам нужно умножить результаты 16775168 x 512 = 8588886016, чтобы вы необходимо компенсировать монтирование следующим образом:

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

5) На самом деле это не сработало для меня в случае, если файловая система была загрязнена после изменения размера. В этом случае я сделал следующее:

dd if=ubuntu.img of=ubuntu.disk bs=512 skip=16775168 count=12092416
e2fsck ubuntu.disk
mount ubuntu.disk /mnt
-1
ответ дан 2 August 2018 в 04:07

Установите диск как вторичный мастер для другой виртуальной ОС, затем загрузитесь в эту (виртуальную) ОС, и вы можете смонтировать его.

Шаг 1: Предположим, что у вас есть виртуальный os (скажем, Ubuntu 16.04) уже установленный в виртуальном поле, добавьте новое хранилище из настроек этого виртуального os.

Шаг 2. Просмотрите файл Vdi, к которому вы хотите получить доступ, и выберите его.

Шаг 3: Вход в виртуальную ОС.

Шаг 4: виртуальный диск, вероятно, будет доступен в ОС. Если нет, выполните шаг 5

. Шаг 5: Внутри виртуальной ОС используйте Gparted и проверьте диски. и убедитесь, что диск имеет тип, доступный виртуальной ОС. Если это не так, вам может потребоваться отредактировать диск, но тогда вы потеряете существующее содержимое.

14
ответ дан 6 August 2018 в 04:12

Используйте qemu-nbd, процесс объясняется на serverfault и в этом блоге .

В принципе вам нужно будет установить qemu при необходимости:

sudo apt-get install qemu

Затем вам необходимо загрузить модуль сетевого блока :

sudo rmmod nbd
sudo modprobe nbd max_part=16

Прикрепить изображение .vdi к один из созданного nbd:

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

Теперь вы получите блок-устройство / dev / nbd0 вместе с несколькими узлами устройств / dev / nbd0p *.

sudo mount /dev/nbd0p1 /mnt

Как только вы закончите, отключите все и отключите устройство:

sudo qemu-nbd -d /dev/nbd0
73
ответ дан 6 August 2018 в 04:12

Не то, что вы просили, но если дело только в том, что файлы удалены из vdi, и вы хотите очень быстрое решение:

  1. Запустите ssh-сервер на вашем хосте (apt-get install openssh-server && service ssh restart)
  2. Используйте VirtualBox для создания виртуальной машины из существующего файла vdi, а затем загрузите эту виртуальную машину. (Я просто сохранил сетевой адаптер по умолчанию (NAT) при создании виртуальной машины.)
  3. Внутри виртуальной машины sftp для вашего хоста. (sftp hostuser@hostip)
  4. В сеансе sftp put столько файлов на хост, сколько вам нужно.
3
ответ дан 7 August 2018 в 22:12

Как упоминалось выше Vojtech Trefny,

1) сначала преобразуйте VDI -> IMG

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

2) Затем установите IMG

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

3) Однако, когда я получил это сообщение об ошибке:

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

и dmesg сказал:

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

вам нужно проверить структуру раздела .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) Как вы можете видеть, основной раздел начинается с байтов 16775168. Однако обратите внимание, что размер сектора составляет 512 байт, поэтому вам нужно умножить результаты 16775168 x 512 = 8588886016, чтобы вы необходимо компенсировать монтирование следующим образом:

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

5) На самом деле это не сработало для меня в случае, если файловая система была загрязнена после изменения размера. В этом случае я сделал следующее:

dd if=ubuntu.img of=ubuntu.disk bs=512 skip=16775168 count=12092416
e2fsck ubuntu.disk
mount ubuntu.disk /mnt
-1
ответ дан 10 August 2018 в 10:25

Другие вопросы по тегам:

Похожие вопросы: