无忧启动论坛

 找回密码
 注册
搜索
系统gho:最纯净好用系统下载站广告联系 微信:wuyouceo QQ:184822951
查看: 26532|回复: 73

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

    [复制链接]
发表于 2021-4-1 19:53:45 | 显示全部楼层

求助vdfuse编译安装,和grub2启动项编写

本帖最后由 faoao 于 2021-4-13 17:25 编辑

我的系统是 ubuntu20.04 用VMware安装在vmdk里,自动分了 /boot/efi 和 /根目录两个分区

1、vdfuse编译安装问题
./fetch_vbox_headers.sh 执行有问题(是不是仓库地址改了?),我直接从 https://download、virtualbox、org/virtualbox/6.1.18/VirtualBox-6.1.18.tar.bz2 下载的源码提取了include文件夹放入vdfuse中(能不能行?)。
后面的 make 和 sudo make install 执行感觉有问题
  1. w@X:~/下载/vdfuse$ make
  2. gcc -DHAVE_CONFIG_H -I. -I./src    -Iinclude -I/usr/include/fuse -D_FILE_OFFSET_BITS=64 -MT vdfuse.o -MD -MP -MF .deps/vdfuse.Tpo -c -o vdfuse.o `test -f 'src/vdfuse.c' || echo './'`src/vdfuse.c
  3. src/vdfuse.c: In function ‘main’:
  4. src/vdfuse.c:272:7: warning: passing argument 5 of ‘VDInterfaceAdd’ makes integer from pointer without a cast [-Wint-conversion]
  5.   272 |   if (RT_FAILURE(VDInterfaceAdd(&vdError, "VD Error", VDINTERFACETYPE_ERROR,
  6.       |       ^~~~~~~~~~
  7.       |       |
  8.       |       void *
  9. In file included from include/VBox/vd.h:42,
  10.                  from src/vdfuse.c:114:
  11. include/VBox/vd-ifs.h:155:39: note: expected ‘size_t’ {aka ‘long unsigned int’} but argument is of type ‘void *’
  12.   155 |                                size_t cbInterface, PVDINTERFACE *ppVDIfs)
  13.       |                                ~~~~~~~^~~~~~~~~~~
  14. mv -f .deps/vdfuse.Tpo .deps/vdfuse.Po
  15. gcc -Iinclude -I/usr/include/fuse -D_FILE_OFFSET_BITS=64 -Wl,-rpath,/usr/lib/virtualbox  -o vdfuse vdfuse.o /usr/lib/virtualbox/VBoxDDU.so -lfuse -pthread
复制代码

2、grub2启动项编写问题

我的grub启动项参照 niumao大佬的改的
  1. menuentry 'VBUNTUFIX linux' --class ubuntu --class gnu-linux --class gnu --class os {
  2.         insmod gzio
  3.         insmod part_msdos
  4.         insmod part_gpt
  5.         insmod ext2
  6.         insmod ntfs
  7.         insmod probe
  8.         insmod search
  9.         search --no-floppy -f --set=aabbcc /Ubuntu/Ubuntucl.vmdk
  10.         set root=${aabbcc}
  11.         probe -u --set=ddeeff ${aabbcc}
  12.         linux /Ubuntu/vmlinuz root=UUID=${ddeeff} vloop=/Ubuntu/Ubuntucl.vmdk vlooppart=p1
  13.         initrd /Ubuntu/initramfs-5.8.0-48-generic.img
  14. }
复制代码
但是还是进不了系统,进入了 dracut: 的命令行
我现在不知道是vmdk系统中软件还没安装配置好,还是grub2启动项没编辑好。麻烦大佬帮忙修改下
回复

使用道具 举报

发表于 2021-4-1 20:59:15 | 显示全部楼层
本帖最后由 faoao 于 2021-4-13 17:27 编辑

已在上一楼修改,请删除本楼
回复

使用道具 举报

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

本版积分规则

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

闽公网安备 35020302032614号

GMT+8, 2024-3-29 16:05

Powered by Discuz! X3.3

© 2001-2017 Comsenz Inc.

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