无忧启动论坛

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

[教程] 从 固定VHD与只读squashfs引导LINUX, UBUNTU ARCH Fedora Opensuse Mageia五种

    [复制链接]
1#
发表于 2019-4-1 11:26:47 | 显示全部楼层
大神,mydracut-new/ubuntu-kloop/readme-ubuntu-kloop里面第五段生成initrd.img文件说四个文件
把这里生成的文件 initrd.img-3.16.0-30-generic 与 /boot/下两个文件 vmlinuz-3.16.0-30-generic
和vhd文件UBUNTU-14041.vhd一共四个文件拷贝或移动到一个NTFS分区根目录下一个名叫ubuntu子目录中。
如果没有ubuntu目录就手动建立一个。


没想出来是哪四个,我就把生成的initrd.img和boot下的vmlinuzxxxxx和vhdx文件放到移动硬盘ubuntu目录下,我的移动硬盘是gpt格式的只有efi分区和一个主分区。

引导这样子

  1. if search --no-floppy -f  /ubuntu/vubt.vhdx; then
  2. menuentry "vubt_archbang.vhdx " --class ubuntu {
  3.         insmod gzio
  4.         insmod part_msdos
  5.         insmod part_gpt
  6.         insmod ext2
  7.         insmod ntfs
  8.         insmod probe
  9.         set vhdfile="/ubuntu/vubt.vhdx"
  10.         ##set root=(hd0,1)
  11.         search --no-floppy -f --set=aabbcc  $vhdfile
  12.         set root=${aabbcc}
  13.         probe -u --set=ddeeff ${aabbcc}
  14.         loopback lp0 $vhdfile
  15.         linux        /ubuntu/vmlinuz-4.13.0-36-generic root=UUID=${ddeeff}  kloop=$vhdfile  kroot=/dev/loop0p1
  16.         initrd        /ubuntu/initrd.img-4.13.0-36-generic
  17. }
  18. fi
复制代码


这可以成功引导论坛里一位兄弟的archLinux-vhd
最后输出一大段,有一句 no working init found

也测试了readme里面的引导,试了好几个值,都失败了。
最后把boot里的initrad.imgxxxx文件换成定制的,试这段引导
  1. menuentry " UBUNTU-1604.vhdx 5" --class  ubuntu {
  2.         insmod gzio
  3.         insmod part_msdos
  4.         insmod part_gpt
  5.         insmod ext2
  6.         insmod ntfs
  7.         insmod probe
  8.         set vhdfile="/ubuntu/vubt.vhdx"
  9.         set root=(hd0,1)
  10.         search --no-floppy -f --set=aabbcc  $vhdfile
  11.         set root=${aabbcc}
  12.         probe -u --set=ddeeff ${aabbcc}
  13.         loopback loop0 $vhdfile
  14.         linux        (loop0,1)/vmlinuz-4.13.0-36-generic root=/dev/sda5 rw  kloop=$vhdfile  kroot=/dev/mapper/loop0p1
  15.         initrd        (loop0,1)/initrd.img-4.13.0-36-generic
  16. }
复制代码


这就直接提示disk 'loop0, 1' not found
试了从0到5都不行,又改root=(hd0, 1),0试到3也不行((loop0,1)),同样提示not found

我用的ubuntu是16.04,还更换外部的initrd和vmlinuz文件,用了你的和那位兄弟的,也不行。
请大神指导一下,感谢。




回复

使用道具 举报

2#
发表于 2019-4-1 11:34:39 | 显示全部楼层
我制作的过程就是先安装好软件,再把init,local,mkinitramfs,modules文件替换,再编译安装ntfs_3g,再替换其文件,用的是ubuntu-kloop的源文件
回复

使用道具 举报

3#
发表于 2019-4-1 18:30:54 | 显示全部楼层
用efi装vhd也试了,我发现都提示init问题
回复

使用道具 举报

4#
发表于 2019-4-1 23:32:40 | 显示全部楼层
终于试成功了,首先就是不要有逻辑分区,安装的时候自动分区会有逻辑分区swap,所以要手动分区,在vbox里面初始分辨率太小,导致手动分区那块被隐藏了,不得不去网上找图片,用tab键摸黑分区。
然后就是去楼主发的vhd里,启动它,找到对应的文件,因为我发现它们不一样,制作的initram.imgxxx大小差很多。这样也可以试出启动菜单出来。
最后启动成功,我发现生成的两个文件和楼主发的可以直接启动新安装的ubuntu18,太厉害了。
如果你不想编译的话,可以直接用楼主的两个启动文件。
查看分区情况可以把vhd挂载后用diskgenius工具查看,磁盘只有一个分区就对了。
vbox里也不要什么efi启动,因为会安装后启动不了,也不需要。
最后发下我的菜单:
menuentry ' ubt16-my 1'  --class ubuntu  {
        recordfail
        insmod gzio
        insmod part_msdos
        insmod part_gpt
        insmod ext2
        insmod ntfs
        insmod probe
        insmod search
        search --no-floppy -f --set=aabbcc /ubt/ubt16.vhd
        set root=${aabbcc}
        probe -u --set=ddeeff ${aabbcc}
        linux        /ubt/vmlinuz-4.13.0-36-generic root=UUID=${ddeeff} kloop=/ubt/ubt16.vhd kroot=/dev/mapper/loop0p1
        initrd        /ubt/initrd.img-4.13.0-36-generic
}

点评

ubuntu有不会的兄弟可以加我QQ:1147940842  详情 回复 发表于 2019-4-1 23:34
回复

使用道具 举报

5#
发表于 2019-4-1 23:34:52 | 显示全部楼层
gland2015 发表于 2019-4-1 23:32
终于试成功了,首先就是不要有逻辑分区,安装的时候自动分区会有逻辑分区swap,所以要手动分区,在vbox里面 ...

ubuntu有不会的兄弟可以加我QQ:1147940842
回复

使用道具 举报

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

本版积分规则

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

闽公网安备 35020302032614号

GMT+8, 2024-5-22 06:54

Powered by Discuz! X3.3

© 2001-2017 Comsenz Inc.

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