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.
Answers:
Thank you for visiting the Q&A section on Magenaut. Please note that all the answers may not help you solve the issue immediately. So please treat them as advisements. If you found the post helpful (or not), leave a comment & I’ll get back to you as soon as possible.
Method 1
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
- taking
offDatainfo from VDI image - adding magic number 32256
- and using result as offset
Here 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 40 (source: https://wiki.archlinux.org/index.php/Fstab )
Method 2
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
All methods was sourced from stackoverflow.com or stackexchange.com, is licensed under cc by-sa 2.5, cc by-sa 3.0 and cc by-sa 4.0