所謂loop device指的就是拿文件來模擬塊設(shè)備。Albert
Woodhull語:"The Linux loop device can be used to handle this - it makes
a file look like a filesystem, and the file can be defined as a byte
offset from the beginning of a primary partition"。
losetup 用 來 將 loop device 與 檔 案 或 block device 聯(lián) 結(jié) 、 分 離 . 以 及 查 詢 loop device 目 前 的 狀 況 , 如 只 給 定 loop_device 的 參 數(shù) . 則 秀 出 loop device 目 前 的 狀 況 . 用琢磨了一段時間。記錄如下: 一、img 文件的生成 1. 可以通過bochs提供的bximage.exe生成。 2. 在FC3下通過命令dd if=/dev/zero of=test.img bs=512 count=524160 命令生成。 二、對生成的文件進(jìn)行分區(qū) 1、可以將生成的image文件掛載在bochs下,當(dāng)作從屬硬盤 fdisk /dev/hdb 命令對硬盤分區(qū) 2、在FC3下 losetup /dev/loop0 test.img fdisk /dev/loop0 不過發(fā)現(xiàn)在這種方式下的fdisk在保存的時候會提示參數(shù)錯誤。 三、創(chuàng)建文件系統(tǒng) 經(jīng)測試只能在bochs下創(chuàng)建文件系統(tǒng),無法在loopback設(shè)備上創(chuàng)建文件系統(tǒng)。 如 mkfs /dev/hdb1 64000 四、Fdisk分區(qū)表顯示參數(shù)(本文精華) 在normal模式下按p顯示分區(qū)表,列名說明 起始磁道 終止磁道 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)
如果一個loop設(shè)備含有幾個文件系統(tǒng)(即幾個分區(qū))的話,要正確讀取分區(qū)中的文件,要正確計算分區(qū)的偏移值。 假設(shè)一個/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 ------------------------------ 名稱 |
|