中国IT动力,最新最全的IT技术教程
最新100篇 | 推荐100篇 | 专题100篇 | 排行榜 | 搜索 | 在线API文档
首 页 | 程序开发 | 操作系统 | 软件应用 | 图形图象 | 网络应用 | 精文荟萃 | 教育认证 | 硬件维护 | 未整理篇 | 站长教程
ASP JS PHP工程 ASP.NET 网站建设 UML J2EESUN .NET VC VB VFP 网络维护 数据库 DB2 SQL2000 Oracle Mysql
服务器 Win2000 Office C DreamWeaver FireWorks Flash PhotoShop 上网宝典 CorelDraw 协议大全 网络安全 微软认证
硬件维护  CPU  主板  硬盘  内存  显卡  显示器  键盘鼠标  声卡音箱  打印机  机箱电源  BIOS  网卡  C#  Java  Delphi  vs.net2005
  当前位置:> 操作系统 > Linux > Linux综合
linux下loop device的使用
作者:未知 时间:2005-09-13 22:14 出处:Blog.ChinaUnix.net 责编:chinaitpower
              摘要:linux下loop device的使用
所谓loop device指的就是拿文件来模拟块设备。最近在看<<Linux内核0.11(0.95)详细注释>> ( http://www.oldlinux.org/index_cn.html),对Linuxloop设备的使用琢磨了一段时间。记录如下:

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 . loop device , loop_device . loop device .  

最近在看<<Linux内核0.11(0.95)详细注释>> ( http://www.oldlinux.org/index_cn.html),对Linuxloopback设备的使用琢磨了一段时间。记录如下:

一、imag 文件的生成

1.       可以通过bochs提供的bximage.exe生成。

2.       FC3下通过命令dd if=/dev/zero of=test.img bs=512 count=524160 命令生成。

二、对生成的文件进行分区

     1、可以将生成的image文件挂载在bochs下,当作从属硬盘

          fdisk /dev/hdb 命令对硬盘分区

     2、在FC3

          losetup /dev/loop0 test.img

          fdisk /dev/loop0 不过发现在这种方式下的fdisk在保存的时候会提示参数错误。

三、创建文件系统

      经测试只能在bochs下创建文件系统,无法在loopback设备上创建文件系统。

        mkfs /dev/hdb1  64000

四、Fdisk分区表显示参数(本文精华)

      normal模式下按p显示分区表,列名说明
           start       end          blocks                                   id              system

           起始磁道   终止磁道    block(1 block size=1k bytes)   分区类型id    分区类型

      其中的blocks数用于创建文件系统mkfs 所需的blocks

          如: mkfs /dev/sdb1 65015

     

      expert模式下按p显示分区表,其中

       start 列指当前分区起始sector

       size  列指当前分区所占的sectors. 1 secotr size=512 byte)

 

     如果一个loop设备含有几个文件系统(即几个分区)的话,要正确读取分区中的文件,要正确计算分区的偏移值。

     假设一个/dev/hdb1 start sector=63   size=1023

              /dev/hdb2  start sector=1086 size=2048

   具体如下:

   1mount /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

   2mount /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   

关闭本页
 
首页 | 投资与合作 | 服务条款 | 隐私政策 | 收藏本站 | 设为首页 | 新用户注册 | 免责声明 | 使用帮助
Copyright ©2005-2008 chinaitpower.com All rights reserved. www.chinaitpower.com 版权所有