How to mount ext3, ext4 partition sitting on "Fixed-Size VDI" VirtualBox HardDisk ?
To be more specific, I ma interested in case when VM is not running.
How to mount ext3, ext4 partition sitting on "Fixed-Size VDI" VirtualBox HardDisk ?
To be more specific, I ma interested in case when VM is not running.
I've found very helpful answer on:
https://wiki.archlinux.org/index.php/VirtualBox#Mounting_.vdi_Images
The tip is to use offset
option of ext4 mount (to be more specific, in back scenes it uses offset
as option for loopback device losetup
)
It's about
offData
info from VDI imageHere is my way of automating it:
VDIfile=VirtData.vdi
mountingpoint=/mnt/VDI
offData=$( VBoxManage internalcommands dumphdinfo "$VDIfile" |grep offData | sed 's:.*offData=\([0-9]*\).*:\1:' )
offset=$(( $offData + 32256 ))
mount -t ext4 -o rw,noatime,noexec,loop,offset="$offset" "$VDIfile" "$mountingpoint"
For /etc/fstab
you might like to add: (123456789
is counted previously offset)
/path/VirtData.vdi /mnt/VDI ext4 rw,noatime,noexec,loop,offset=123456789,user,noauto
Of course rw
can be changed to ro
or you might not need noatime
or noexec
- taylor them to your needs
Btw. if your path contains spaces there is a trick of changing spaces
into \040
(source: https://wiki.archlinux.org/index.php/Fstab )
The package virtualbox-fuse
installs the vdfuse
command which can be used to mount either dynamic or fixed VDI files.
apt-get install virtualbox-fuse
mkdir /mnt/point
mkdir /mnt/p1
vdfuse -f file.vdi /mnt/point
mount /mnt/point/Partition1 /mnt/p1