zoukankan      html  css  js  c++  java
  • linux下使用kpartx挂载虚拟文件系统

    在linux中,如果映像文件(.img)含有分区表的话,那么用losetup这个程序来加载文件系统就有点力不从心了。因为losetup只能加载无分区的文件系统映像文件。不过有一个好东西配合losetup却可以来挂载带有分区表的映像文件。这就是kpartx了。

    废话不多说,进入正题(其中X和Y要看你的挂接的情况而看了):

    #先创建一个1G大小的映像文件来做实验
    dd bs=4096 if=/dev/zero of=~/hd.img count=262144
    
    
    #将映像文件挂接到loopX中去
    losetup /dev/loopX ~/hd.img 
    
    #对loopX进行分区
    fdisk /dev/loopX
    
    #我这里分了两个区,每个去512M大小
          Device Boot      Start         End      Blocks   Id  System
    /dev/loopXpY            2048     1050623      524288   83  Linux
    /dev/loopXpY         1050624     2097151      523264   83  Linux
    
    #正戏来了,使用kpartd装载映像,使用kpartx是需要root用户的,因为是用root登录的,所以不用使用sudo。从前面的命令就可以看出来...
    kpartx -av ~/hd.img
    
    #装载之后,就可以在/dev/mapper/目录下看到两个loopXpY的文件了。
    
    #接下来对loopXpY进行格式化了。
    mkfs.vfat /dev/mapper/loopXpY
    
    #然后挂载文件系统。
    mount /dev/mapper/loop1p1 /media/hd1
    
    #OK,罗嗦完了。

    后面再废话一点,使用完映像文件的文件系统后,想退出的话,可以使用 kpartx -dv /dev/loopX 写卸载刚才挂接的东西。然后再使用losetup -d /dev/loopX断掉和映像文件的挂接关系。

    其中,kpartx -a指定去添加哪个映像文件(add),-v是指挂到loop设备(verbose),-d就是delete的意思了。其它更详细用法可以去"找男人"。

  • 相关阅读:
    如何防止表单重复提交
    二、编程题
    Java 基础测试题
    常见异常
    Hibernate工作原理及为什么要用?
    简述拦截器的工作原理以及你在项目中使用过哪些自定义拦截器。
    拦截器和过滤器的区别
    浏览器默认样式
    数组去重
    数组排序
  • 原文地址:https://www.cnblogs.com/Jer-/p/3330128.html
Copyright © 2011-2022 走看看