Linux下loop device的使用
最近在看<
一、imag 文件的生成
1. 可以通過(guò)bochs提供的bximage.exe生成。
2. 在FC3下通過(guò)命令dd if=/dev/zero of=test.img bs=512 count=524160 命令生成。
二、對(duì)生成的文件進(jìn)行分區(qū)
1、可以將生成的image文件掛載在bochs下,當(dāng)作從屬硬盤
fdisk /dev/hdb 命令對(duì)硬盤分區(qū)
2、在FC3下
losetup /dev/loop0 test.img
fdisk /dev/loop0 不過(guò)發(fā)現(xiàn)在這種方式下的fdisk在保存的時(shí)候會(huì)提示參數(shù)錯(cuò)誤。
三、創(chuàng)建文件系統(tǒng)
經(jīng)測(cè)試只能在bochs下創(chuàng)建文件系統(tǒng),無(wú)法在loopback設(shè)備上創(chuàng)建文件系統(tǒng)。
如 mkfs /dev/hdb1 64000
四、Fdisk分區(qū)表顯示參數(shù)(本文精華)
在normal模式下按p顯示分區(qū)表,列名說(shuō)明
start end blocks id system
起始磁道 終止磁道 block數(shù)(1 block size=1k bytes) 分區(qū)類型id 分區(qū)類型
其中的blocks數(shù)用于創(chuàng)建文件系統(tǒng)mkfs 所需的blocks
如: mkfs /dev/sdb1 65015
在expert模式下按p顯示分區(qū)表,其中
start 列指當(dāng)前分區(qū)起始sector
size 列指當(dāng)前分區(qū)所占的sectors. (1 secotr size=512 byte)
如果一個(gè)loop設(shè)備含有幾個(gè)文件系統(tǒng)(即幾個(gè)分區(qū))的話,要正確讀取分區(qū)中的文件,要正確計(jì)算分區(qū)的偏移值。
假設(shè)一個(gè)/dev/hdb1 的 start sector=63 size=1023
/dev/hdb2 的 start sector=1086 size=2048
具體如下:
1、mount /dev/hdb1的操作 (63*512 = 32256)
losetup -o 32256 /dev/loop0 test.img
mount -t minix /dev/loop0 /mnt
ls /mnt
umount /mnt
losetup -d /dev/loop0
2、mount /dev/hdb2的操作 (1086*512 = 556032)
losetup -o 556032 /dev/loop0 test.img
mount -t minix /dev/loop0 /mnt
ls /mnt
umount /mnt
losetup -d /dev/loop0