¿Cómo monte el archivo .vhd?


11

Estoy usando 13.04 Raring amd64 y necesito montar un archivo .vhd en mi ubuntu . Lo busqué en Google y descubrí que el paquete virtualbox-fuse es la respuesta.

Pero el paquete fue eliminado del repositorio de apt. ¿Hay alguna forma de instalar el paquete con 13.04? o hay alguna alternativa a virtualbox-fusible?


Acabo de hacer esta misma cosa, y los resultados de mi búsqueda terminó en la que se podía convertir el VDI para una imagen cruda
zeitue

abucheo. esa no es una buena solución cuando un archivo vhd o vdi puede ser demasiado grande para duplicarlo como una imagen en bruto
Joshua Robison

1
Entonces, si instalo virtualbox, ¿puedo usar el comando vdfuse?

Respuestas:


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

Tenga en cuenta que puede necesitar opciones adicionales mountpara establecer permisos a su gusto.


Funciona, puede descargar vdfuse desde vdfuse.sourceforge.net, por ejemplo, en mi caso la última línea fue: sudo mount -o -loop / tmp / win / Partition1 / mnt / Windows
MaxV

4

Usando Ubuntu 15.10 (también funciona en Ubuntu 16.04), puede instalar vhdimount y tsk (The Sleuth Kit) a través de:

sudo apt-get install libvhdi-utils sleuthkit

Entonces puede proceder de la siguiente manera:

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

A continuación, tendrá que calcular el desplazamiento a partir de la salida de mmlsesta manera:

echo offset*512 | bc

Y para terminar:

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

Reemplazar offset-foundpor su desplazamiento. También es posible que deba cambiar el tipo fs según el tipo fs incluido en su archivo vhd.

He creado un script para no tener que escribirlo cada vez;)


Esto lo monta como de solo lectura. ¿Qué puedo hacer para montarlo con permisos de escritura? Omitir el rofor mounttodavía da como resultado solo lectura.
Mads Skjern

Cambie ropor rwy eso debería ejecutarse en lectura / escritura en lugar de lectura / solo. vhdimountse asigna al modo /mnt/vhd/vhdi1de lectura / escritura, pero el siguiente comando que se usa mountestá en lectura / solo si no se especifica rwcomo una opción
Jiab77

1
En Ubuntu 16.04: en lugar de usar mmls o fdisk para obtener información sobre el sector inicial de la partición, también puede usar kpartxpara crear un archivo de dispositivo virtual que puede montar sin una offsetopción:sudo kpartx -av /mnt/vhd/vhdi1; sudo mount -vt ntfs-3g -o ro,noload /dev/mapper/loop0p1 /media/${USER}/your/folder
lento

2

Al buscar el espacio de Launchpad de Ubuntu, aparece lo siguiente:

virtualbox (el binario 'virtualbox-fuse' es parte del paquete virtualbox)

Esto significa que se fusionaron virtualbox-fuseen el paquete principal y solo necesita instalar virtualbox desde el repositorio (Esto es lo que solía llamarse virtualbox-ose, por lo que si necesita la versión "completa" con licencia PUEL, esto no lo ayudará).


2

Prefiero no confiar en una máquina virtual para acceder a los datos en una imagen vhd. Desde virtualbox-fusey vdfuseya no está disponible en Ubuntu ( no desde precisa (12.04) ) y Debian ( no desde Wheezy (7) ). Pude montar la partición NTFS de un VHD personal usando blk-tap.

Inserte el pid apropiado de tap-ctl spawn, por supuesto. Su esquema de partición puede ser diferente al mío, así que ajústelo en consecuencia.

# 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

Estos pasos provienen de la wiki del proyecto xen .

Mi dispositivo de bloqueo fue creado en /dev/xen/blktap-2/blktap0. Por alguna razón, kpartx -ano mapearía particiones (estaba buscando / dev / xen / blktap-2 / tapdev0p1), pero descubrí que /dev/disk/by-id/dm-name-tapdev0p1había sido vinculado al dispositivo de bloque para la partición.


1

Esto es lo que hice por eso:

Parece que no hay un camino fácil por recorrer. Acabo de descargar el virtualbox-fusearchivo del paquete deb del launchpad. ( aquí )

Elegí 4.1.18 porque mi vbox es un poco más antiguo, pero supongo que funcionaría con una versión reciente.

Instale el paquete con dpkg -i. Es posible que deba especificar la --force-dependsopción de instalación.


99
¿Y que? ¿Cómo se monta un VHD después de instalar eso?
Enkouyami

1

Monté con éxito un archivo .vhdx que hice con los archivos de copia de seguridad de Windows 10 en mi sistema operativo Ubuntu 16.04 usando un programa llamado guestmount

guestmountpágina del manual en libguestfs.org .

Tenga en cuenta que los permisos necesitarán ser ajustados, o el acceso al montaje después sudo -io sudo -sha sido ejecutado.


-1

Puedes usar VirtualBox.

VirtualBox es una solución de virtualización x86 gratuita que permite que una amplia gama de sistemas operativos x86 como Windows, DOS, BSD o Linux se ejecuten en un sistema Linux.

Para instalar VirtualBox en Ubuntu 13.04, simplemente presione Ctrl+ Alt+ Ten su teclado para abrir Terminal. Cuando se abra, ejecute los siguientes comandos:

sudo apt-get install virtualbox

Una vez que termine la instalación, continúe y cree una nueva máquina virtual

ingrese la descripción de la imagen aquí

Escribe el nombre. Asegúrese de elegir el tipo y la versión correctos del sistema operativo que se encuentra en el VHD.

ingrese la descripción de la imagen aquí

Elija usar un archivo de disco duro virtual existente, busque su archivo VHD y luego haga clic en crear.

ingrese la descripción de la imagen aquí


2
Eso le permitirá ejecutar el sistema operativo que está en el VHD, pero no le permite montar la imagen en Linux.
IQAndreas
Al usar nuestro sitio, usted reconoce que ha leído y comprende nuestra Política de Cookies y Política de Privacidad.
Licensed under cc by-sa 3.0 with attribution required.