无忧启动论坛

 找回密码
 注册
搜索
一次装机 终生领工资最纯净的「微PE装机优盘」UEPON大师作品卡瑞飞系统和装机二合一超级U盘
诚聘PE工具开发技术员QQ:1607112133系统gho:最纯净好用系统下载站广告联系 QQ:184822951 微信:wuyouceo
查看: 121787|回复: 441
打印 上一主题 下一主题

[原创] GRUB2.02 for DOS/UEFI/ISO/PXE项目(winly)2016最新版

    [复制链接]
跳转到指定楼层
1#
发表于 2013-5-13 08:54:02 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
本帖最后由 teasiu 于 2016-2-28 14:58 编辑

2016,智能路由器横行的年代,怎能缺少pxe网络启动呢。

2016年1月16日,更新增加winly网启版,即pxe启动(下载与使用的第6小节提供下载)

----神雕 (低调的走过)

==================================
我启动这个项目,是因为越来越多的人开始转投向GRUB2,却不知道如何入手,
为了让更多的人了解和使用它,就摸索摸索吧。

特点:
1、源码编译,(GNU/linux SliTaz + GRUB2)
2、内嵌启动模块,(newc格式的cpio)
3、外置中文字体和菜单 (unicode)
4、外置风格包

支持:
1、windows全系列
2、linux全系列
3、镜像文件
4、DOS文件

关于winly项目的简介:
WinLy全称是Windows base Live Linux Installer
1、WinLy是启动引导器。
WinLy使用开源世界的GRUB2启动软件来引导,GRUB2是非常优秀的一款启动软件。

2、WinLy是安全软件。
WinLy使用的代码是开源代码,仅以分享的精神制作,不存在任何商业目的。
Winly的工作原理是:通过您本身windows系统的启动加载器NTLDR或BOOTMGR加载,所以,不会妨碍也不会损坏您的windows正常启动。

3、WinLy是易用软件。
适用windowsNT系列,Win2000、WinXP、Win7/8均能安装并成功引导。

4、winly支持UEFI和传统的bios启动
无论你是旧式电脑主板还是新型电脑主板,winly均能助你无忧启动。

5、winly的可扩展性和代码公开
您可以自由修改和扩展任何代码,编辑成你喜欢的样子。

6、项目长期下载有效地址:https://sourceforge.net/projects/winly/

===================================================
原理说明:
一、bios主板的引导
1、磁盘引导  
   先引导winly.mbr(mbr引导) -->winlyldr(核心) -->winly.cfg(菜单)-风格包 -->启动系统

2、光驱引导
   先引导winly.bin(iso引导含核心) -->winly.cfg(菜单)-风格包 -->启动系统

3、引导windows
   通过命令ntlrd /ntldr引导windowsNT5,
   通过命令ntlrd /bootmgr引导windowsNT6+,
   通过命令chainloader device引导分区pbr

二、EFI主板的引导
1、32-bit引导文件
   /EFI/boot/bootia32.efi(核心) -->winly.cfg(菜单)-风格包 -->启动系统
2、64-bit引导文件
   /EFI/boot/bootx64.efi(核心) -->winly.cfg(菜单)-风格包 -->启动系统
3、引导windows
   通过命令chainloader /EFI/microsoft/boot/bootmgfw.efi引导windows的启动文件

三、中文字体支持/风格/背景等
1、中文字体支持文件unicode.pf2
2、风格文件修改文档theme.txt
3、背景支持jpg,vga,png图片格式

四、菜单的编写(请搜索和提问)
================================================

下载和使用:
1、bios主版windows下直接安装:

winlyinst_gui.zip (252.83 KB, 下载次数: 1929)
备注:这个是安装启动代码到磁盘的,需要配合下面的手动包放到磁盘根目录.

另一种安装方法:
WinLy4.4.zip (1.74 MB, 下载次数: 8871)
================================
2、bios主板手动解包安装:
包含4个文件
1、内核文件 winlyldr
2、mbr引导文件 winlyldr.mbr
3、菜单文件winly.cfg
4、字体文件unicode.pf2

winlyldr.zip (1.38 MB, 下载次数: 8441)
================================
3、多重启动UEFI/DOS的光盘iso
winly.iso.7z (2.84 MB, 下载次数: 9575)

================================
4、UEFI主板手动解包到fat格式的磁盘或U盘根目录即可
     已经包含了32位和64位的启动文件. 引导文件也可以更改名字如winlyx64.efi,然后自行编辑BSD进行引导。
winly-efi.7z (1.75 MB, 下载次数: 7878)
================================
5、风格包
    将文件解压到winly文件夹里,在菜单文件winly.cfg添加这几行
insmod gfxmenu
insmod png
set theme=($root)/winly/themes/winly/theme.txt
export theme
winly-theme.7z (1.85 MB, 下载次数: 5537)
================================
6、网启版winly
将winly.0放置于tftp服务端的根目录,启动文件设置为winly.0
将附件的模块包解压后放置于tftp服务端的根目录,表现为/boot/grub/

tftp.zip (1.93 MB, 下载次数: 4382)

如果你的电脑运行较慢,或者你不喜欢有图片风格的界面,那么你可以替换一下这个文档,将会超快。
grub.zip (395 Bytes, 下载次数: 776)
================================

关于菜单的编辑,
菜单学习资料,请参考:
http://bbs.wuyou.net/forum.php?mod=viewthread&tid=305290
菜单示范:



  1. menuentry "【1】启动slitaz微型linux中文定制版"  --class slitaz --class os {
  2. linux /boot/bzImage rw root=/dev/null vga=normal autologin
  3. initrd /boot/rootfs.gz
  4. }
  5. menuentry "【2】启动bios主板的windowsPE系统" --class windows --class os {
  6. ntldr /bootmgr
  7. }
  8. menuentry "【4】启动UEFI主板的32-bit PE系统(如果有)" --class windows --class os {
  9. search --no-floppy --file --set=root /EFI/microsoft/boot/bootia32.efi
  10. chainloader /EFI/microsoft/boot/bootia32.efi
  11. }
  12. menuentry "【5】启动UEFI主板的64-bit PE系统(如果有)" --class windows --class os {
  13. search --no-floppy --file --set=root /EFI/microsoft/boot/bootx64.efi
  14. chainloader /EFI/microsoft/boot/bootx64.efi
  15. }
  16. menuentry "【6】启动UEFI主板的windows系统(如果有)" --class windows --class os {
  17. search --no-floppy --file --set=root /EFI/microsoft/boot/bootmgfw.efi
  18. chainloader /EFI/microsoft/boot/bootmgfw.efi
  19. }
  20. menuentry "【7】启动已安装的其他linux引导(如果有)" --class gnu-linux --class os {
  21. insmod gzio
  22. insmod part_msdos
  23. insmod ext2
  24. insmod ntfs
  25. insmod probe
  26. search --no-floppy --file --set=root /vmlinuz
  27. configfile ($root)/boot/grub/grub.cfg
  28. }
  29. menuentry "【reboot】重启" --class windows --class os{
  30.         reboot
  31. }
  32. menuentry "【halt】关闭计算机" --class windows --class os{
  33.         halt
  34. }
复制代码
17楼网友2011cwj6958提供的菜单,请参考:

http://bbs.wuyou.net/forum.php?m ... 5112&fromuid=378921

制作教程及源码+脚本:

大家可能对如何制作更感兴趣,
是的,我为此编了一个简单的脚本,大家很容易就能亲自动手制作:

一、编译环境准备(仅在linux下)
      1、如果你没有安装使用过linux,推荐你下载一个免安装完全运行于内存的微型linux--->GNU SliTaz linux
        中文定制版下载地址:
  1. http://pan.baidu.com/s/1mgKdR40
复制代码
这个是已经有编译环境所需的一切软件,进去Documents里面已经包括了我修改过的源码,直接运行编译脚本即可。


       2、如果你已经有其他发行版linux,如UBUNTU,安装编译环境依赖包:
  1. sudo apt-get install bison libopts25 libselinux1-dev autogen m4 autoconf help2man libopts25-dev flex libfont-freetype-perl automake autotools-dev libfreetype6-dev texinfo
复制代码

二、我们在这里探讨如何编译和实现定制自己的启动软件。(主要探讨platform是i386-pc和64x-efi的)

   第一步是configure,
  1. configure --with-platform=pc --target=i386
复制代码
  第二步是make,千万不要make install,那会安装到你的当前目录,我们只需要make,然后把make后的文档提取出来。
   第三步,就是提取make后的文档。
  1. mkdir -p boot/grub/i386-pc  ##建立你的启动目录
  2. mkdir -p boot/grub/locale
  3. cp ../winly/zh_CN.mo boot/grub/locale  ##这个语言翻译文件你只需要在其他地方找(比如ubuntu里面),然后放进去
  4. cp ../winly/grub.cfg boot/grub  ##这个是启动菜单,你需要自己建立,注意,这个菜单是内置菜单,你需要指向一个外置菜单,里面添加configfile到外置的winly.cfg
  5. cp ../winly/grubevn boot/grub  ##这个视乎你的需求
  6. cp ../winly/unicode.pf2 boot/grub ##这个多国语言字体是显示中文必须的。
  7. cd grub-core
  8. cp *.mod *.img *.lst ../boot/grub/i386-pc  ##将grub-core文件夹下的所有生成的模块和挂载清单复制到你的启动目录
  9. cd ..
复制代码
第四步,把启动目录的上百个文档打包,然后启动时映射这个包并读取。
  1. find boot | cpio -o -H newc > winly.pkg  #这个boot文件夹就是刚才你建立的启动文件夹。
复制代码
第五步,关键技术来了,如何制作winlyldr并在启动时实现映射winly.pkg这个模块包
   首先,在grub-core下面建立一个first.cfg文档,文档里面的内容如下:
  1. loopback winly /winly.pkg  ##指令启动的第一时间,首先回放winly.pkg到虚拟的winly磁盘
  2. set prefix=(winly)/boot/grub  ##指定启动模块的位置到这个虚拟winly磁盘的/boot/grub
  3. set pager=1  ##设定手动翻页
复制代码
然后,我们来生成启动的内核i386-pc-core.img
  1. cd grub-core
  2. ../grub-mkimage -O i386-pc -d . -c first.cfg -o i386-pc-core.img -v biosdisk blocklist newc cpio fat iso9660 part_msdos ext2 ntfs loopback  #-v的部分,必须要包括newc,cpio,loopback模块,否则无法映射虚拟磁盘。
复制代码
最后,生成在i386-pc启动的winlyldr
  1. cat lnxboot.img i386-pc-core.img > winlyldr
复制代码
那么,你就有了如下的启动结构的文档了:
  winlyldr-->winly.pkg-->外置的winly.cfg-->再延伸到外置风格包

未完部分待续。。。






点评

一直在找找的我好辛苦,谢谢神雕大侠!!!  发表于 2017-4-20 08:12

评分

参与人数 41无忧币 +200 收起 理由
Shimnly + 5 很给力!
roboy + 4
showmar + 5 很给力!
oldking + 5 赞一个!
l3429900 + 5 赞一个!
zqjiang + 5 很给力!
hyde777 + 5 这个必须顶
wangxiongfang + 5 赞一个!
Myptour + 5 赞一个!
acer669 + 5 赞一个!
879792799 + 5 很给力!
wuhuyou + 5 很给力!
沉默味道12321 + 5 很给力!
2010lakebaykal + 5
2010_cyl + 5 很给力!
yifan9014 + 5 很给力!
有阴也有阳 + 5 很给力!
MoHenHM + 5
Durphy + 5 很给力!
zhanguser + 5 很给力!
ql1307096 + 5 很给力!
●_/点点烟菋 + 5 赞一个!
2012wuyuvl + 5 赞一个!
babyshin + 1 神马都是浮云
xuebao2005 + 5 很给力!
2012mine + 5 神马都是浮云
shan + 5 很给力!
wangjf + 5 很给力!
clonecd + 5 赞一个!
zdq001 + 5 很给力!

查看全部评分

来自 2#
发表于 2013-5-13 17:46:13 | 只看该作者
本帖最后由 2011cwj6958 于 2013-5-13 18:35 编辑

版主的   WinLy4.1 Grub2 for dos 提供的代码真是强大,可以启动不同版本到现在的最新版本Linux。
ubuntu LiveCD模式代码还可以启动ubuntu系列的不同版本,edubuntu  kubuntu xubuntu lubuntu mythbuntu 以及最新的UbuntuKylin。


我的ubuntu.cfg子菜单

menuentry "启动开拓者ktz5_1 LiveCD模式"  --class ubuntu {
        insmod ntfs
              set root='(hd0,2)'
        loopback loop (hd0,2)/ktz5_1.iso
        linux (loop)/casper/vmlinuz boot=casper iso-scan/filename=/ktz5_1.iso locale=zh_CN.UTF-8 splash
        initrd (loop)/casper/initrd.lz
}
menuentry "启动开拓者ktz-ubuntu-9.10 LiveCD模式"  --class ubuntu {
        insmod ntfs
              set root='(hd0,2)'
        loopback loop (hd0,2)/ktz-ubuntu.iso
        linux (loop)/casper/vmlinuz boot=casper iso-scan/filename=/ktz-ubuntu.iso locale=zh_CN.UTF-8 splash
        initrd (loop)/casper/initrd.lz
}
menuentry "启动ubuntu-10.10 LiveCD模式"  --class ubuntu {
        insmod ntfs
              set root='(hd0,2)'
        loopback loop (hd0,2)/ubuntu.iso
        linux (loop)/casper/vmlinuz boot=casper iso-scan/filename=/ubuntu.iso locale=zh_CN.UTF-8 splash
        initrd (loop)/casper/initrd.lz
}
menuentry "启动edubuntu-10.10 LiveCD模式"  --class edubuntu {
        insmod ntfs
              set root='(hd0,2)'
        loopback loop (hd0,2)/edubuntu.iso
        linux (loop)/casper/vmlinuz boot=casper iso-scan/filename=/edubuntu.iso locale=zh_CN.UTF-8 splash
        initrd (loop)/casper/initrd.lz
}
menuentry "启动edubuntu-11.04 LiveCD模式"  --class edubuntu {
        insmod ntfs
              set root='(hd0,2)'
        loopback loop (hd0,2)/edubuntu1.iso
        linux (loop)/casper/vmlinuz boot=casper iso-scan/filename=/edubuntu1.iso locale=zh_CN.UTF-8 splash
        initrd (loop)/casper/initrd.lz
}
menuentry "启动kubuntu-10.10 LiveCD模式"  --class kubuntu {
        insmod ntfs
              set root='(hd0,2)'
        loopback loop (hd0,2)/kubuntu.iso
        linux (loop)/casper/vmlinuz boot=casper iso-scan/filename=/kubuntu.iso locale=zh_CN.UTF-8 splash
        initrd (loop)/casper/initrd.lz
}
menuentry "启动kubuntu-11.04 LiveCD模式"  --class kubuntu {
        insmod ntfs
              set root='(hd0,2)'
        loopback loop (hd0,2)/kubuntu1.iso
        linux (loop)/casper/vmlinuz boot=casper iso-scan/filename=/kubuntu1.iso locale=zh_CN.UTF-8 splash
        initrd (loop)/casper/initrd.lz
}
menuentry "启动xubuntu-10.10 LiveCD模式"  --class xubuntu {
        insmod ntfs
              set root='(hd0,2)'
        loopback loop (hd0,2)/xubuntu.iso
        linux (loop)/casper/vmlinuz boot=casper iso-scan/filename=/xubuntu.iso locale=zh_CN.UTF-8 splash
        initrd (loop)/casper/initrd.lz
}
menuentry "启动xubuntu-11.04 LiveCD模式"  --class xubuntu {
        insmod ntfs
              set root='(hd0,2)'
        loopback loop (hd0,2)/xubuntu1.iso
        linux (loop)/casper/vmlinuz boot=casper iso-scan/filename=/xubuntu1.iso locale=zh_CN.UTF-8 splash
        initrd (loop)/casper/initrd.lz
}
menuentry "启动lubuntu-10.10 LiveCD模式"  --class lubuntu {
        insmod ntfs
              set root='(hd0,2)'
        loopback loop (hd0,2)/lubuntu.iso
        linux (loop)/casper/vmlinuz boot=casper iso-scan/filename=lubuntu.iso locale=zh_CN.UTF-8 splash
        initrd (loop)/casper/initrd.lz
}
menuentry "启动lubuntu-11.04 LiveCD模式"  --class lubuntu {
        insmod ntfs
              set root='(hd0,2)'
        loopback loop (hd0,2)/lubuntu1.iso
        linux (loop)/casper/vmlinuz boot=casper iso-scan/filename=lubuntu1.iso locale=zh_CN.UTF-8 splash
        initrd (loop)/casper/initrd.lz
}
menuentry "启动mythbuntu-10.10 LiveCD模式"  --class mythbuntu {
        insmod ntfs
              set root='(hd0,2)'
        loopback loop (hd0,2)/mythbuntu.iso
        linux (loop)/casper/vmlinuz boot=casper iso-scan/filename=/mythbuntu.iso locale=zh_CN.UTF-8 splash
        initrd (loop)/casper/initrd.lz
}
menuentry "启动mythbuntu-11.04 LiveCD模式"  --class mythbuntu {
        insmod ntfs
              set root='(hd0,2)'
        loopback loop (hd0,2)/mythbuntu1.iso
        linux (loop)/casper/vmlinuz boot=casper iso-scan/filename=/mythbuntu1.iso locale=zh_CN.UTF-8 splash
        initrd (loop)/casper/initrd.lz
}
menuentry "启动kanas-ubuntu-10.10 LiveCD模式"  --class ubuntu {
        insmod ntfs
              set root='(hd0,2)'
        loopback loop (hd0,2)/kanas-ubuntu.iso
        linux (loop)/casper/vmlinuz boot=casper iso-scan/filename=/kanas-ubuntu.iso locale=zh_CN.UTF-8 splash
        initrd (loop)/casper/initrd.lz
}
menuentry "启动BUYIOS.iso LiveCD模式"  --class ubuntu {
        insmod ntfs
              set root='(hd0,1)'
        loopback loop (hd0,1)/BUYIOS.iso
        linux (loop)/casper/vmlinuz boot=casper iso-scan/filename=/BUYIOS.iso locale=zh_CN.UTF-8 splash
        initrd (loop)/casper/initrd.lz
}
menuentry "启动UbuntuKylin LiveCD模式"  --class ubuntu {
        insmod ntfs
              set root='(hd0,1)'
        loopback loop (hd0,1)/raring-desktop-amd64.iso
        linux (loop)/casper/vmlinuz.efi boot=casper iso-scan/filename=/raring-desktop-amd64.iso locale=zh_CN.UTF-8 splash
        initrd (loop)/casper/initrd.lz
}

我的mint.cfg子菜单
menuentry "启动Lindows7 LiveCD模式"  --class linuxmint {
        insmod ntfs
              set root='(hd0,2)'
        loopback loop (hd0,2)/Lindows7.iso
        linux (loop)/casper/vmlinuz file=/cdrom/preseed/mint.seed boot=casper persistent iso-scan/filename=/Lindows7.iso splash
        initrd (loop)/casper/initrd.lz
}

menuentry "启动kanas-mint LiveCD模式"  --class linuxmint {
        insmod ntfs
              set root='(hd0,2)'
        loopback loop (hd0,2)/kanas-mint.iso
        linux (loop)/casper/vmlinuz file=/cdrom/preseed/mint.seed boot=casper persistent iso-scan/filename=/kanas-mint.iso splash
        initrd (loop)/casper/initrd.lz
}

menuentry "启动linuxmint-9-kde LiveCD模式"  --class linuxmint {
        insmod ntfs
              set root='(hd0,2)'
        loopback loop (hd0,2)/linuxmint-kde.iso
        linux (loop)/casper/vmlinuz file=/cdrom/preseed/mint.seed boot=casper persistent iso-scan/filename=/linuxmint-kde.iso splash
        initrd (loop)/casper/initrd.lz
}

menuentry "启动linuxmint-9-gnome LiveCD模式"  --class linuxmint {
        insmod ntfs
              set root='(hd0,2)'
        loopback loop (hd0,2)/linuxmint-gnome.iso
        linux (loop)/casper/vmlinuz file=/cdrom/preseed/mint.seed boot=casper persistent iso-scan/filename=/linuxmint-gnome.iso splash
        initrd (loop)/casper/initrd.lz
}
menuentry "启动linuxmint-10-kde LiveCD模式"  --class linuxmint {
        insmod ntfs
              set root='(hd0,2)'
        loopback loop (hd0,2)/linuxmint-10-kde.iso
        linux (loop)/casper/vmlinuz file=/cdrom/preseed/mint.seed boot=casper persistent iso-scan/filename=/linuxmint-10-kde.iso splash
        initrd (loop)/casper/initrd.lz
}
menuentry "启动linuxmint-fluxbox LiveCD模式"  --class linuxmint {
        insmod ntfs
              set root='(hd0,2)'
        loopback loop (hd0,2)/linuxmint-fluxbox.iso
        linux (loop)/casper/vmlinuz file=/cdrom/preseed/mint.seed boot=casper persistent iso-scan/filename=/linuxmint-fluxbox.iso splash
        initrd (loop)/casper/initrd.lz
}
menuentry "启动linuxmint-xfce LiveCD模式"  --class linuxmint {
        insmod ntfs
              set root='(hd0,2)'
        loopback loop (hd0,2)/linuxmint-xfce.iso
        linux (loop)/casper/vmlinuz file=/cdrom/preseed/mint.seed boot=casper persistent iso-scan/filename=/linuxmint-xfce.iso splash
        initrd (loop)/casper/initrd.lz
}
menuentry "启动linuxmint-11-lxde LiveCD模式"  --class linuxmint {
        insmod ntfs
              set root='(hd0,2)'
        loopback loop (hd0,2)/linuxmint-lxde.iso
        linux (loop)/casper/vmlinuz file=/cdrom/preseed/mint.seed boot=casper persistent iso-scan/filename=/linuxmint-lxde.iso splash
        initrd (loop)/casper/initrd.lz
}
menuentry "启动linuxmint-11-gnome LiveCD模式"  --class linuxmint {
        insmod ntfs
              set root='(hd0,2)'
        loopback loop (hd0,2)/linuxmint-11-gnome.iso
        linux (loop)/casper/vmlinuz file=/cdrom/preseed/mint.seed boot=casper persistent iso-scan/filename=/linuxmint-11-gnome.iso splash
        initrd (loop)/casper/initrd.lz
}

我的ylmf.cfg子菜单
menuentry "启动雨林木风Ylmf_OS_3.0 LiveCD模式"    --class ylmf {
        insmod ntfs
              set root='(hd0,2)'
        loopback loop (hd0,2)/Ylmf2.iso
        linux (loop)/casper/vmlinuz boot=casper iso-scan/filename=/Ylmf2.iso locale=zh_CN.UTF-8 noprompt noeject splash
        initrd (loop)/casper/initrd.img
}


menuentry "启动雨林木风ylmf_os4-20110222 LiveCD模式"    --class ylmf {
        insmod ntfs
              set root='(hd0,2)'
        loopback loop (hd0,2)/Ylmf3.iso
        linux (loop)/casper/vmlinuz boot=casper iso-scan/filename=/Ylmf3.iso locale=zh_CN.UTF-8 noprompt noeject splash
        initrd (loop)/casper/initrd.img
}


menuentry "启动雨林木风ylmf_os4-20110326 LiveCD模式"    --class ylmf {
        insmod ntfs
              set root='(hd0,2)'
        loopback loop (hd0,2)/Ylmf4.iso
        linux (loop)/casper/vmlinuz boot=casper iso-scan/filename=/Ylmf4.iso locale=zh_CN.UTF-8 noprompt noeject splash
        initrd (loop)/casper/initrd.img
}


menuentry "启动雨林木风ylmf_os4-20110510 LiveCD模式"    --class ylmf {
        insmod ntfs
              set root='(hd0,2)'
        loopback loop (hd0,2)/Ylmf5.iso
        linux (loop)/casper/vmlinuz boot=casper iso-scan/filename=/Ylmf5.iso locale=zh_CN.UTF-8 noprompt noeject splash
        initrd (loop)/casper/initrd.img
}


menuentry "启动雨林木风ylmf_os_4.0 LiveCD模式"    --class ylmf {
        insmod ntfs
              set root='(hd0,2)'
        loopback loop (hd0,2)/Ylmf6.iso
        linux (loop)/casper/vmlinuz boot=casper iso-scan/filename=/Ylmf6.iso locale
=zh_CN.UTF-8 noprompt noeject splash
        initrd (loop)/casper/initrd.img
}

menuentry "启动雨林木风ylmf_os4-20110830LiveCD模式"    --class ylmf {
        insmod ntfs
              set root='(hd0,2)'
        loopback loop (hd0,2)/Ylmf7.iso
        linux (loop)/casper/vmlinuz boot=casper iso-scan/filename=/Ylmf7.iso locale=zh_CN.UTF-8 noprompt noeject splash
        initrd (loop)/casper/initrd.img
}

我的Deepin.cfg子菜单
menuentry "启动Deepin-9.12-final深度LiveCD模式"    --class ld {
        insmod ntfs
              set root='(hd0,2)'
        loopback loop (hd0,2)/deepin.iso
        linux (loop)/casper/vmlinuz boot=casper iso-scan/filename=/deepin.iso locale=zh_CN.UTF-8 noprompt noeject splash
        initrd (loop)/casper/initrd.lz
}

menuentry "启动LinuxDeepin v10.06.0 测试版深度Linux系统模式"    --class ld {
        insmod ntfs
              set root='(hd0,2)'
        loopback loop (hd0,2)/deepin1.iso
        linux (loop)/casper/vmlinuz boot=casper iso-scan/filename=/deepin1.iso locale=zh_CN.UTF-8 noprompt noeject splash
        initrd (loop)/casper/initrd.lz
}

menuentry "启动Deepin-10.06深度LiveCD模式"    --class ld {
        insmod ntfs
              set root='(hd0,2)'
        loopback loop (hd0,2)/deepin2.iso
        linux (loop)/casper/vmlinuz boot=casper iso-scan/filename=/deepin.iso
locale=zh_CN.UTF-8 noprompt noeject splash
        initrd (loop)/casper/initrd.lz
}

menuentry "启动deepin-10.12-beta-i386深度LiveCD模式"    --class ld {
        insmod ntfs
              set root='(hd0,2)'
        loopback loop (hd0,2)/deepin3.iso
        linux (loop)/casper/vmlinuz boot=casper iso-scan/filename=/deepin3.iso locale=zh_CN.UTF-8 noprompt noeject splash
        initrd (loop)/casper/initrd.lz
}

menuentry "启动deepin-10.12-i386深度LiveCD模式"    --class ld {

        insmod ntfs
              set root='(hd0,2)'
        loopback loop (hd0,2)/deepin4.iso
        linux (loop)/casper/vmlinuz boot=casper iso-scan/filename=/deepin4.iso locale=zh_CN.UTF-8 noprompt noeject splash
        initrd (loop)/casper/initrd.lz
}

menuentry "启动Linux Deepin 11.06深度LiveCD模式"    --class ld {
        insmod ntfs
              set root='(hd0,2)'
        loopback loop (hd0,2)/deepin5.iso
        linux (loop)/casper/vmlinuz boot=casper iso-scan/filename=/deepin5.iso locale=zh_CN.UTF-8 noprompt noeject splash
        initrd (loop)/casper/initrd.lz
}
menuentry "启动deepin_11.06.1_i386深度LiveCD模式"    --class ld {
        insmod ntfs
              set root='(hd0,2)'
        loopback loop (hd0,2)/deepin6.iso
        linux (loop)/casper/vmlinuz boot=casper iso-scan/filename=/deepin6.iso
locale=zh_CN.UTF-8 noprompt noeject splash
        initrd (loop)/casper/initrd.lz
}


我的puppy.cfg子菜单
menuentry "启动xbarbie_xfce-4.1-20081223-linux系统"  --class puppy {
        insmod ntfs
              set root='(hd0,2)'
              linux /puppy/vmlinuz pmedia=hd
              initrd /puppy/initrd.gz
}
menuentry "启动小芭比413-openbox-2009系统"  --class puppy {
        insmod ntfs
              set root='(hd0,2)'
              linux /puppy1/vmlinuz pmedia=hd
              initrd /puppy1/initrd.gz
}menuentry "启动puppy-420ebobo26291cn"  --class puppy {
        insmod ntfs
              set root='(hd0,2)'
              linux /puppy2/vmlinuz pmedia=hd
              initrd /puppy2/initrd.gz
}menuentry "启动小芭比421-cn-linux系统"  --class puppy {
        insmod ntfs
              set root='(hd0,2)'
              linux /puppy3/vmlinuz pmedia=hd

             initrd /puppy3/initrd.gz
}
menuentry "启动小芭比431之wine集成版系统"  --class puppy {
        insmod ntfs
              set root='(hd0,2)'
              linux /puppy4/vmlinuz pmedia=hd
              initrd /puppy4/initrd.gz
}
menuentry "启动小芭比432-cn-linux系统"  --class puppy {
        insmod ntfs
              set root='(hd0,2)'
              linux /puppy5/vmlinuz pmedia=hd
              initrd /puppy5/initrd.gz
}
menuentry "启动苏奇小芭比-linux系统"  --class puppy {
        insmod ntfs
              set root='(hd0,2)'
              linux /puppy6/vmlinuz pmedia=hd
              initrd /puppy6/initrd.gz
}
menuentry "启动puppy520_cn_pps-linux系统"  --class puppy {
        insmod ntfs
              set root='(hd0,2)'

             linux /puppy7/vmlinuz pmedia=hd
              initrd /puppy7/initrd.gz
}
menuentry "启动PUPPY525PAE-linux系统"  --class puppy {
        insmod ntfs
              set root='(hd0,2)'
              linux /puppy8/vmlinuz pmedia=hd
              initrd /puppy8/initrd.gz
}
menuentry "启动Mac OS X风格的Macis Puppy 525 Linux系统"  --class puppy {
        insmod ntfs
              set root='(hd0,2)'
              linux /mac/vmlinuz pmedia=hd
              initrd /mac/initrd.gz
}
menuentry "启动小芭比X离子版macis-531系统"  --class puppy {
        insmod ntfs
              set root='(hd0,2)'
              linux /mac1/vmlinuz pmedia=hd
              initrd /mac1/initrd.gz
}
menuentry "启动启动qrky-130-linux系统"  --class puppy {

        insmod ntfs
              set root='(hd0,2)'
              linux /qrky/vmlinuz pmedia=hd
              initrd /qrky/initrd.gz
}
menuentry "title 【c】 启动xuppy-FF系统"  --class puppy {
        insmod ntfs
              set root='(hd0,2)'
              linux /xuppy/vmlinuz pmedia=hd
              initrd /xuppy/initrd.gz
}

我的veket.cfg子菜单
menuentry "启动a-linux-1.0-linux系统"  --class puppy {
        insmod ntfs
              set root='(hd0,2)'
              linux /veket/vmlinuz pmedia=hd
              initrd /veket/initrd.gz
}
menuentry "启动veket-2.39-linux系统"  --class puppy {
        insmod ntfs
              set root='(hd0,2)'
              linux /veket1/vmlinuz pmedia=hd
              initrd /veket1/initrd.gz
}
menuentry "启动veket-3.11-linux系统"  --class puppy {
        insmod ntfs
              set root='(hd0,2)'
              linux /veket2/vmlinuz pmedia=hd
              initrd /veket2/initrd.gz
}
menuentry "启动veket-5.29-linux系统"  --class puppy {
        insmod ntfs
              set root='(hd0,2)'

             linux /veket3/vmlinuz pmedia=hd
              initrd /veket3/initrd.gz
}
menuentry "启动e-veket-linux系统"  --class puppy {
        insmod ntfs
              set root='(hd0,2)'
              linux /e-veket/vmlinuz pmedia=hd
              initrd /e-veket/initrd.gz
}
menuentry "启动lucky8k-veket-1.2a系统"  --class puppy {
        insmod ntfs
              set root='(hd0,2)'
              linux /lucky8k//vmlinuz pmedia=hd
              initrd /lucky8k//initrd.gz
}
menuentry "启动lucky8k-veket-378r系统"  --class puppy {
        insmod ntfs
              set root='(hd0,2)'
              linux /lucky8kr/vmlinuz pmedia=hd
              initrd /lucky8kr/initrd.gz
}
menuentry "启动lucky8k儿童操作系统"  --class puppy {

        insmod ntfs
              set root='(hd0,2)'
              linux /lucky8kr1/vmlinuz pmedia=hd
              initrd /lucky8kr1/initrd.gz
}
menuentry "启动微型芭比puppy桌面系统"  --class puppy {
        insmod ntfs
              set root='(hd0,2)'
              linux /puppy/vmlinuz pmedia=hd
              initrd /puppy/initrd.gz
}


我的WXlinux.cfg子菜单

menuentry "运行无线破解 beini-1.0-rc5.2系统" --class windows {
        set root='(hd0,1)'
        linux16 /burg/memdisk iso raw
        initrd16 /TYPE/Beini2.iso
}
menuentry "无线破解bt6系统" --class windows {
        set root='(hd0,1)'
        linux16 /burg/memdisk iso raw
        initrd16 /TYPE/bt6.iso
}
menuentry "运行cdlinux0.9.6.1万能无线破解系统"  --class puppy {
        insmod ntfs
              set root='(hd0,2)'
              linux /CDlinux/bzImage CDL_LANG=zh_CN.UTF-8 CDL_DIR=/CDlinux
initrd /CDlinux/initrd
}

menuentry "运行cdlinux0.9.6.1社区版"  --class puppy {
        insmod ntfs
              set root='(hd0,2)'
              linux /CDlinux1/bzImage CDL_LANG=zh_CN.UTF-8 CDL_DIR=/CDlinux1
initrd /CDlinux1/initrd
}
menuentry "GeeXBox免费影音系统" --class windows {
        set root='(hd0,1)'
        linux16 /burg/memdisk iso raw
        initrd16 /TYPE/GeexBox.ISO
}
menuentry "启动GeexBox多媒体系统"  --class puppy {
        insmod ntfs
              set root='(hd0,2)'
              linux/geexbox/vmlinuz root=/dev/ram0 rw lang=zh_CN remote=atiusb receiver=atiusb keymap=qwerty splash=silent vga=789 video=vesafb:ywrap,mtrr quiet
initrd /geexbox/initrd.gz
}
menuentry "启动easeboot vod视频点播系统"  --class puppy {
        insmod ntfs

              set root='(hd0,2)'
              linux /easeboot/bzImage root=/dev/ram0 vga=771 ramdisk_size=100000
initrd /easeboot/rootfs.gz
}

menuentry "启动slitazcn Linux系统"  --class puppy {
        insmod ntfs
              set root='(hd0,2)'
              linux /Slitaz/boot/bzImage root=/dev/ram0 vga=771 ramdisk_size=100000
initrd /Slitaz/boot/rootfs.gz
}
menuentry "启动slitazcn Linux开发版系统"  --class puppy {
        insmod ntfs
              set root='(hd0,2)'
              linux /Slitaz1/boot/bzImage root=/dev/ram0 vga=771 ramdisk_size=100000
initrd /Slitaz1/boot/rootfs.gz
}

点评

我的使用loopback命令就会提示没有此命令,别的命令正常怎么回事??求指教  发表于 2017-4-21 16:54
我想用winly在efi32的平板上整体启动呜啦啦的UD-WLL多功能系统,该怎么写菜单  详情 回复 发表于 2016-7-5 17:03
收藏!收藏!  发表于 2013-5-27 08:28
回复

使用道具 举报

推荐
发表于 2014-6-6 10:48:28 | 只看该作者
请问一下:
bios主板下光驱引导是这样
   先引导winly.bin(iso引导含核心) -->winly.cfg(菜单)-风格包 -->启动系统

那EFI主板有没有光驱引导
有的话,也是winly.bin-->winly.cfg
还是bootx64.efi-->winly.bin-->winly.cfg
回复

使用道具 举报

推荐
发表于 2013-5-13 14:05:56 | 只看该作者
期待功能强大的,可以直接拿来用……。
回复

使用道具 举报

推荐
发表于 2013-5-13 14:00:03 | 只看该作者
哦哦,这个要支持~
回复

使用道具 举报

推荐
发表于 2013-5-13 11:29:27 | 只看该作者
支持楼上的…强贴应该要置顶
回复

使用道具 举报

推荐
发表于 2016-6-26 21:59:29 | 只看该作者
本帖最后由 wintoflash 于 2016-6-26 22:01 编辑
meoit 发表于 2016-6-26 21:26
WinToFlash. Thanks for your reply.

By the way, please reply to me: How can I change the default p ...


refer to this http://bbs.wuyou.net/forum.php?m ... &extra=page%3D6
You should rebuild g2ldr or bootx64.efi with grub-mkimage
在linux下用# grub-mkimage --output=./core.img -c config.cfg --format=i386-pc biosdisk part_msdos fat ntfs ext2 search_fs_file
自定制core.img嵌入以下config.cfg文件,
/////////////////////////////////////////
set cfgfile="/boot/grub/grub.cfg"
search.file $cfgfile root
set prefix=($root)/boot/grub
//////////////////////////////////////////

Edit config.cfg , replace set cfgfile="/boot/grub/grub.cfg" with  set cfgfile="/Boot/MyMenu/Menu.cfg" ,and then run grub-mkimage --output=.\core.img -c config.cfg --format=i386-pc biosdisk part_msdos fat ntfs ext2 search_fs_file

点评

Thanks WinToFlash!. I build success Legacy ISO file with my custome the default path of Grub2 . I am make an UEFI ISO file, with main boot loader is Grub2. However, I can not chainloader successful  详情 回复 发表于 2016-6-29 18:37
回复

使用道具 举报

推荐
发表于 2016-6-26 18:38:16 | 只看该作者
本帖最后由 wintoflash 于 2016-6-26 19:01 编辑
meoit 发表于 2016-6-25 15:34
Nice share teasiu!.

With topic of LingLongX, I am make success:


Use OSCDimg or mkisofs
first , use UltraISO or Disk Genius , create "xxx.img" image file ,
copy bootia32.efi and bootx64.efi to xxx.img\EFI\BOOT\

then , use
  1. @echo off
  2. set intdir=.\iso_root
  3. set UbootFile=.\grub2.bin
  4. set output=.\boot.iso
  5. set CD_label=Boot
  6. OSCDimg -h -m -o -u2 -udfver102 -l%CD_label% -bootdata:1#pEF,e,b%UbootFile% %intdir% %output%
  7. echo Done!
  8. exit
复制代码


回复

使用道具 举报

推荐
发表于 2016-5-6 11:52:12 来自手机 | 只看该作者
可以设置grub2引导win7跳过键盘自检吗?
回复

使用道具 举报

推荐
 楼主| 发表于 2016-1-16 01:53:53 | 只看该作者
网启版的grub2出来了,欢迎大家试用并提供修改意见

点评

Can you make Winly PXE, UEFI custom build?  详情 回复 发表于 2016-1-17 19:59
回复

使用道具 举报

推荐
发表于 2013-5-22 00:27:00 | 只看该作者
我想請問~

支援鼠標嗎?

雖然只是短暫的選擇~但是可以提供更多的方便啊~
回复

使用道具 举报

13#
发表于 2013-5-13 09:48:39 | 只看该作者
GRUB2 for DOS非常好,有个问题想请教楼主:GRUB2本来就支持UEFI启动,不知楼主的GRUB2 for DOS是否支持UEFI启动,谢谢!

点评

grub4dos和grub不应该是一脉相承的么,只是过度一下不兼容的地方。 难道grub4dos和 grub2 4 dos,要做不同的分支么?  详情 回复 发表于 2013-7-13 07:08
已经制作UEFI版本,请下载使用  发表于 2013-5-17 08:09
这是要取代grub4dos了!  发表于 2013-5-13 10:18
未测试,但是可以制作支持版。  发表于 2013-5-13 10:07
回复

使用道具 举报

14#
发表于 2013-5-13 09:58:01 | 只看该作者
这个还不明白,不过,我们需要一个简单的东西:

1. 支持BIOS 和UEFI
2.支持整体启动ISO,IMG
3.硬盘,光盘通用
4.简单的菜单写法.

如实现如下功能:
无论是BIOS还是UEFI的情况下,都可以通过通过MS的BCD来引导GRUB2

光盘可以使用光盘的XXX.MBR 硬盘可以使用你提供这个XXXX.MBR来引导(能统一更好)

进入菜单后,可以选择加载各种ISO,IMG(最好可以DIR ,然后可以手工输入名称)

点评

UEFI的文件名支持改名字,然后自行通过编辑BSD来引导。文件已经可以下载了。  发表于 2013-5-17 08:11
回复

使用道具 举报

15#
发表于 2013-5-13 09:59:08 | 只看该作者
强烈支持!!热烈欢迎!!! 挺你!!!!!!!
回复

使用道具 举报

16#
发表于 2013-5-13 09:59:47 | 只看该作者
如果使用英文,没有那个字体文件行不行?

点评

如果你愿意还可以使用文泉驿或者雅黑字体,要使用grub2包中的字体转换命令,去archlinux的wikiian,对你有帮助,还有就是man info等!  发表于 2013-5-13 12:26
可以。  发表于 2013-5-13 10:05
回复

使用道具 举报

17#
发表于 2013-5-13 10:02:12 | 只看该作者
是否有bean大师的map?

点评

我暂时没有,你上传1个?  发表于 2013-5-13 10:06
回复

使用道具 举报

18#
发表于 2013-5-13 10:11:02 | 只看该作者
目前,GRUB4DOS,對BIOS啟動,已經相當完備,且持續更新中。但,對於UEFI啟動,GRUB4DOS已表明不支持,反倒GRUB2,在LINUX,已經能支持了,希望,GRUB2能強化,對UEFI的支持,如能直接啟動ISO、IMG的映像啟動。或者,可以從UFEI啟動,轉向引導G2LDR.MBR、GRLDR.MBR,再引導映像檔啟動。如能達成,GRUB2就能打開全新的康莊大道了。

点评

期待您制作UEFI的菜单范本给我,谢谢。  发表于 2013-5-17 08:14
回复

使用道具 举报

19#
发表于 2013-5-13 10:32:37 | 只看该作者
yynq 发表于 2013-5-13 10:13
给神雕! 注意查收!!

不客气!!!
回复

使用道具 举报

20#
发表于 2013-5-13 10:45:52 | 只看该作者
支持神雕,先搞个PXE版本的玩玩吧。
回复

使用道具 举报

21#
发表于 2013-5-13 10:54:06 | 只看该作者
强烈建议本贴置顶
回复

使用道具 举报

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

本版积分规则

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

闽公网安备 35020302032614号

GMT+8, 2019-4-20 16:12

Powered by Discuz! X3.3

© 2001-2017 Comsenz Inc.

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