无忧启动论坛

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

[原创] USB启动安装器 2枚 (GRUB2+Syslinux)经典再现

    [复制链接]
跳转到指定楼层
#
发表于 2013-4-19 21:16:15 | 只看该作者 |只看大图 回帖奖励 |正序浏览 |阅读模式
本帖最后由 2010teasiu 于 2013-4-20 01:31 编辑

我一直不太想把这个拿出来献丑,
考虑到互相学习的必要,就让大家来拍拍吧。

第一枚: GRUB2-2.00






看完图片了,是否有意想使用呢?

使用之前,认真读一下这个安装器的作用和使用方法.

首先,这个是GRUB2-2.00的源码编译的启动代码+NSIS安装程序编译而成的.

GRUB2源码出自 : http://ftp.gnu.org/gnu/grub/  采用linux编译
NSIS安装程序:http://sourceforge.net/projects/nsis/  windows下编译
编译方法:http://bbs.wuyou.net/forum.php?mod=viewthread&tid=191252

安装原理:
GRUB2在 linux下安装就很简单,3行命令搞定
  1. #mount /dev/sd[x][n] /mnt
  2. #grub-install --root-directory=/mnt /dev/sd[x]
  3. #umount /dev/sd[x][n]
复制代码
但是在windows下怎么安装呢?我费了好大的脑筋。
新的GRUB2-2.00的启动代码占位62扇区,大家熟悉的工具是GRUB2-1.98的,占46扇区,
所以,找不到新的工具来安装。
那我们就用恢复MBR的形式吧,
只要确保你的U盘启动位为63扇区就可以了。
我用NSIS编译了这个安装器,采用fbinst格式化你的U盘保证63扇区对齐,
然后采用恢复62个扇区的MBR,顺利启动!

使用教程:
我一直非常看好GRUB2,它的变化实在太多了,比如大家使用的BURG(fbinstool)也是它变化编译而来。
这里提供的只有一点点心得,希望其他网友也可以补充。
1、控制文档位置
在/boot/grub/grub.cfg

2、菜单写法:
菜单组成
  1. menuentry "菜单名称"
  2. {
  3. 命令
  4. }
复制代码
3、常用功能
     启动linux):
  1. menuentry "启动linux"
  2. {
  3. linux /bzImage
  4. initrd /initrd.gz
  5. }
复制代码
启动windows):
  1. menuentry "启动windows 2000& xp"
  2. {
  3. ntldr /ntldr
  4. }
  5. menuentry "启动windows 7& 8"
  6. {
  7. ntldr /bootmgr
  8. }
复制代码
整体启动iso):参考文档:http://www.syslinux.org/wiki/index.php/MEMDISK
  1. menuentry "启动PE镜像(示例)"  
  2. {
  3.         linux16 /memdisk iso raw  #这里需要下载一个memdisk在相对位置
  4.         initrd16 /WINPE.iso                                 
  5. }
复制代码
整体启动img镜像):
  1. menuentry "启动dos工具箱(示例)"  
  2. {
  3.         linux16 /memdisk img raw  #这里需要下载一个memdisk在相对位置
  4.         initrd16 /dos.img                                 
  5. }
复制代码
进入其他启动grub4dos):
  1.     menuentry "进入grub4dos菜单(示例)"
  2. {
  3.       linux16 /grub.exe --config-file=/menu.lst   
  4. }
复制代码
整体启动iso还可以这样写:
  1. menuentry "运行Windows PE(示例)另一种启动方式"
  2. {
  3.     linux16 /grub.exe --config-file="map /WINPE.iso (hd32) || map --mem /WINPE.iso (hd32); map --hook; chainloader (hd32); rootnoverify (hd32)"
  4.     initrd16 /WINPE.iso
  5. }
复制代码
启动dos模式下的小游戏):这个好怀旧啊
  1. menuentry "DOS下的小游戏"
  2. {
  3. multiboot /invaders.exec
  4. }
复制代码
3、背景和颜色设置:
背景支持jpg\png文件格式,比如
  1. insmod png
  2. set background=/boot/grub/1.png
复制代码
字体颜色
  1. set menu_color_normal=white/black
  2. set menu_color_highlight=black/light-gray
复制代码
参考文档:https://wiki.archlinux.org/index.php/GRUB2

4、可是使用风格让启动界面更显人性化
  1. set theme=/boot/grub/themes/slitaz/theme.txt
复制代码
风格包下载
slitaz.7z (278.6 KB, 下载次数: 378)

5、高级使用方法:
子菜单):
  1. submenu "子菜单"
  2. {
  3.    menuentry "子菜单1"
  4. {
  5.     命令
  6.   }
  7. menuentry "子菜单2"
  8. {
  9.    命令
  10.   }
  11. }
复制代码
分菜单):
  1. menuentry "运行第2张菜单"
  2. {
  3.    configfile "${prefix}/grub2.cfg"
  4.   }
复制代码
自动搜索(检测)功能):
比如说我的grub2.cfg这样写的:

  1. insmod regexp
  2. installation_found=false
  3. #查找电脑中任何一个分区的GRUB2
  4. for ins in (*)/boot/grub/i386-pc/core.img (*)/grub/i386-pc/core.img \
  5.            (*)/boot/grub2/i386-pc/core.img (*)/grub2/i386-pc/core.img \
  6.            (*)/boot/grub/core.img (*)/grub/core.img (*)/boot/grub2/core.img \
  7.            (*)/grub2/core.img; do
  8.   regexp --set=1:ins_device '^\((.*)\)/' "$ins"

  9.   if [ "$ins_device" != "cd" -a "$ins" != "${prefix}/core.img" -a \
  10.        "$ins" != "${prefix}/i386-pc/core.img" -a -e "$ins" ]; then
  11.     installation_found=true
  12. #如果存在,形成以下菜单并运行
  13.     menuentry "$ins" "$ins_device" "$ins" {
  14.       ins_device="$2"
  15.       ins="$3"

  16.       root="$ins_device"
  17.       multiboot "$ins"
  18.     }
  19.   fi
  20. done
  21. #如果不存在
  22. if [ "$installation_found" != true ]; then
  23.   echo "错误: 无法检测到你的电脑磁盘安装了GRUB2."
  24.   echo "按esc键返回主菜单."
  25.   sleep --interruptible 20 -v
  26. fi
复制代码
下载地址:

http://code.google.com/p/linux-p ... z-usb-installer.exe


写到这里,俺老雕打字真辛苦,看在辛苦的份上,收藏吧,支持吧。

评分

参与人数 16无忧币 +72 收起 理由
879792799 + 5 老雕大大辛苦了!
KURTWONG + 5 赞一个!
oldking + 5 赞一个!
小贝贝 + 5
saintbird + 5 很给力!
boy6585948 + 4 很给力!
zhanguser + 5 很给力!
ydsse + 5 神马都是浮云
colorain + 5 很给力!
2012wuyuvl + 5 赞一个!
qq296015668 + 1 很给力!
2012忘乎所以 + 5 赞一个!
wonggo + 5 很给力!
2011cwj6958 + 5 很给力!
hero8000 + 2 赞一个!
yesfei + 5 很给力!

查看全部评分

推荐
发表于 2013-4-19 22:37:27 | 只看该作者
2010teasiu 发表于 2013-4-19 21:16
(占位编辑中,请勿回复)
(占位编辑中,请勿回复)

没搞懂,是同样功能的2个工具,分别GRUB2启动和SYSLINUX启动方式?
回复

使用道具 举报

推荐
 楼主| 发表于 2013-4-19 21:16:45 | 只看该作者
本帖最后由 2010teasiu 于 2013-4-20 05:37 编辑

第2枚 syslinux
其实这2枚是可以合并在一起的,只要加上判断语句就可以做到1个安装器里面,
但是为了方便大家学习,还是不动这个念想了。






http://code.google.com/p/linux-p ... ail?name=tazusb.exe

点评

楼主在1、2楼提供的下载点只能下载一个网址,再打开该网站时已无法打开网页。  详情 回复 发表于 2014-2-6 22:39
回复

使用道具 举报

54#
发表于 2020-4-4 20:29:23 | 只看该作者
都被墙了的地址!
回复

使用道具 举报

53#
发表于 2019-12-31 11:55:20 | 只看该作者
赞一个!
回复

使用道具 举报

52#
发表于 2019-11-6 20:29:19 | 只看该作者
PXE引导选择菜单 GRUB2 如何写好呢?
回复

使用道具 举报

51#
发表于 2019-10-19 18:19:22 | 只看该作者
看的有点迷糊,还是谢谢大佬的教程
回复

使用道具 举报

50#
发表于 2018-10-6 21:19:49 | 只看该作者
谷歌上不去呀,哪位百度转发下呢!!
回复

使用道具 举报

49#
发表于 2018-8-3 09:07:35 | 只看该作者
神雕大侠非同凡响,大侠神作惊天动地。大侠请教[原创] 【2017.12.16】启动U盘简单手动制作BIOS+UEFI的syslinux/grub/boomgr/grub2互转这个帖子的方法能不能用大侠的NSIS实现呢?个人认为上贴是最好的U盘启动,我只会手动。如果大侠的编程做出上贴中U盘启动方法,或是U盘启动研究的一个小小的波澜。楼主不必上心,有闲暇时间看下就好。
回复

使用道具 举报

48#
发表于 2017-12-20 01:07:50 | 只看该作者
谷歌的文件下不了呀!
回复

使用道具 举报

47#
发表于 2016-8-11 13:40:11 | 只看该作者
一个字,牛
回复

使用道具 举报

46#
发表于 2016-8-11 13:20:11 | 只看该作者
下载不了了,更新一下吧。
回复

使用道具 举报

45#
发表于 2016-3-23 04:56:52 | 只看该作者

感谢大侠分享
回复

使用道具 举报

44#
发表于 2016-2-15 20:37:49 | 只看该作者
谢谢 看看
回复

使用道具 举报

43#
发表于 2016-2-15 09:23:57 | 只看该作者
应该更新一下了……
回复

使用道具 举报

42#
发表于 2015-12-23 17:26:35 | 只看该作者
感谢神雕大侠了!
回复

使用道具 举报

41#
发表于 2015-6-26 22:58:16 | 只看该作者
建议LZ把项目在Github上做个备份,谷歌访问有压力啊!!!速度太慢了!!!
回复

使用道具 举报

40#
发表于 2015-6-20 10:03:30 | 只看该作者
很好!无私的奉献!

回复

使用道具 举报

39#
发表于 2015-6-16 23:29:12 | 只看该作者
感谢大侠分享!!!
回复

使用道具 举报

38#
发表于 2015-5-17 18:39:51 | 只看该作者
不错


回复

使用道具 举报

37#
发表于 2015-4-22 16:50:28 | 只看该作者
神雕再现,这个要支持!
回复

使用道具 举报

36#
发表于 2015-4-15 08:04:53 | 只看该作者
嗯。。我表示关注
回复

使用道具 举报

35#
发表于 2015-4-15 00:28:01 | 只看该作者
这个我真的必须支持你了~!我顶
回复

使用道具 举报

34#
发表于 2014-2-24 08:18:58 | 只看该作者
谢谢雕侠精心制作!
回复

使用道具 举报

33#
发表于 2014-2-10 14:31:09 | 只看该作者
谢谢分享,大力支持
回复

使用道具 举报

32#
发表于 2014-2-9 10:17:42 | 只看该作者
非常的感谢~!一定要支持你一下!
回复

使用道具 举报

31#
发表于 2014-2-7 19:44:02 | 只看该作者

试试看怎样
回复

使用道具 举报

30#
发表于 2014-2-6 22:39:12 | 只看该作者
teasiu 发表于 2013-4-19 21:16
第2枚 syslinux
其实这2枚是可以合并在一起的,只要加上判断语句就可以做到1个安装器里面,
但是为了方便 ...

楼主在1、2楼提供的下载点只能下载一个网址,再打开该网站时已无法打开网页。
回复

使用道具 举报

29#
发表于 2014-1-20 11:44:02 | 只看该作者
本帖最后由 twomax 于 2014-1-20 11:45 编辑

想請教一下,想加入一個img檔
己做好usb碟,在目錄中加了一個memdisk資料夾,存放一個ATIH2014b6614TW64.IMA
改好gurb.cfg
==============================
menuentry "ATIH2014b6614TW64.IMA"     --class windows {
        set root='(hd0,1)'
        linux16 /memdisk img raw
        initrd16 /AATIH2014b6614TW64.IMA
}
===========================================
測試時出現錯誤如下:
http://wuyou.net/forum.php?mod=attachment&aid=MTg3NTQ2fDdjODcxZmIwMGZhNDdlYTVmNTZmZjRlNTIzZjE0NDM4fDE3NTY5NjM5NzA%3D&request=yes&_f=.jpg
http://wuyou.net/forum.php?mod=attachment&aid=MTg3NTQ3fGE4OWFjNjMyN2Y2ZGJiOWEyYTc4YWNlNzNiZGIwZWY4fDE3NTY5NjM5NzA%3D&request=yes&_f=.jpg

2.jpg (42.29 KB, 下载次数: 177)

2.jpg

1.jpg (57.94 KB, 下载次数: 172)

1.jpg
回复

使用道具 举报

28#
发表于 2014-1-17 00:11:12 | 只看该作者
真的不错
回复

使用道具 举报

27#
发表于 2013-7-16 11:13:56 | 只看该作者
楼主辛苦啦,赞一个!
回复

使用道具 举报

26#
发表于 2013-5-28 08:19:31 | 只看该作者
回复

使用道具 举报

25#
发表于 2013-5-27 16:24:05 | 只看该作者
资源下不来,不知如何。
第一枚与第二枚从图上看一个是磁盘版一个是USB版
不懂,继续XORLDR
回复

使用道具 举报

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

本版积分规则

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

闽公网安备 35020302032614号

GMT+8, 2025-9-4 13:32

Powered by Discuz! X3.3

© 2001-2017 Comsenz Inc.

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