• 软件测试技术
  • 软件测试博客
  • 软件测试视频
  • 开源软件测试技术
  • 软件测试论坛
  • 软件测试沙龙
  • 软件测试资料下载
  • 软件测试杂志
  • 软件测试人才招聘
    暂时没有公告

字号: | 推荐给好友 上一篇 | 下一篇

linux下loop device的使用

发布: 2007-7-04 12:06 | 作者: admin | 来源:  网友评论 | 查看: 39次 | 进入软件测试论坛讨论

领测软件测试网 MILY: 宋体; mso-ascii-font-family: Arial; mso-hansi-font-family: Arial; mso-bidi-font-family: Arial; mso-font-kerning: 1.0pt; mso-ansi-language: EN-US; mso-fareast-language: ZH-CN; mso-bidi-language: AR-SA">所谓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   

延伸阅读

文章来源于领测软件测试网 https://www.ltesting.net/


关于领测软件测试网 | 领测软件测试网合作伙伴 | 广告服务 | 投稿指南 | 联系我们 | 网站地图 | 友情链接
版权所有(C) 2003-2010 TestAge(领测软件测试网)|领测国际科技(北京)有限公司|软件测试工程师培训网 All Rights Reserved
北京市海淀区中关村南大街9号北京理工科技大厦1402室 京ICP备10010545号-5
技术支持和业务联系:info@testage.com.cn 电话:010-51297073

软件测试 | 领测国际ISTQBISTQB官网TMMiTMMi认证国际软件测试工程师认证领测软件测试网