110654 发表于 2015-11-27 14:07:27

菜鸟U盘个性化之路第5篇(下篇bios模式)

下面介绍bios 引导:
1.首先还是先分析引导过程
2.Bios模式引导下,电脑开机---
3.已设置U盘启动为先---
4.检测到U盘前64扇区引导是grub2
5.加载grub2的引导文件winlyldr
6.Winlyldr加载菜单文件winly文件夹下的winly.cfg
7.根据菜单文件winly.cfg加载背景图片及配置文件
8.已启动到菜单选择界面,根据自己的需要选择菜单

下面分别分析3个引导,(PE,ISO,IMG)文件的引导情况
Grub2同样具备grub4dos一样强大的全能引导功能。
在EFI分析中说了添加win8pe(天意PE3.0版),在efi模式添加的,同样可以应用该PE在bios模式下启动
1.Win8PE--bios模式引导情况是:
2.Bios模式引导下,电脑开机---
3.已设置U盘启动为先---
4.检测到U盘前64扇区引导是grub2
5.加载grub2的引导文件winlyldr
6.Winlyldr加载菜单文件winly文件夹下的winly.cfg
7.根据菜单文件winly.cfg加载背景图片及配置文件
8.已启动到菜单选择界面,我选择了win8pe菜单,菜单是这样写的
menuentry "启动windows8 pe(type)" --class windows --class os {
ntldr /boot/type/BOOTMGR
}
9.它加载了/boot/type/BOOTMGR,(boot文件夹下面的type文件夹下面的bootmgr文件)
10.Bootmgr是天意PE的引导文件,它指向了bcd菜单文件(boot文件夹下面的bcf文件)
11.Bcf菜单内容是
12.根据菜单中加载了对应的boot.wim文件及boot.sdi文件,启动PE.

下面说一下ISO文件加载过程
菜单中有一个启动 windows2003PE,由于这个2003PE很小巧(来自我心如水PE)只有70多M,直接加载iso更方便,不用去拆分ISO,分析他的引导过程。Grub2会以光驱的方式帮你去引导,需要memdisk。这个来完成
启动 windows2003PE过程是:
1.Win8PE--bios模式引导情况是:
2.Bios模式引导下,电脑开机---
3.已设置U盘启动为先---
4.检测到U盘前64扇区引导是grub2
5.加载grub2的引导文件winlyldr
6.Winlyldr加载菜单文件winly文件夹下的winly.cfg
7.根据菜单文件winly.cfg加载背景图片及配置文件
8.已启动到菜单选择界面,我选择了2003PE菜单,菜单是这样写的
menuentry "启动 windows2003PE" --class windows --class os {
      insmod part_msdos
      insmod fat
      set root='(hd0,msdos1)'
      linux16 (hd0,msdos1)/winly/memdisk iso raw
      initrd16 (hd0,msdos1)/winly/iso/2003_PE.ISO
}
9.根据菜单先加载了/winly/memdisk 及winly/iso/2003_PE.ISO(2003PE-ISO文件放在winly文件夹下的iso文件夹里面)
10.Grub2会帮你启动完成

接下来说一下img镜像文件加载过程:
Img文件引导跟iso是一样的原理。都属于镜像文件。区别在于菜单的写法不一样,如:
menuentry "启动 MHDD" {   #菜单
search --file /winly/memdisk --set=root   #加载memdisk
linux16/winly/memdisk            #运行memdisk
initrd16 /winly/img/MHDD.img          #利用memdisk运行MHDD.img
}
这里是指引导的是mhdd(硬盘检测工具dos版) 其中linux16/winly/memdisk 后面没有跟iso raw,(是不需要像光驱的方式启动)
但仍然需要memdisk 这个文件来加载img文件


下面介绍U盘的文件结构:
根目录图

Minipe文件夹=老毛撒手不管0911版XP PE(大小100M)

Fonts.gz=gurb引导时候字体文件
Ldrxpe=引导文件
Muifont.gz=PE字体文件
Ntcom=不知道
Op.wim=PE的镜像文件(核心)
PE=不知道
Winpe.ini=PE外部配置文件
Winpe.is_=不知道

Ubuntu文件夹=ubuntu12.04官方版,

Initrd.lz=引导文件,来自ubuntu-12.04.iso中的casper文件夹里提取
Vmlinuz.efi=引导文件,linux版本文件,来自ubuntu-12.04.iso中的casper文件夹里提取
Ubuntu-12.04.iso= Ubunt镜像文件12.04版,来自官方下载

Winly文件夹=bios引导gurb2的配置文件,菜单文件,工具,镜像保存位置。来自神雕作品

Img文件夹=存放各种DOS工具img镜像版,DOS环境运行。


Dsikgen.img=著名分区软件diskgens,DOS版,来自网上下载,


Dos98.img=深山红叶DOS工具箱,来自网上下载

Maxdos.img=迈思工作室出品的DOS工具箱,来自网上下载

MEMTEST.IMG=非常不错的内存条测试工具DOS版,来自网上下载

Mhdd.img=硬盘测试工具DOS版,来自网上下载

Password5.0.img=windows系统开机密码清除工具DOS版。来自网上下载

Rst442.img=内存条测试工具(主要用于1代.2代内存条测试老版),来自网上下载

SeaTools.ima=希捷硬盘官方测试工具DOS版,来自希捷官方下载

ISO文件夹=存放ISO启动的镜像文件

2003_pe.Iso=我心如水制作的PE.2003版
Themes文件夹=winly引导的风格包,配置文件及背景图片

Theme.txt=winly引导风格包配置文件,来自神雕作品

其中

这些数字大概意思就是调整

蓝色框住的地方的显示位置及大小,颜色等,根据自己的需要改变数值,或下载神雕作品,使用更好看的风格包。

为下图显示蓝色框内的调整


color = "#ADA9A5"这里的ADA9A5是指颜色的16进制表示,可用phostshop选择你喜欢的颜色,如下图点左边红色点出,再选择你喜欢的颜色:

这段代码:
# The navigation instructions
+ vbox {
    left = 5%
    top = 90%
    + label { text = "- 按上下键选择高亮菜单,按回车键启动" color = "#ADA9A5" font = "DejaVu Sans Regular 12" }
    + label { text = "- 按 'e' 键编辑所选菜单的命令行" color = "#ADA9A5" font = "DejaVu Sans Regular 12" }
    + label { text = "- 按 'c' 进入程序命令行" color = "#ADA9A5" font = "DejaVu Sans Regular 12" }
}
是指下图蓝色框内的显示内容调整及颜色



Memdisk=光驱模拟工具(个人理解为)
Notepad2.exe=文本编辑工具

Unicode.pf2=不知道
Winly.cfg=bios模式下引导的菜单文件
Winlyldr=grub2-bios模式下的引导文件,用与加载winly
Winlyldr.mbr=grub2-bios模式下的引导文件备份,用于还原分区的引导,引导丢失破坏时修复使用

最后说明一下神雕作品的菜单文件winly.cfg
原版作品中其实是以winly作为主引导,采用grub2方式。
我分开了用而已,
set menu_color_normal=white/black
set menu_color_highlight=black/light-gray
if background_color 44,0,30; then
这段代码是指菜单显示的文字颜色,及文本框大小。
set theme=($root)/winly/themes/winly/theme.txt这个是指加载风格包配置文件

在原版菜单中有个

这个else是用来区分引导的是EFI或者BIOS模式。不过我放弃了,分开了使用,所以EFI有单独的菜单文件,也可以显示不一样背景及配置文件
菜单项目部分引导说明
menuentry "启动 windowsxp-pe"{#菜单的显示名字
insmod part_msdos   
insmod fat   #设为FAT32文件格式
set root='hd0,msdos1'   #引导分区为HD0.MSDOS1(磁盘1,的第一分区)
ntldr /minipe/LDRXPE   #引导文件的路径
}
menuentry "启动windows7 pe" --class windows --class os {#菜单的显示名字
ntldr /boot/win7pe/BOOTMGR   #引导文件的路径
}
menuentry "启动windows8 pe(type)" --class windows --class os {   #菜单的显示名字
ntldr /boot/type/BOOTMGR   #引导文件的路径
}
menuentry "启动 windows2003PE" --class windows --class os {    #菜单的显示名字
      insmod part_msdos
      insmod fat
      set root='(hd0,msdos1)'   #设为FAT32文件格式
      linux16 (hd0,msdos1)/winly/memdisk iso raw   #引导文件的路径
      initrd16 (hd0,msdos1)/winly/iso/2003_PE.ISO   #引导文件的路径
}
menuentry "启动 MHDD" {    #菜单的显示名字
search --file /winly/memdisk --set=root   #引导文件的路径并启动
linux16/winly/memdisk   #引导文件的路径
initrd16 /winly/img/MHDD.img   #引导文件的路径
}
menuentry "启动 password" {   #菜单的显示名字
search --file /winly/memdisk --set=root#引导文件的路径并启动
linux16/winly/memdisk    #引导文件的路径
initrd16 /winly/img/PASSWORD5.0.IMG   #引导文件的路径
}

其实运用这些菜单,要多百度一下,举一反三的方式去测试,总会找到可以启动自己需要的菜单

110654 发表于 2015-11-27 14:09:02

本帖最后由 110654 于 2016-3-15 13:53 编辑

上半部分查看地址是菜鸟U盘个性化之路第5篇(上篇EFI模式)
http://bbs.wuyou.net/forum.php?mod=viewthread&tid=373275&fromuid=563355
(出处: 无忧启动论坛)

全部工具文件
http://pan.baidu.com/s/1bnM9izH下载地址已更新,2016-03-15

下载V5备份

lbw2007 发表于 2015-11-27 14:19:34

本帖最后由 lbw2007 于 2016-2-23 22:08 编辑

支持一下原创教程

PS:有空回来看了看,弄得如此完善,真是辛苦了。再次支持!

singel 发表于 2015-11-27 19:22:12

收藏之,有空慢慢看

moran 发表于 2015-11-27 21:36:39

支持一下,原创教程。

dfswb 发表于 2015-12-25 18:20:13

楼主有一个地方说得不清楚,没告诉小白怎么弄?U盘前64扇区引导是grub2,如何弄?

wjlovezzd 发表于 2015-12-30 17:30:27

收藏之,慢慢看

一代宗师 发表于 2016-1-4 15:36:03

看看先。

110654 发表于 2016-2-15 16:37:20

dfswb 发表于 2015-12-25 18:20
楼主有一个地方说得不清楚,没告诉小白怎么弄?U盘前64扇区引导是grub2,如何弄?

这个你需要去看神雕教材中如何安装的winly其实就是grubinst_gui.exe 在启动文件 那里输入了你要启动的文件名字而已

wjlovezzd 发表于 2016-2-15 17:30:26

支持一下原创教程
页: [1] 2
查看完整版本: 菜鸟U盘个性化之路第5篇(下篇bios模式)