Linux -コンピュータを楽むために-


by historydomo

ゲストOSイメージファイルのマウント

Fedora Core 5で作成したゲストOSは、Fedora Core 6では起動出来ないが、イメージファイル内に保存されているスクリプトやプログラムは、今後の参考として保存しておきたい。
不覚ながら、全てゲストOS(サーバ側)へ保存していた。
これらのファイルは、イメージファイルをマウントして吸い出すことが出来る。

−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−
吸い出したいイメージファイル:/var/xen/vmsystem0.img
パーティションのレイアウト:/boot, swap, /

1. /var/xen/vmsystem0.imgを/dev/loop0にマッピングする。
[root@fc6 ~]# losetup -a
[root@fc6 ~]# losetup /dev/loop0 /var/xen/vmsystem0.img
[root@fc6 ~]# losetup -a
/dev/loop0: [0305]:3731908 (/var/xen/vmsystem0.img)


2. /dev/loop0のジオメトリック情報を確認。

[root@fc6 ~]# fdisk -l -u /dev/loop0

Disk /dev/loop0: 4294 MB, 4294967296 bytes
255 heads, 63 sectors/track, 522 cylinders, total 8388608 sectors
Units = sectors of 1 * 512 = 512 bytes

Device Boot Start End Blocks Id System
/dev/loop0p1 * 63 208844 104391 83 Linux
/dev/loop0p2 208845 738989 265072+ 82 Linux swap / Solaris
/dev/loop0p3 738990 8385929 3823470 83 Linux


3. オフセットアドレスを計算。 offset = Start x Unit size
[root@fc6 ~]# ((offset=738990*512))
→今回吸い出したいファイルは、イメージファイル内に作成されているパーティション"/"にあるので、"/dev/loop0p3"を対象とする。

[root@fc6 ~]# ((offset=738990*512))
[root@fc6 ~]# echo $offset
378362880



4. イメージファイル内のhda3を/dev/loop1にマッピングする。

[root@fc6 ~]# losetup -o $offset /dev/loop1 /var/xen/vmsystem0.img
[root@fc6 ~]# losetup -a
/dev/loop0: [0305]:3731908 (/var/xen/vmsystem0.img)
/dev/loop1: [0305]:3731908 (/var/xen/vmsystem0.img), offset 378362880



5. /dev/loop1を/mnt/imageへマウント。

[root@fc6 ~]# mkdir /mnt/image
[root@fc6 ~]# mount /dev/loop1 /mnt/image


6. 内容を表示
[root@fc6 ~]# ls /mnt/image/
bin boot dev etc home lib lost+found media misc mnt opt proc root sbin selinux srv sys tmp usr var

−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−


参考URL
http://fedora.jp/pipermail/users/2006-August/011350.html

オフセット 【offset】
[PR]
by historydomo | 2006-11-01 05:34 | Linux