Chinaunix首页 | 论坛 | 博客
  • 博客访问: 918439
  • 博文数量: 132
  • 博客积分: 9976
  • 博客等级: 中将
  • 技术积分: 1781
  • 用 户 组: 普通用户
  • 注册时间: 2007-08-30 20:40
文章分类

全部博文(132)

文章存档

2013年(1)

2011年(1)

2010年(15)

2009年(77)

2008年(36)

2007年(2)

我的朋友

分类:

2009-06-04 09:59:17

如何创建 loopback 设备

============================================================================
from:

不指定

作者:   分类:   出处:本站原创            | |
1.创建image文件
#dd if=/dev/zero of=./test.img bs=1k count=5M
创建一个大小为5G的loop文件

2.查找空闲的loop设备
#losetup -f
该命令将返回第一个空闲的loop设备文件名

3.将image文件关联到loop设备
#losetup /dev/loop0 ./test.img

4.使用fdisk对/dev/loop0进行分区,一下是分区后的结果:
# fdisk -l /dev/loop0

Disk /dev/loop0: 5368 MB, 5368709120 bytes
255 heads, 63 sectors/track, 652 cylinders
Units = cylinders of 16065 * 512 = 8225280 bytes

      Device Boot      Start         End      Blocks   Id  System
/dev/loop0p1               1          13      104391   83  Linux
/dev/loop0p2              14         512     4008217+  83  Linux
/dev/loop0p3             513         652     1124550   82  Linux swap / Solaris

============================================================================
from:

zeco
Linux环境下使用LOOP设备与bochs模拟盘交换数据的方法

Linux环境下使用LOOP设备与bochs模拟盘交换数据的方法
一种方法是使用软盘作为交换介质;
另一种方法是让 Linux 使用LOOP设备直接访问bochs模拟盘, 具体如下:
1. 先查看模拟盘分区情况,
   # losetup /dev/loop0 hdc-0.11-new.img
   # fdisk /dev/loop0
     在fdisk中, 按 'x' 键再按 'p' 显示模拟盘分区后退出. 分区信息如下:
Nr AF  Hd Sec  Cyl  Hd Sec  Cyl     Start      Size ID
1 00   0   3    0  15  38  203          2     124030 81
2 00   0   1  204  15  38  407     124032     124032 81
3 00   0   0    0   0   0    0          0          0 00
4 00   0   0    0   0   0    0          0          0 00
2. 计算各分区的起始偏移量:
分区1: 从0头3区0道开始, 起始偏移量 = 2*512 = 1024
分区2: 从0头1区204道开始, 起始偏移量 = 204*16*38*512 = 63504384
3. 创建分区加载的目录:
   $ mkdir part1
   $ mkdir part2
4. 使用LOOP设备加载模拟盘各分区
   # mount -o loop,offset=1024 hdc-0.11-new.img ./part1
   # mount -o loop,offset=63504384 hdc-0.11-new.img ./part2
5. 使用完毕后另忘了 umount.
   # umount part2
   # umount part1
注意: 由于是访问旧 Minix 分区, 有可能造成数据损坏. 使用前请注意数据备份.
[DISABLELBCODE]

2005-1-10 18:14 redgrid
Linux环境下使用LOOP设备与bochs模拟盘交换数据的方法

第14章中已有相应说明了。但仍然谢谢特别指出。

2005-1-10 20:03 zeco
Linux环境下使用LOOP设备与bochs模拟盘交换数据的方法

抱歉, 发重了. [DISABLELBCODE]

============================================================================
from:

所谓loop device指的就是拿文件来模拟块设备。最近在看<内核0.11(0.95)详细注释>> ( ),对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 .  

最近在看<内核0.11(0.95)详细注释>> ( ),对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 
============================================================================
from:

挂载loop设备时:losetup和mount的区别

[来源:网上转载 () | 作者:网友(网络转载) | 时间:2008-09-29 | 浏览:人次 ]

请问在挂载loop设备时,losetup命令和mount命令是否都可以挂载loop设备???
如果都可以,他们俩有什么区别吗???




$ whatis losetup mount


我也想知道,顶!!!!!!!!!!


man上有具体例子,要挂载loop设备

1. 先losetup
2. 再mount

这样就可以把loop设备当作普通block设备一样使用了。


我想问 mount -o loop 和先 losetup 再 mount 有什么区别




QUOTE:原帖由 自由建客 于 2008-9-25 19:30 发表
我想问 mount -o loop 和先 losetup 再 mount 有什么区别
好问题。。。容我查查去。。。




QUOTE:原帖由 qingkong9416 于 2006-12-9 19:40 发表
请问在挂载loop设备时,losetup命令和mount命令是否都可以挂载loop设备???
如果都可以,他们俩有什么区别吗???
loop设备就是把一个文件模拟成一个设备,典型的就是iso文件。

mount -o loop用来挂载loop设备,挂载后可以用umount卸载

losetup不能挂载,但可以给loop设备文件加密,还可以卸载loop设备。
你可以看一下man mount,里面提到了losetup,就是说losetup可以卸载。


man
============================================================================



============================================================================
from:

创建一个虚拟的硬盘,可以在qemu或者vmware里面运行。其实用qemu或者vmware也可以创建虚拟硬盘,但是需要安装,比较麻烦,而且不能mount到文件系统里面直接修改里面的文件,所以这个脚本还是有点用处。
#!/bin/bash

dd if=/dev/zero of=./temp.img bs=1M count=128

losetup /dev/loop0 ./temp.img

fdisk -u -S63 -H16 /dev/loop0

losetup -d /dev/loop0

losetup -o32256 /dev/loop0 ./temp.img

mke2fs -b1024 /dev/loop0

mount -text2 /dev/loop0 /mnt/mydisk

umount /dev/loop0

losetup -d /dev/loop0

创建成功后,可以用下面的命令直接mount后使用。
mount -text2 -oloop=/dev/loop0,offset=32256 ./temp.img /mnt/mydisk

umount /mnt/mydisk


============================================================================
from:

============================================================================
from:

============================================================================
from:

============================================================================

============================================================================
from:

============================================================================
from:

============================================================================
from:

============================================================================
from:

============================================================================

============================================================================
from:

============================================================================
from:

============================================================================
from:

============================================================================
from:

============================================================================

阅读(1726) | 评论(0) | 转发(0) |
0

上一篇:sigaction

下一篇:losetup 使用

给主人留下些什么吧!~~