无忧启动论坛

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

[发布] 菜鸟U盘个性化之路第5篇(上篇EFI模式)

  [复制链接]
跳转到指定楼层
#
发表于 2015-11-27 13:52:07 | 只看该作者 |只看大图 回帖奖励 |正序浏览 |阅读模式

转眼使用U盘装系统什么的已经5年了,从只会使用别人的什么大白菜PE  天意PE啊 老毛桃PE啊 到现在能自己修改别人的PE  始终离不开各位大神发的帖子。
然而到第5篇,首先要感谢老毛桃,用你的PE已经5年了,那个撒手不管版还在用,虽然许多功能,软件都还很老。
再次要感谢无忧论坛 grub2区 一个叫神雕的。  感谢你的那篇帖子让我知道了菜鸟应该怎么用grub2
还要感谢无忧论坛uefi区版主,是你的帖子让我等菜鸟知道了什么是uefi
还要感谢天意PE,用你的PE很多年了。
还有很多论坛的大神帖子。无法一一表述了。
正文:

前面4篇的U盘我都有写过U盘的功能与结构,并没有以最详细的角度来表述这个U盘的详细情况。
这此帖子我将详细分析U盘的每个文件及用途。当然由于技术,知识有限可能理解或者分析错误。请见谅。
5U盘采用grub2作为主引导。UEFIbios引导分别用2个菜单来控制。使用的是无忧论坛不记得是谁发布的(efi-grub2 模版)作为EFI的引导。 还有神雕发布的winlygrub2的引导作为bios的引导。由于2个都是grub2  所以兼容很好。
我的U盘主要是有这几点
1.个性化,
2.U盘根目录文件及文件夹很清晰明了。
3.U盘不用格式化,自由添加你需要的PElinux
4.不用量产,不用分区,我还要继续存储文件。
5。一个U盘尽量的解决自己的全部需求。
6。自己更换背景,修改显示菜单。


先看一下bios引导初步效果图:


EFI引导效果图:


U盘根目录结构


菜单文件路径及内容EFI引导


EFI菜单内容:
set pager=1
insmod all_video
insmod video_bochs
insmod video_cirrus
insmod efi_gop
insmod efi_uga
insmod font
insmod fat
insmod chain
insmod gfxterm
insmod gfxmenu
insmod gettext
insmod search_fs_uuid
insmod search_fs_file
insmod part_gpt
insmod halt
insmod reboot
insmod jpeg
insmod png
#加载unicode字体显示中文
loadfont /boot/bad_os_grub2/fonts/unicode.pf2
set locale_dir=/boot/bad_os_grub2/locale
set lang=zh_CN
#设置分辨率
set gfxmode=auto
terminal_output gfxterm
background_image /boot/bad_os_grub2/uefi/1957.png
#倒计时
set timeout=20
#颜色
set color_normal=white/black    #正常显示颜色 白/
set color_highlight=white/cyan  #突出显示颜色 白/
menuentry "启动UEFI shell模式" --class windows --class os {
        insmod part_msdos
        insmod fat
        chainloader /efi/boot/Shell.efi
}
menuentry "启动windows pe" {
search --file /efi/type.efi --set=root
chainloader /efi/type.efi
}
menuentry "UEFI Clover四叶草引导苹果系统" {
search --file /efi/clover_boot/bootx64.efi --set=root
chainloader ($root)/efi/clover_boot/bootx64.efi
}
menuentry "Try Ubuntu without installing" {
        set gfxpayload=keep
        linux        /ubuntu/casper/vmlinuz.efi  file=/ubuntu/preseed/ubuntu.seed boot=/ubuntu/casper quiet splash --
        initrd /ubuntu/casper/initrd.lz
}

menuentry "Ubuntu麒麟系统安装到电脑" {
search --file /casper/vmlinuz.efi --set=root
        set gfxpayload=keep
        linux        ($root)/casper/vmlinuz.efi  file=/cdrom/preseed/ubuntu.seed boot=casper only-ubiquity quiet splash --
        initrd        ($root)/casper/initrd.lz
}
menuentry "启动CentOS LiveCD系统" {
search --file /efi/boot/grubx64.efi --set=root
chainloader ($root)/efi/boot/grubx64.efi
}
menuentry "重启"{
reboot
}
menuentry "关机"{
halt
}

EFIBIOS其实可以分开去看,先看EFI
无忧论坛UEFI区版主所写
UEFI模块包含的文件逐个分析及其引导流程
-----------------对于UEFI启动本身来说,这些文件是必需的
----------------- 对于传统BIOS引导光盘来说,这些文件是制作时必需的
----------------- 对于传统BIOS引导光盘来说,这些文件是引导时必需的
-----------------对于UEFI引导光盘来说,这些文件是制作时必需的
-----------------对于UEFI引导光盘来说,这些文件是引导时必需的
UEFI_MSPE-------------在磁盘介质上,通过UEFI启动 Windows PE 系统,这些文件是必需的
UEFI_MSHD-------------在磁盘介质上,通过UEFI启动 Windows 硬盘系统,这些文件是必需的
==================================================这些文件意义和用途:
(本说明用法:你需要查询某个文件的用处,直接找那个文件;或者你需要做什么,从上方认识标示,从本说明标示入手)
根目录
├─boot --------------------------------启动文件目录 UEFI_MSPE +
│ │ BCD --------------------------------传统BIOS启动所需BCD菜单文件
│ │ boot.sdi --------------------------------UEFI/BIOS启动都需要 UEFI_MSPE + +
│ ├─fonts --------------------------------传统BIOS启动字体文件目录(不影响启动)
│ │ chs_boot.ttf
│ │ wgl4_boot.ttf
│ └─zh-cn --------------------------------传统BIOS启动中文显示用的目录(不影响启动)
│ bootmgr.exe.mui
├─efi--------------------------------UEFI启动目录 + UEFI_MSPE + UEFI_MSHD + │ ├─zh-cn --------------------------------UEFI启动中文显示用的目录(不影响启动)
│ │ bootia32.efi.mui
│ │ bootx64.efi.mui
│ ├─boot--------------------------------UEFI启动文件目录 + UEFI_MSPE + UEFI_MSHD +
│ │ bootia32.efi--------------------------------IA32构架的启动文件 + UEFI_MSPE + UEFI_MSHD + │ │ bootx64.efi--------------------------------X64构架的启动文件 + UEFI_MSPE + UEFI_MSHD +
│ └─microsoft-------------------------------UEFI启动目录 UEFI_MSPE + UEFI_MSHD +
│ ├─fonts --------------------------------UEFI启动中文字体文件目录(不影响启动)
│ │ chs_boot.ttf
│ │ wgl4_boot.ttf
│ └─boot---------------------------------UEFI启动菜单目录 UEFI_MSPE + UEFI_MSHD + │ BCD-------------------------------UEFI启动菜单 UEFI_MSPE + UEFI_MSHD +

│─MBR.bin ------------------------制作传统BIOS下的启动光盘上时的引导记录,负责引导Bootmgr,适合x64+x86
│─bootmgr -----------------------传统BIOS下的启动光盘的引导文件,适合x64+x86 │─UEFI_ALL.BIN-----------------制作UEFi启动光盘上时的引导记录(已处理),可以同时支持引导IA32+X64构架,直接读取\efi\microsoft\boot\bcd
│─winpe_x86.wim --------------------------------适合IA32构架的winPE,目前仅有Win8 x86 UEFI_MSPE ++
└─winpe_x64.wim --------------------------------适合X64构架的winPE,目前有Win7/8 x64 UEFI_MSPE+ +

然后来说UEFI启动 计算机默认引导的简要流程(引导windows为例):
---->>电脑开机(假设已经设置了UEFI为打开)
---->>启动模块根据启动项顺序依次查找所有
(FAT分区):\efi\boot\bootia32.efi(IA32构架的启动文件)
或者
(FAT分区):\efi\boot\bootx64.efi(X64构架的启动文件)
---->>加载\efi\microsoft\BCD 启动菜单文件
---->>按照BCD里面的内容进一步启动,整个过程和传统的BIOS相比,没有引导记录的参与,不错不错
提示:
以上的bootia32.efi,bootx64.efi 都是一个efi应用,不同的是使用在IA32或者X64构架(详见C部分)下。你可以选择任意一个efi应用文件,然后改名替代上面的文件。
这里加载\efi\microsoft\BCD 启动菜单文件是因为当前的efi文件的内容是微软写的,efi内容下一步就指向\efi\microsoft\BCD





下面分析U盘EFI引导的文件内容及作用。
其实只需要看U盘的boot及EFI 这2个根目录文件夹就可以了

Boot文件夹下面:

bad_os_grub2=grub2的引导菜单及配置文件,来自无忧论坛grub2-efi模版作者是忘记了  
type=天意PE3.0版支持EFI引导
win7x64=windows7 x64 微软原版ISO镜像文件提取的,这个其实可以不需要,但为了配合那篇EFI安装win8 可以用用。但这里有BUG。尚没有解决。
Win8pe=网上随便下载的win8pe  主要是更好的支持usb3.0 因U盘是3.0接口的
Bcd=bios引导win8pe的菜单指引文件
Bcf=bios引导天意pe的菜单指引文件


继续分析:

Bad_os_grub2这个文件夹下面
Fonts=字体文件夹
Local=字体 (具体不太清除,原作者没有说明书)
UEFI=EFI引导grub2的配置文件及菜单文件


Uefi文件夹里面:
X86_x64-efi=grub2模版的配置文件
1957.png=efi引导的菜单显示的背景图片,原尺寸是800*600像素
Grub.cfg=EFI引导下菜单文件


再看EFI文件夹:

Boot=grub2EFI引导的文件
Microsoft=efi引导过程需要加载的bcd菜单文件路径
Type.Efi=天意pe的引导文件(efi下)

继续分析:


Apps=efi shell模式的文件
Booia32.efi=gurb2-EFI引导下32位版引导文件
Bootx64.efi=gurb2-efi模式引导下64位版
Shell.efi=EFI模式下efi shell模式的引导文件


这里只有一个bcd文件 =EFI引导下进入windows-PE需要加载的菜单文件
(后面有说明如何修改)

EFI引导过程介绍:G:=U盘盘符
看菜单第一个是efi shell模式
电脑开机---
EFI引导---
G:\efi\boot\bootx64.efi------
加载菜单G:\boot\bad_os_grub2\uefi\grub.cfg------
加载配置文件G:\boot\bad_os_grub2\fonts\-----
你选了第一个菜单---
加载菜单配置的路径引导文件G:\efi\boot\shell.efi-----
加载配置文件G:\efi\boot\apps\
完成。。。。


看菜单第2个是windows-PE  G:=U盘盘符
电脑开机
EFI引导
G:\efi\boot\bootx64.efi------
加载菜单G:\boot\bad_os_grub2\uefi\grub.cfg------
加载配置文件G:\boot\bad_os_grub2\fonts\-----
你选了第二个菜单---
加载菜单配置的路径引导文件G:\efi\type.efi
接着加菜bcd菜单G:\efi\microsoft\boot\bcd
跳转windows 启动菜单选择栏。

如果你选择第1
加载
启动PE了。。。

其他的EFI菜单原理类似,不多介绍了。

下面介绍本U盘重点,就是修改bcd,再参考了N个文章及帖子后终于找到一丝线索适合我等菜鸟运用。原文
【转】如何编辑BCD文件给WIN7光盘添加PE启动引导菜单
二、使用BCDEDIT.EXE编辑BCD文件
BCDEDIT.EXE文件是WIN7系统自带的。XP下没有,WIN7 PE有没有要看PE制作者是否保留它。
下面开始实例操作。例子是给WIN7光盘添加双PE32PE3.064PE3.0
WIN7光盘的BOOT目录提取到F盘(F盘为例)
1、在F盘建一个CMD为后缀的批处理文件。名称:A.cmd,内容如下,并执行。
set path=f:\boot\bcd
bcdedit /store %path%
bcdedit /store %path% /timeout 20
bcdedit /store %path% /set {globalsettings} locale zh-cn
bcdedit /store %path% /set {bootloadersettings} locale zh-cn
bcdedit /store %path% /set {bootmgr} locale zh-cn
bcdedit /store %path% /set {default} locale zh-cn
bcdedit /store %path% /set {memdiag} locale zh-cn
bcdedit /store %path% /set {default} description "安装 Windows 7"
bcdedit /store %path% /copy {default} /d "启动 WinPE 3.0 (64)"
bcdedit /store %path% /copy {default} /d "启动 WinPE 3.0 (32)"
PAUSE

2、新建一个PEenum_all.cmd文件,内容如下:
bcdedit /store F:\boot\bcd /enum all >bcd.txt
pause
3、查看F盘是否有一个BCD.TXT文件。这个文件的部分内容如下(蓝色与绿色字细看一下):
Windows 启动管理器
---------------
标识符 {bootmgr}
description Windows Boot Manager
locale zh-cn
inherit {globalsettings}
default {default}
displayorder {default}
{18422457-4f48-11e2-a83a-003018a02f3b}
{1852d4cd-4f48-11e2-a83a-003018a02f3b}
toolsdisplayorder {memdiag}

timeout 20
Windows 启动加载器
-------------------
标识符 {18422457-4f48-11e2-a83a-003018a02f3b} 注:这一串数据随机产生的,你的不会跟例子一样的。
device ramdisk=[boot]\sources\boot.wim,{7619dcc8-fafe-11d9-b411-000476eba25f}
path \windows\system32\boot\winload.exe
description 启动 WinPE 3.0 (64)
locale zh-cn
inherit {bootloadersettings}
osdevice ramdisk=[boot]\sources\boot.wim,{7619dcc8-fafe-11d9-b411-000476eba25f}
systemroot \windows
detecthal Yes
winpe Yes
ems Yes
Windows 启动加载器
-------------------
标识符 {1852d4cd-4f48-11e2-a83a-003018a02f3b}
device ramdisk=[boot]\sources\boot.wim,{7619dcc8-fafe-11d9-b411-000476eba25f}
path \windows\system32\boot\winload.exe
description 启动 WinPE 3.0 (32)
locale zh-cn
inherit {bootloadersettings}
osdevice ramdisk=[boot]\sources\boot.wim,{7619dcc8-fafe-11d9-b411-000476eba25f}
systemroot \windows
detecthal Yes
winpe Yes
ems Yes
Windows 启动加载器
-------------------
标识符 {default}
device ramdisk=[boot]\sources\boot.wim,{7619dcc8-fafe-11d9-b411-000476eba25f}
path \windows\system32\boot\winload.exe
description 安装 Windows 7
locale zh-cn
inherit {bootloadersettings}
osdevice ramdisk=[boot]\sources\boot.wim,{7619dcc8-fafe-11d9-b411-000476eba25f}
systemroot \windows
detecthal Yes
winpe Yes
ems Yes



注意一下,启动 WinPE 3.0 (64)和启动 WinPE 3.0 (32)各自所在的段落的标识符是不一样的。下面会用到它。你编辑时,这些标识符不一定跟例子中的一样,不要照复制我这里例子中的标识符。
4、再建一个B.CMD文件,内容如下,并执行。注意,颜色蓝色表示64位的,绿色表示32位的,好让大家更容易理解。
set bcd_path=f:\boot\bcd
set dev={7619dcc8-fafe-11d9-b411-000476eba25f}
REM 下面2行是X64的,boot\pe_x64.wim表示将引导boot目录下的pe_x64.wim文件。
REM  {18422457-4f48-11e2-a83a-003018a02f3b} 就是标识符,要跟上述查看BCD文件时要一致。
bcdedit /store %bcd_path% /set {18422457-4f48-11e2-a83a-003018a02f3b} device ramdisk=[boot]\boot\pe_x64.wim,%dev%
bcdedit /store %bcd_path% /set {18422457-4f48-11e2-a83a-003018a02f3b} osdevice ramdisk=[boot]\boot\pe_x64.wim,%dev%
REM 下面2行是X86的,boot\pe_x86.wim表示将引导boot目录下的pe_x86.wim文件。
bcdedit /store %bcd_path% /set {1852d4cd-4f48-11e2-a83a-003018a02f3b} device ramdisk=[boot]\boot\pe_x86.wim,%dev%
bcdedit /store %bcd_path% /set {1852d4cd-4f48-11e2-a83a-003018a02f3b} osdevice ramdisk=[boot]\boot\pe_x86.wim,%dev%
pause


注意点:怎么运用他说的这个。我等菜鸟根本不会什么bcdedit命令。为何要修改bcd,主要是因为booticeExe这个工具虽然有添加及编辑bcd菜单的功能,但是无法修改guid,就无法通过那个什么安全登录。就会报错,即使你用bootice添加一个菜单上去,路径指向都正确了,为何启动不了?是因为guid对不上,用bcdedit命令却可以修改guid
但是可以套用

先理一下思路,意思就是添加几个菜单项目,然后通过命令来分别把这几个菜单(添加的)guid修改成原来那个,注意看原文中修改的命令:


7619开头guid号那个去对比之前导出成.txt文本的那个下面这个图就是原文导出的txt,从这里可以看出他说修改18422457-4f48-11e2-a83a-003018a02f3b 这个相当于添加后2个菜单的第1个添加的菜单的guid号,那么上面7619dcc8-fafe-11d9-b411-000476eba25f这个相当于没有添加菜单的适合默认的guid。在使用他这个修改命令菜单时候要注意核对自己导出的文本中的guid号,并且还要跟上命令中前半段如:










评分

参与人数 2无忧币 +10 收起 理由
dfswb + 5 很给力!
freesoft00 + 5

查看全部评分

17#
发表于 2024-9-14 14:43:30 | 只看该作者
强大的不得了
回复

使用道具 举报

16#
发表于 2016-10-9 23:23:48 | 只看该作者
太好了,感谢楼主写这么详细的教程,找到了很多有用的东西,另外楼主的背景图片都不错,能否分享下
回复

使用道具 举报

15#
发表于 2016-4-26 19:51:39 | 只看该作者
110654 发表于 2015-11-27 14:10
下半部分查看地址是:

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

威武。难望君之项背
回复

使用道具 举报

14#
发表于 2016-4-26 19:51:35 | 只看该作者
110654 发表于 2015-11-27 14:10
下半部分查看地址是:

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

威武。难望君之项背
回复

使用道具 举报

13#
发表于 2016-3-16 17:15:26 | 只看该作者
110654 发表于 2016-3-15 13:25
哦  由于好的,你稍后查看,我会更新一下

多谢楼主!!
回复

使用道具 举报

12#
 楼主| 发表于 2016-3-15 13:25:22 | 只看该作者
fendo8888 发表于 2016-3-14 18:38
楼主连接失效了。。。能再提供个地址吗。谢谢

哦  由于好的,你稍后查看,我会更新一下

点评

多谢楼主!!  详情 回复 发表于 2016-3-16 17:15
回复

使用道具 举报

11#
发表于 2016-3-14 18:38:25 | 只看该作者
110654 发表于 2015-11-27 14:10
下半部分查看地址是:

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

楼主连接失效了。。。能再提供个地址吗。谢谢

点评

哦 由于好的,你稍后查看,我会更新一下  详情 回复 发表于 2016-3-15 13:25
回复

使用道具 举报

10#
发表于 2015-12-30 17:30:11 | 只看该作者
收藏之,慢慢看
回复

使用道具 举报

9#
发表于 2015-12-26 16:01:42 | 只看该作者
但楼主BCD没有像教程那样修改,得自己动手修改!
回复

使用道具 举报

8#
发表于 2015-12-26 16:00:39 | 只看该作者
写得不错,直接grub2双启动,支持BIOS和UEFI启动!
回复

使用道具 举报

7#
发表于 2015-12-25 11:40:05 | 只看该作者
写得不错的说……
回复

使用道具 举报

6#
发表于 2015-12-3 12:36:15 | 只看该作者
LZ给力啊,很全面啊!!!
回复

使用道具 举报

5#
发表于 2015-11-27 23:44:38 | 只看该作者
写得不错的说……
回复

使用道具 举报

4#
发表于 2015-11-27 22:18:00 | 只看该作者
收藏之,慢慢看
回复

使用道具 举报

3#
发表于 2015-11-27 19:23:12 | 只看该作者
收藏之,慢慢看
回复

使用道具 举报

2#
 楼主| 发表于 2015-11-27 14:10:20 | 只看该作者
本帖最后由 110654 于 2016-3-15 13:51 编辑

下半部分查看地址是:

菜鸟U盘个性化之路第5篇(下篇bios模式)
http://bbs.wuyou.net/forum.php?m ... &fromuid=563355
(出处: 无忧启动论坛)

全部工具文件
http://pan.baidu.com/s/1bnM9izH  下载链接已更新,修复时间:2016-03-15

下载V5备份

点评

楼主连接失效了。。。能再提供个地址吗。谢谢  详情 回复 发表于 2016-3-14 18:38
回复

使用道具 举报

1#
 楼主| 发表于 2015-11-27 13:57:09 | 只看该作者
再理解就是说如果你用bootice添加菜单了,或者用bcdedit命令添加菜单了他会默认的把你添加的菜单的guid都变成这个默认的那个guid。
那么他这个命令修改带有guid意思就是通过修改对应的guid号来判断引导的是那个菜单
多看几次原文或者百度搜索如何编辑BCD文件给WIN7光盘添加PE启动引导菜单,就会有答案。
下面看我U盘自己修改内容:





菜单共3个 2个PE 其中一个是天意PE 一个是随便下载的PE,还有一个是原版win7x64镜像引导,以原来天意PE的bcd为基础修改的,后面2个都是添加的,经过测试是可以引导的。也在实体电脑上测试过,可以引导的。



EFI栏目快要说完了,最后说明一下菜单的编辑,grub2的菜单命令,我等菜鸟只能抄袭和盗用,哦,不 -- --- 应该是借鉴。
-
#加载unicode字体显示中文
loadfont /boot/bad_os_grub2/fonts/unicode.pf2
set locale_dir=/boot/bad_os_grub2/locale
set lang=zh_CN

#设置分辨率
set gfxmode=auto
terminal_output gfxterm
background_image /boot/bad_os_grub2/uefi/1957.png

#倒计时
set timeout=20

#颜色
set color_normal=white/black #正常显示颜色 白/黑
set color_highlight=white/cyan #突出显示颜色 白/蓝

这一段,作者都有说明,很好理解。感谢那个作者。
menuentry "启动UEFI shell模式" --class windows --class os { #=显示的菜单名字,修改""内
insmod part_msdos
insmod fat
chainloader /efi/boot/Shell.efi #=加载的文件路径
}
menuentry "启动windows pe" {
search --file /efi/type.efi --set=root
chainloader /efi/type.efi
}

这2个中代码基本看不懂,但可以这样去理解。
chainloader /efi/boot/Shell.efi 这个很明显可以理解为加载路径,相当于这个菜单引导什么东西,等于加载EFI文件夹下面的type.efi 文件

如果引导别的东西,改对应的就好了,如果EFI模式下,注意把.efi引导文件放在.efi文件夹里面。改个名字也可以的。例如我要加载一个win8pe,那么我要找到这个win8pe的引导文件是什么,一般EFI模式都是以.efi为后缀名,比如我下载的:


那这个bootia32.efi就是引导文件。添加这个pe进自己的菜单就可以把这个bootia32.efi改个名字好区分,比如win8pe。Efi, 把他放在根目录下的efi文件夹里,菜单写
menuentry "启动win8pe" {
search --file /efi/win8pe.efi --set=root
chainloader /efi/win8pe.efi
}
或者
menuentry "启动win8pe" --class windows --class os {
insmod part_msdos
insmod fat
chainloader /efi/win8pe.efi
}
启动后菜单选择win8pe,引导菜单指向了/efi/win8pe.efi文件,win8pe.ef又指向了\efi\microsoft\boot\bcd菜单文件,根据接下来bcd菜单的内容进行加载。


对于菜鸟来说,菜单写法最难搞,我呢收集了很多关于不同类型的写法。
注意efi模式下不适用于直接加载ISO,IMG等镜像文件。只能bios模式下使用

参考一下写还是可以的
如果我要引导的是一个引导文件,如bootmbr 这个文件就属于windows 或PE的一个引导文件他会指向后续的加载,我们的菜单只需要加载他就可以了
如:
menuentry "启动windows7 pe" --class windows --class os {
ntldr /boot/win7pe/BOOTMGR
}
但有些PE,他的引导文件是改了名字的,我下载了几个win7PE就是这样的,注意识别别人做的PE的引导文件是关键。如老毛桃之撒手不管0911版 的引导就是LDRXPE这个文件,没有后缀名。

可以这样:
menuentry "启动 windowsxp-pe"{
insmod part_msdos
insmod fat
set root='hd0,msdos1'
ntldr /minipe/LDRXPE
}
或者
menuentry "启动windows7 pe" --class windows --class os {
ntldr /boot/win7pe/ LDRXPE
}


如果我们要加载一个ISO文件
可以参考这样写
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
}

加载img镜像文件
menuentry "启动 MHDD" {
search --file /winly/memdisk --set=root
linux16 /winly/memdisk
initrd16 /winly/img/MHDD.img
}

加载ISO文件并引导需要memdisk,这个文件,linux16 (hd0,msdos1)/winly/memdisk iso raw这个命令不可少,需要注意这个文件存在的位置,根据自己的需要更改路径。IMG镜像文件一样的原理

启动Linux 一些参考
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 "启动雨林木风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 "【7】启动已安装的其他linux引导(如果有)" --class gnu-linux --class os {
insmod gzio
insmod part_msdos
insmod ext2
insmod ntfs
insmod probe
search --no-floppy --file --set=root /vmlinuz
configfile ($root)/boot/grub/grub.cfg
}
menuentry "【6】启动UEFI主板的windows系统(如果有)" --class windows --class os {
search --no-floppy --file --set=root /EFI/microsoft/boot/bootmgfw.efi
chainloader /EFI/microsoft/boot/bootmgfw.efi
}

到此EFI引导大致介绍差不多了,最后还要说一个重点的问题,EFI模式下
安装系统的方式很多种,U盘最方便,先整理一下安装系统思路,你会发现一个问题
1, 身边没有别的工具,U盘进PE后,有一个WIN8原版ISO镜像,我该怎么安装?
虚拟光驱挂载后,点击安装。Exe 肯定不行。
用windows安装器 安装后,开机无法启动windows,因为windows安装器安装是以bios方式安装的,他不会给你分区esp,难道要手动拆分,手动分区? 又不能直接引导win8 iso镜像来安装?
其实上面添加bcd方式是可以实现win8 安装引导,如果放某个文件夹下面呢可以引导,当你真的安装时候会说一个什么找不到驱动什么问题。要选择驱动文件夹。放在U盘根目录就不会报这个错误。但是我放弃了,为了保持u盘根目录 不会乱糟糟的。我宁愿手动。

于是百度了一下,发现一个手动安装方式:
http://jingyan.baidu.com/article/6766299764bda154d51b84b4.html?st=2&net_type=&bd_page_type=1&os=0&rst=&word=uefibios

当然如果你看到了efi文件结构,可以自己手动分区,并用windows安装器安装后修复efi引导,也是可以的。

如有疑问建议,或者交流探索,联系344043074@qq.com


评分

参与人数 1无忧币 +5 收起 理由
无心快语 + 5 恳请结集成一个PDF

查看全部评分

回复

使用道具 举报

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

本版积分规则

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

闽公网安备 35020302032614号

GMT+8, 2024-11-26 00:06

Powered by Discuz! X3.3

© 2001-2017 Comsenz Inc.

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