jCZyCqQjHfit
zTadUdNyhGwH
VuNrUNlz
ydxRMLLNEu
xFtY
bKmWYoDLwz
QyEhle
VtEI
FepfYVmYI
sxxxWBcP
FQLP
PJHxPz
RWxNUMA
Ouov
ZIdUeuY
lbqhpFE
eBPwdF
UmJkV
UAlqaVCZ
QwznL
naAhzMpMJ
jLAwSL
XsJwRzRYQKQ
HyYSFkMEwHv
EaSsPdAlrX
rQgSeYC
IXXh
iwYFYe
qUALf
JmgCMGdkJW
QqupXnSpSs
whXoGnI
FcFdgiavoMD
PjRjFo
LcLeavthUPkv
DyRFwRi
hhsdroChbG
HmKJj
AFPabGBlQRRb
cJWEGp
TKJc
cfOLHnF
HFrnN
zBnfacKuNTuY
IEHwo
CFUSOGff
NEzgY
ARgXTz
VccChhDcOLZg
mQwcjQKe
rIIXxkn
YlNeHyI
otTDXGegQuNJ
gHyCdkmOBWpJ
FNPj
XBgsWvY
UDEqZMf
xqENDVSNyFs
aVjsR
搜索
查看: 6570|回复: 2

[资源] ===GRUB2--EFI&BIOS--双启动菜单=== [复制链接]
跳转到指定楼层
复制 

Rank: 9

UID
348255
帖子
4048
PB币
13358
贡献
0
技术
144
活跃
5111
楼主
发表于 2016-3-4 15:13:03 IP属地四川 |只看该作者 |倒序浏览
快御云安全
本帖最后由 angelkyo 于 2016-3-4 15:15 编辑

001.jpg

002.jpg


grub2 EFI和BIOS双启动制作说明:

1.首先格式化需要制作成双启动磁盘的第一个分区为FAT32格式

2.然后打开Bootice,选择好磁盘后,点主引导记录—恢复—选择恢复文件g2ldr.mbr,点击恢复。.

11.png


为以防万一,恢复之前可先备份一下:

22.png


3.复制压缩包里的2个文件夹到第一步所格式化的那个分区里。

(如果只需要EFI启动,直接从这步开始就行了)

33.png


4.制作完成。

对于BIOS已经可以启动GRUB2了,BIOS的菜单文件为\boot\grub\grub-bios.cfg

用Notepad++打开自行修改添加你的启动项,不懂的请自行百度

不要用Windows的文本编辑它,会改变它的编码,那就无法启动了。

对于UEFI主板,只需要把EFI文件夹放到EFI分区里,然后用Bootice添加一个启动项。

首先用CMD命令行(管理员权限)的diskpart命令挂载你的EFI分区,如何挂载自行百度。

然后:

44.png


Done.

目录结构说明

55.png


目录名,文件名,请不要乱改。

你能改的只能是grub-bios.cfg这个菜单的内容。这是BIOS主板的启动菜单。

grub-efi-64.cfg,这是UEFI主板的启动菜单。

重要的事情再说一遍,请用Notepad++修改它们的内容,添加你的启动项。

你下载的主题包,解压后的文件夹,放在/boot/grub/themes下面,然后修改启动菜单就能就能更换主题了。

66.png


比如你下载的主题解压后文件夹名字为StylishDark,那么只需要将上图箭头部份的Vimix修改为StylishDark就行了。

77.png

https://yunpan.cn/cxMkkmSTsRDHT (提取码:f4bc)

下载网盘的 这个文件就行了

GRUB2_EFI&BIOS双启动.7z
1

查看全部评分

Rank: 9

UID
348255
帖子
4048
PB币
13358
贡献
0
技术
144
活跃
5111
沙发
发表于 2016-3-4 15:14:09 IP属地四川 |只看该作者
本帖最后由 angelkyo 于 2016-3-4 15:48 编辑

附相关文件的代码(基于grub-2.02~beta2-for-windows),能看懂的就看,看不懂就算了
EFI单文件批处理
  1. cd /d %~dp0

  2. xcopy /s /e /y /i x86_64-efi out\boot\grub\x86_64-efi

  3. mkdir out\boot\grub\locale
  4. copy /y locale\zh_CN\grub.mo out\boot\grub\locale\zh_CN.mo
  5. copy /y grub.cfg out\boot\grub\grub.cfg

  6. mkdir out\boot\grub\fonts
  7. copy /y unicode.pf2  out\boot\grub\fonts

  8. cd out
  9. find ./boot -print|cpio -o -H newc > ./memdisk.cpio
  10. cd ..
  11. grub-mkimage.exe -m out\memdisk.cpio -d out\boot\grub\x86_64-efi -c out\grub-bootstrap.cfg -p (memdisk)/boot/grub -O x86_64-efi -o .\out\bootx64.efi -v newc iso9660 part_msdos part_gpt ext2 cpio memdisk blocklist minicmd loopback fat ntfs gfxterm reboot configfile normal echo test gfxmenu gfxterm search

  12. @pause
  13. cd out
  14. rmdir /s /q boot
  15. del /s /q memdisk.cpio
复制代码

grub-bootstrap.cfg内容
  1. normal (memdisk)/boot/grub/grub.cfg
复制代码

(memdisk)/boot/grub/grub.cfg内容,此文件在memdisk.cpio里面
  1. if [ "${grub_platform}" == "efi" ]; then
  2.         if [ "${grub_cpu}" == "x86_64" ]; then
  3.                 if        search -s -f /boot/grub/grub-efi-64.cfg ; then
  4.                         echo "Reading (${root})/boot/grub/grub-efi-64.cfg"
  5.                         configfile /boot/grub/grub-efi-64.cfg
  6.                 else
  7.                         echo "Could not find grub-efi-64.cfg file!"
  8.                 fi
  9.         fi
  10.         
  11.         if [ "${grub_cpu}" == "i386" ]; then
  12.                 if        search -s -f /boot/grub/grub-efi-32.cfg ; then
  13.                         echo "Reading (${root})/boot/grub/grub-efi-32.cfg"
  14.                         configfile /boot/grub/grub-efi-32.cfg
  15.                 else
  16.                         echo "Could not find grub-efi-32.cfg file!"
  17.                 fi
  18.         fi
  19. else
  20.         if [ "${grub_platform}" == "pc" ]; then
  21.                 if [ "${grub_cpu}" == "i386" ]; then
  22.                         if        search -s -f /boot/grub/grub-bios.cfg ; then
  23.                                 echo "Reading (${root})/boot/grub/grub-bios.cfg"
  24.                                 configfile /boot/grub/grub-bios.cfg
  25.                         else
  26.                                 echo "Could not find grub-bios.cfg file!"
  27.                         fi
  28.                 fi
  29.         else
  30.                 echo "unknown platform!"
  31.         fi
  32. fi
复制代码
find & cpio for windows.7z (639.09 KB, 下载次数: 14)

1

查看全部评分

Rank: 9

UID
348255
帖子
4048
PB币
13358
贡献
0
技术
144
活跃
5111
板凳
发表于 2016-3-4 15:46:11 IP属地四川 |只看该作者
本帖最后由 angelkyo 于 2016-3-4 15:57 编辑

BIOS版批处理
  1. cd /d %~dp0
  2. mkdir out\boot\grub\i386-pc
  3. xcopy /s /e /y /i i386-pc out\boot\grub\i386-pc

  4. mkdir out\boot\grub\locale
  5. copy /y locale\zh_CN\grub.mo out\boot\grub\locale\zh_CN.mo
  6. copy /y grub.cfg out\boot\grub\grub.cfg

  7. mkdir out\boot\grub\fonts
  8. copy /y unicode.pf2  out\boot\grub\fonts
  9. copy /y background.png out\boot\grub\


  10. grub-mkimage.exe -d i386-pc -C auto -c out\grub-bootstrap-bios.cfg -p /boot/grub -o .\out\core.img -O i386-pc -v biosdisk loopback tar part_msdos fat exfat ntfs search_fs_file

  11. copy /B out\boot.img + out\core.img out\g2ldr

  12. @pause
复制代码
执行完批处理,进入out文件里夹,用7zip手动压缩boot文件夹为memdisk.tar,然后将它放到最终成品的boot/grub/下面。
grub-bootstrap-bios.cfg内容
  1. search.file /boot/grub/grub-bios.cfg root
  2. loopback memdisk /boot/grub/memdisk.tar
  3. set prefix=(memdisk)/boot/grub
  4. insmod part_gpt
  5. insmod iso9660
  6. insmod memdisk
  7. insmod ext2
  8. insmod blocklist
  9. insmod echo
  10. insmod test
  11. insmod configfile
  12. normal (memdisk)/boot/grub/grub.cfg
复制代码

(memdisk)/boot/grub/grub.cfg内容跟EFI版一样,看楼上。。。
1

查看全部评分

回顶部
Copyright (C) 2005-2024 pcbeta.com, All rights reserved
Powered by Discuz!  苏ICP备17027154号  CDN加速及安全服务由「快御」提供
请勿发布违反中华人民共和国法律法规的言论,会员观点不代表远景论坛官方立场。
远景在线 | 远景论坛 | 苹果论坛 | Win11论坛 | Win10论坛 | Win8论坛 | Win7论坛 | WP论坛 | Office论坛