"固定サイズVDI" VirtualBoxハードドライブにext3、ext4パーティションをマウントする方法は?
より具体的には、仮想マシンが実行されていないときに何が起こるのかに興味があります。
答え1
非常に便利な答えを見つけました。
https://wiki.archlinux.org/index.php/VirtualBox#Mounting_.vdi_Images
ヒントは、ext4マウントオプションを使用することです(より具体的には、offset
バックグラウンドシナリオでoffset
ループバックデバイスとして機能するオプションlosetup
)。
それについて
offData
VDIイメージから情報を取得する- マジックナンバー32256追加
- 結果をオフセットとして使用
これは私の自動化された方法です。
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"
/etc/fstab
以下を追加できます。 (以前123456789
に計算されたオフセット)
/path/VirtData.vdi /mnt/VDI ext4 rw,noatime,noexec,loop,offset=123456789,user,noauto
もちろんrw
、変更されることro
も必要とされない場合もありますnoatime
。または、noexec
ニーズに合わせてカスタマイズすることもできます。
ところで。パスにスペースが含まれている場合は、スペースをspaces
次のように変更する方法があります\040
(ソース:https://wiki.archlinux.org/index.php/Fstab)
答え2
このパッケージは、動的または固定VDIファイルをインストールするために使用できるコマンドをインストールしvirtualbox-fuse
ます。vdfuse
apt-get install virtualbox-fuse
mkdir /mnt/point
mkdir /mnt/p1
vdfuse -f file.vdi /mnt/point
mount /mnt/point/Partition1 /mnt/p1