无忧启动论坛

 找回密码
 注册
搜索
系统gho:最纯净好用系统下载站广告联系 微信:wuyouceo QQ:184822951
楼主: Misty
打印 上一主题 下一主题

[原创] vdfuseloop:支持更多格式虚拟磁盘启动的Linux方式(vdi/vmdk/vhd等)

    [复制链接]
1#
发表于 2022-11-23 17:44:17 | 显示全部楼层
lijingjack 发表于 2020-12-22 10:32
**** 作者被禁止或删除 内容自动屏蔽 ****

qemu-nbd 挂载 动态 ubuntu vhd ,在 dracut 的 pre-mount 挂脚本处理,救援模式shell 下看日志是可以成功挂到 sysroot上的,也手动验证了,但是在 switch root 的时候,qemu-nbd 就立马断开连接了(shutting down socket),ps 看进程结束了,猜测是 systemd kill 掉了。exec 的方案也无效,但是理论上来说 vdfuse 都可以挂载到进入系统,qemu-nbd 原理也是一样的,不知道怎么整了emmm,大佬给点建议呗
回复

使用道具 举报

2#
发表于 2022-11-23 18:58:49 | 显示全部楼层
qemu-nbd 挂载 动态 ubuntu vhd ,在 dracut 的 pre-mount 挂脚本处理,救援模式shell 下看日志是可以成功挂到 sysroot上的,也手动验证了,但是在 switch root 的时候,qemu-nbd 就立马断开连接了(shutting down socket),ps 看进程结束了,猜测是 systemd kill 掉了。exec 的方案也无效,但是理论上来说 vdfuse 都可以挂载到进入系统,qemu-nbd 原理也是一样的,不知道怎么整了emmm,大佬给点建议呗

点评

老哥,我也在看使用qemu-nbd启动qcow2的问题,你有研究出什么结果没?感谢!  详情 回复 发表于 2023-5-8 20:50
回复

使用道具 举报

3#
发表于 2023-5-29 15:34:57 | 显示全部楼层
paodiao 发表于 2023-5-8 20:50
老哥,我也在看使用qemu-nbd启动qcow2的问题,你有研究出什么结果没?感谢!

没,qemu-nbd始终无法起来,还是老问题,可以用vboximg-mount替代,vdfuse只支持mbr,vboximg-mount支持mbr和gpt,但是都需要装个vbox,想把其提取出来,但是vbox为了做多平台,代码还不好提。目前知道几个方案,libguestfs-tools和nbdfuse有些镜像分区读不出?libvhd只支持读,blktap没试过。

点评

以上针对vhd而言,差分qcow2应该有其他挂载工具吧,vhd比较麻烦  详情 回复 发表于 2023-5-29 15:38
回复

使用道具 举报

4#
发表于 2023-5-29 15:38:44 | 显示全部楼层
want20 发表于 2023-5-29 15:34
没,qemu-nbd始终无法起来,还是老问题,可以用vboximg-mount替代,vdfuse只支持mbr,vboximg-mount支持m ...

以上针对vhd而言,差分qcow2应该有其他挂载工具吧,vhd比较麻烦
回复

使用道具 举报

5#
发表于 2023-5-29 15:48:45 | 显示全部楼层
kero990 发表于 2022-3-11 12:36
我有两个问题
第一,如果我不用win,我只是多个linux的多系统,但不想多分区,我该怎么做
我的考虑是,vh ...

显然不支持,vbox除了apple的m系列外目前不支持arm,当然把挂载工具vdfuse换成支持arm的即可
回复

使用道具 举报

6#
发表于 2023-7-31 11:53:34 | 显示全部楼层
本帖最后由 want20 于 2023-7-31 11:59 编辑
ghosthark 发表于 2023-7-28 10:43
配置正确之后还是异常 返回
Starting initrd-switch-root.service - Switch Root...
[

用qemu-nbd是会这样的,我都没成功过,initramfs-tool 和 dracut 都是 switch root 的时候卡 io error,目前我的方案是自己写的挂载工具,可以实现 x86 和 arm 的挂载,但是 initramfs-tool 的关机无论是用 vdfus 还是 vboximg-mount 会容易卡死,挂载的镜像设备卸载不掉,dracut 关机脚本写好了就不会。单纯自己使用的话完全可以用 vboximg-mount 做,虽然要装 vbox,且不能移植到arm平台。
引导起来只是第一步,后续还在解决断电文件系统损坏,镜像损坏等问题,至于性能方面,只要挂载工具没做 direct io 或者每次写都加同步的话,还是很不错的。加了 direct io 或者 实时同步到 disk 的话 io 性能会大大下降。

此外,给 grub 加个 vhd 的只读模块就不用把内核镜像拷出来了,挂起来直接引导。目前打算研究一下 ventoy 的实现,看下会不会更优雅一点。
回复

使用道具 举报

7#
发表于 2023-9-14 11:50:20 | 显示全部楼层
本帖最后由 want20 于 2023-9-14 11:54 编辑
ghosthark 发表于 2023-8-10 22:14
initramfs-tool 我没有遇到问题
dracut  目前定位到没有加--uefi参数  可以进入rootfs 但是没有成功启 ...

提示一下,参考vboot的vhd模块,自己改。他本身是支持动态vhd的,但是不支持差分,可以自己加差分的支持。没差分也问题不大,就是更新initrd后记得压到第一级镜像。这一part经过长时间测试,非常稳定。外部因素,暂时无法分享代码,望理解。
回复

使用道具 举报

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

本版积分规则

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

闽公网安备 35020302032614号

GMT+8, 2024-5-10 11:13

Powered by Discuz! X3.3

© 2001-2017 Comsenz Inc.

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