「how to mount xen image file」の編集履歴(バックアップ)一覧はこちら
追加された行は緑色になります。
削除された行は赤色になります。
*Xenの仮想マシンのハードディスクとして使用しているイメージファイルのマウント
仮想化マシン上で作業をして、その中身をホストマシンにコピーしたいときとかありますよね。
SCPでもいいですがいっぱいファイルがあると面倒ですし、同一マシン上なら面倒なことせずにコピーとかしたいです。なので以下の様にします。正直参考URLだけで完結しますが、一応自分の理解のために書きます。
シェルは#です。パス名などは自分の環境に合わせて読み替えが必要です。
*環境
ホスト Debian etch
ゲスト Debian etch
まぁ環境なんてほとんど関係ないんですけどね。
たぶんLinuxならどれでもいっしょ。
*準備
以下のコマンドを使います。一応どんなコマンドなのかくらいは把握しましょう。
fdisk
losetup
mount
全てスーパユーザじゃないと使えないコマンドなので、suするかsudoで実行してください。
*手順
まず空いているループバックデバイスを探す。
#losetup -f
/dev/loop2とかが表示される
空いている最初のループバックデバイスがわかるので、そのループバックデバイスと対象のイメージファイルを接続する。
#losetup /dev/loop2 /tmp/Xen.img(イメージファイルへのパス)
ちゃんと接続されているか確認する。
#losetup /dev/loop2
/dev/loop2: [0812]:4309068(接続されているファイル名), offset ...
こんな感じで表示されればOK。
**インストール時にパーティションを切っていない人
インストール時にパーティションを切っていない人は以下でOK
#mkdir mountpoint
マウントポイントを作ります。名前はなんでもいいです。
#mount /dev/loop2 mountpoint
mountpoint/にゲストOSの中身が見えているはず。
**インストール時にパーティションを切った人
いきなりマウントコマンドを叩いてもマウントできません。
#mkdir mountpoint
マウントポイントを作ります。
次にイメージファイルを接続したループバックデバイスのジオメトリ情報を見ます。
#fdisk -l -u (オプションはお好みで) /dev/loop2
Disk /dev/loop2: 6442 MB, 6442450944 bytes
255 heads, 63 sectors/track, 783 cylinders, total 12582912 sectors
Units = sectors of 1 * 512 = 512 bytes
Device Boot Start End Blocks Id System
/dev/loop0p1 * 63 11936294 5968116 83 Linux
/dev/loop0p2 11936295 12578894 321300 5 Extended
/dev/loop0p5 11936358 12578894 321268+ 82 Linux swap / Solaris
こんな感じになります。自分の場合はマウントしたいのは一番上のブートフラグが立っているパーティションです。スワップ領域とかマウントしても楽しくありません。なので以下の様にオフセットを計算します。この計算した値は後で使います。offsetはUnits × startアドレスで求めます。
#((offset = 63*512))
計算できていることを確認します。
#echo $offset
32256
大丈夫なら、イメージファイルのアドレスをオフセット分進めたものを別のループバックデバイスに接続します。
#losetup -f
/dev/loop3
空いているデバイスを確認して、以下を実行します。
#losetup -o $offset /dev/loop3 /tmp/Xen.img(イメージファイルへのパス)
接続できたかどうかを確認します。
#losetup /dev/loop3
/dev/loop3: [0812]:4309068(接続されているファイル名), offset ...
このように出ればOKです。
最後にこのループバックデバイスをマウントします。
#mount /dev/loop3 mountpoint
*最後に
使わなくなったらアンマウントしましょう。
#umount mountpoint
ループバックデバイスも削除しておきましょう。
#losetup -d /dev/loop2
#losetup -d /dev/loop3
以上です。
繰り返しになりますが、参考URLを見れば大体解決すると思います。先人に感謝。
[[参考URL http://jyomclft.exblog.jp/4854103/>http://jyomclft.exblog.jp/4854103/]]
[[参考URL http://ken-etsu-tech.blogspot.com/2007/01/dom0domu.html>http://ken-etsu-tech.blogspot.com/2007/01/dom0domu.html]]
[[参考URL http://fedora.jp/pipermail/users/2006-August/011350.html>http://fedora.jp/pipermail/users/2006-August/011350.html]]