无忧启动论坛

 找回密码
 注册
搜索
系统gho:最纯净好用系统下载站投放广告、加入VIP会员,请联系 微信:wuyouceo
查看: 6645|回复: 16
打印 上一主题 下一主题

ubuntu 下 挂在 vhd的脚本

  [复制链接]
跳转到指定楼层
#
发表于 2016-10-23 21:38:53 | 只看该作者 回帖奖励 |正序浏览 |阅读模式
本帖最后由 dos时代菜鸟 于 2016-10-23 21:44 编辑
  1. #! /bin/sh
  2. # 通过 vhdimount 实现 vhd 的挂载 ,挂载 vhd 中的第一个分区
  3. # 需要安装的软件包 sudo apt-get install libvhdi-utils sleuthkit
  4. # 需要 awk 计算 要装载分区的首位置 offset = start_byte =Units * Start

  5. echo $1
  6. echo mkdir......
  7. VhdPath=`dirname /v_disk.`basename $1`
  8. sudo mkdir $VhdPath/`basename $1` -p
  9. sudo mkdir $VhdPath/01 -p

  10. echo mount $1 to $VhdPath ...
  11. sudo vhdimount $1 $VhdPath/`basename $1`

  12. sudo mmls $VhdPath/`basename $1`/vhdi1 > vhdi1.txt
  13. cat vhdi1.txt
  14. # start_byte =Units * Start 要装载的分区首位置
  15. echo .
  16. start_byte=`awk '{if ($1=="Units") split($4,Units,"-"); if ($2=="000:000") start=$3} END {print Units[1]*start}' vhdi1.txt`
  17. sudo rm -r vhdi1.txt

  18. echo Mounting ... "(" Units*Start = $start_byte ")"
  19. sudo  mount -o ro,noload,offset=$start_byte $VhdPath/`basename $1`/vhdi1 $VhdPath/01
  20. echo .
  21. echo List $VhdPath/01
  22. echo --------------------------------
  23. sudo ls $VhdPath/01
  24. echo --------------------------------
  25. echo End ....
复制代码

2016-10-23 21-38-29屏幕截图.png (88.51 KB, 下载次数: 36)

2016-10-23 21-38-29屏幕截图.png

vhd.7z

823 Bytes, 下载次数: 25, 下载积分: 无忧币 -2

包含 装载 vhd 和卸载vhd 的 sh脚本

评分

参与人数 1无忧币 +5 收起 理由
freesoft00 + 5

查看全部评分

推荐
 楼主| 发表于 2016-10-25 20:34:42 | 只看该作者
不知 发表于 2016-10-25 08:48
ubuntu对ntfs是可以可写挂载的,我测试一般ntfs分区没有问题。


是啊,我的硬盘也有 ntfs 分区,可以正常读写,就是 vhdimount 挂载的不行。
实在不行,还是要用到 虚拟机,用虚拟机挂载后 再通过网络协议 sma 共享出去。
回复

使用道具 举报

15#
 楼主| 发表于 2017-9-25 12:23:31 | 只看该作者
已经 改用 qemu-nbd  
实现 起来更 方便。


http://bbs.wuyou.net/forum.php?m ... d=387667&extra=
回复

使用道具 举报

14#
发表于 2017-9-15 15:53:59 | 只看该作者
本帖最后由 2012angelkyo 于 2017-9-15 15:55 编辑

来嘛,送你一个我提取的vdfuse
在解压后的目录右键--在当前目录打开终端
然后输入
  1. ./install.sh
复制代码
即可。
要删除就运行
  1. ./uninstall.sh
复制代码
vdfuse.tar.gz (1022.35 KB, 下载次数: 6)

其实就几个文件而已
  1. .
  2. ├── bin
  3. │   └── vdfuse
  4. ├── install.sh
  5. ├── lib
  6. │   └── virtualbox
  7. │       ├── VBoxDDU.so
  8. │       └── VBoxRT.so
  9. └── uninstall.sh
复制代码


回复

使用道具 举报

13#
发表于 2017-1-17 21:48:20 | 只看该作者
固定大小的vhd 还是用kpartx 简明。
  1. sudo kpartx -av VHD文件名
复制代码
可惜对于动态大小vhd不能用。
回复

使用道具 举报

12#
发表于 2016-11-5 11:14:47 | 只看该作者
yuub 发表于 2016-11-5 11:09
不要直接安装virtualbox-fuse
用apt-get download下载下来,然后把virtualbox-fuse的执行文件解压到/usr ...

这也是个好方法,只是没有写入ubuntu的软件包数据库,以后忘了可能有一定影响。
回复

使用道具 举报

11#
发表于 2016-11-5 11:09:36 | 只看该作者
不知 发表于 2016-10-24 21:52
这个还是有点麻烦啊。还要计算。不过也没办法,我以前想到的办法是不在ubuntu下处理vhd。

不要直接安装virtualbox-fuse
用apt-get download下载下来,然后把virtualbox-fuse的执行文件解压到/usr/local/bin就好了。

点评

这也是个好方法,只是没有写入ubuntu的软件包数据库,以后忘了可能有一定影响。  详情 回复 发表于 2016-11-5 11:14
回复

使用道具 举报

10#
发表于 2016-10-25 08:48:22 | 只看该作者
dos时代菜鸟 发表于 2016-10-25 08:12
改成 -rw ,就说没权限,写保护啥的。
不知道是  vhdimount  的问题,还是 mount 的问题。或许是 linux  ...

ubuntu对ntfs是可以可写挂载的,我测试一般ntfs分区没有问题。

点评

是啊,我的硬盘也有 ntfs 分区,可以正常读写,就是 vhdimount 挂载的不行。  详情 回复 发表于 2016-10-25 20:34
回复

使用道具 举报

9#
 楼主| 发表于 2016-10-25 08:28:46 | 只看该作者
不知 发表于 2016-10-24 21:52
这个还是有点麻烦啊。还要计算。不过也没办法,我以前想到的办法是不在ubuntu下处理vhd。

所以啊,我编辑了个脚本,负责计算和自动挂载啊。
就是 发现只能只读打开。郁闷中。。。。。
回复

使用道具 举报

8#
 楼主| 发表于 2016-10-25 08:12:25 | 只看该作者
不知 发表于 2016-10-24 21:56
将楼主脚本的23行的ro改为rw.

改成 -rw ,就说没权限,写保护啥的。
不知道是  vhdimount  的问题,还是 mount 的问题。或许是 linux 对 ntfs 结构的写保护的问题?

点评

ubuntu对ntfs是可以可写挂载的,我测试一般ntfs分区没有问题。  详情 回复 发表于 2016-10-25 08:48
回复

使用道具 举报

7#
发表于 2016-10-24 21:56:04 | 只看该作者
dos时代菜鸟 发表于 2016-10-24 15:41
刚发现 对于  ntfs 分区 只能  -o ro 只读挂载。不知道能否解决可写的问题。 用 -o rw 就告知没有权限,写 ...

将楼主脚本的23行的ro改为rw.

点评

改成 -rw ,就说没权限,写保护啥的。 不知道是 vhdimount 的问题,还是 mount 的问题。或许是 linux 对 ntfs 结构的写保护的问题?  详情 回复 发表于 2016-10-25 08:12
回复

使用道具 举报

6#
发表于 2016-10-24 21:52:04 | 只看该作者
dos时代菜鸟 发表于 2016-10-24 12:33
是啊 ,用  apt-get -f install 就会修复问题,解决的方案就是删除 vbox-fuse .
所以,我用 vhdimount ...

这个还是有点麻烦啊。还要计算。不过也没办法,我以前想到的办法是不在ubuntu下处理vhd。

点评

不要直接安装virtualbox-fuse 用apt-get download下载下来,然后把virtualbox-fuse的执行文件解压到/usr/local/bin就好了。  详情 回复 发表于 2016-11-5 11:09
所以啊,我编辑了个脚本,负责计算和自动挂载啊。 就是 发现只能只读打开。郁闷中。。。。。  详情 回复 发表于 2016-10-25 08:28
回复

使用道具 举报

5#
发表于 2016-10-24 21:28:54 | 只看该作者
这个好 收藏了







    神奇的小尾巴:Mozilla/5.0 (X11; Linux i686) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/48.0.2564.109 Safari/537.36  (zh-CN)
    ——2016/10/24 下午9:28:57
             
    回复

    使用道具 举报

    4#
     楼主| 发表于 2016-10-24 15:41:10 | 只看该作者
    刚发现 对于  ntfs 分区 只能  -o ro 只读挂载。不知道能否解决可写的问题。 用 -o rw 就告知没有权限,写保护之类。

    点评

    将楼主脚本的23行的ro改为rw.  详情 回复 发表于 2016-10-24 21:56
    vbox-fuse 有可写选项,必须加上,默认是只读挂载。  详情 回复 发表于 2016-10-24 21:53
    回复

    使用道具 举报

    3#
     楼主| 发表于 2016-10-24 12:33:23 | 只看该作者
    本帖最后由 dos时代菜鸟 于 2016-10-24 12:39 编辑
    不知 发表于 2016-10-24 09:34
    如果不自己安装新版vbox,这没问题。但安了最新版的vbox,apt-get会提示冲突,新安任何软件都会把vbox卸了 ...


    是啊 ,用  apt-get -f install 就会修复问题,解决的方案就是删除 vbox-fuse .
    所以,我用 vhdimount 也不错。就是需要计算下 分区的起始位置,用 awk 搞定,呵呵,这是 dos 时代练出的本领。

    点评

    这个还是有点麻烦啊。还要计算。不过也没办法,我以前想到的办法是不在ubuntu下处理vhd。  详情 回复 发表于 2016-10-24 21:52
    回复

    使用道具 举报

    2#
    发表于 2016-10-24 09:34:49 来自手机 | 只看该作者
    如果不自己安装新版vbox,这没问题。但安了最新版的vbox,apt-get会提示冲突,新安任何软件都会把vbox卸了。最终,我放弃了virtualbox-fuse。

    点评

    是啊 ,用 apt-get -f install 就会修复问题,解决的方案就是删除 vbox-fuse . 所以,我用 vhdimount 也不错。  详情 回复 发表于 2016-10-24 12:33
    回复

    使用道具 举报

    1#
     楼主| 发表于 2016-10-23 21:48:45 | 只看该作者
    只在  ubuntu 麒麟系统下,对  dos 分区表 的 vhd 进行了测试。
    算是抛砖引玉吧。因为 vmware 需要注册而且也很大,
    而 virtualbox-fuse 只支持 virtualbox 4.14,现在 virtualbox 都 5.18 版本了
    用 qtemu 的  qemu-nbd 需要开端口,还要 kvm 支持,也麻烦。
    所以  ,考虑 用 vhdimount 就是 在洋人的网上 找了老半天,才弄明白  offset 到底是个啥。
    呵呵 。
    回复

    使用道具 举报

    您需要登录后才可以回帖 登录 | 注册

    本版积分规则

    小黑屋|手机版|Archiver|捐助支持|无忧启动 ( 闽ICP备05002490号-1 )

    闽公网安备 35020302032614号

    GMT+8, 2025-12-10 19:27

    Powered by Discuz! X3.3

    © 2001-2017 Comsenz Inc.

    快速回复 返回顶部 返回列表