本来是想用 grub4dos 的,但是那个的界面比较难看,于是就找到了 grub,就有了这篇文章
这篇文章主要针对 BIOS,UEFI 可能不适用


预览

这是最终效果:

实用工具子菜单:
工具提取自老毛桃PE,当然也可以自己从其他地方找

文件管理器:
可以从Github上下载

要用到的所有软件/文件:https://pan.baidu.com/s/1FSRUtPi7Md7jaAIUgJypQQ


创建虚拟磁盘

为了方便测试,先使用虚拟磁盘来安装
创建一个虚拟机,并用Daemon Tools Lite(注意安装的时候取消捆绑软件)加载虚拟磁盘

右键计算机,选择管理,进入磁盘管理,此时应该会看到有一块新磁盘,记下那是几号磁盘
(注:如果你使用VMware来加载虚拟磁盘的话,这里是不会显示出磁盘的)

安装 Grub2

从上面的网盘里下载grub-2.0.2-for-windows.zip,解压

在解压的文件夹里打开 cmd,运行命令:
如果你不知道是 BIOS 还是 UEFI,那 3 个命令都运行一遍

//BIOS请运行:
grub-install --boot-directory=X: --recheck --target=i386-pc \\.\PHYSICALDRIVE2//UEFI 32请运行:
grub-install --boot-directory=X: --recheck --target=i386-efi \\.\PHYSICALDRIVE2//UEFI 64请运行:
grub-install --boot-directory=X: --recheck --target=x86_64-efi \\.\PHYSICALDRIVE2

注意X为你的盘符(下同),将\\.\PHYSICALDRIVE2中的2替换为之前记下来的数字


取消挂载磁盘,运行虚拟机,成功出现了界面,不过是命令行模式

最基本的菜单

下面来新建配置文件
X:/grub/中,新建文件grub.cfg,并加入以下内容:

#这是注释,脚本语法同 Bash
#关机
menuentry "shutdown" {halt;
}#重启
menuentry "reboot"  {reboot;
}

保存,启动虚拟机,现在我们有了两个最基本的菜单项

修改为中文界面

grub-2.02-for-windows\locale\zh_CN\grub.mo文件复制到X:\grub\locale中,并重命名为zh.mo
修改grub.cfg

#加载字体需要的模块
insmod font;  #insmod 加载一个模块
insmod gfxterm;
insmod vbe;#-----加载中文界面(BIOS)---
#加载字体
loadfont unicode;
set gfxmode=auto;
set gfxpayload=keep;
set gfxterm_font=unicode;
terminal_output gfxterm;#设置语言
set locale_dir=$prefix/locale;
set lang=zh_CN;#---------菜单项-----------#重启
menuentry "重启" { reboot; }#关机
menuentry "关机" { halt; }

卸载磁盘,启动虚拟机,现在应该看得到中文了:

美化菜单

你可以在Gnome-look上搜索主题,或者在其他地方也行
搜索的时候要注意必须是 grub 主题

下载一个主题,解压,连着文件夹一起复制到X:\grub\themes\下,如果文件夹名字有空格请修改掉
我这里下的是 Poly Light 主题

修改grub.cfg
(不变的地方省去,下同,在文章的最后有完整的配置文件)

#......#设置主题文件路径
#注:$prefix 为 grub 所在目录(即 X:/grub/)
#poly-light 修改为你下载的主题的文件夹名字
set theme=$prefix/themes/poly-light/theme.txt;#---------菜单项-----------
#......

顺便提一下,我下的这个支持多语言,但默认是英文,需要修改一下
如果是英文的话也可以按照这个方法翻译成中文

打开X:\grub\themes\主题名字\theme.txt

支持多语言的主题

找到某个text,按如下图修改,直到再找不到text为止
(注释英文的text,取消注释中文的text

不支持多语言的主题

找到某个text,直接修改引号内的内容,直到再找不到text为止

注意不要把%开头的字符给修改掉了(如%d%s!否则某些文本会失效(比如倒计时提示)

运行虚拟机,查看效果:

瞬间比之前的黑窗口要漂亮多了!

启动光盘/硬盘/软盘镜像

grub 原生并不支持直接启动 ISO 文件,需要借助外部工具memdisk来实现
下载syslinux.zip,解压,找到memdisk文件(没有扩展名)
为了保持目录整洁,在X:/下创建目录boot,将memdisk复制到boot文件夹下

boot目录下创建pe文件夹,将你的 PE 镜像复制进去(或者其他路径也行)

修改grub.cfg文件:

#设置memdisk路径
set memdisk=/boot/memdisk#......insmod memdisk; #加载镜像文件需要的模块#-----加载中文界面(BIOS)---#......#---------菜单项-----------#启动老毛桃ISO
menuentry "启动老毛桃 PE" {echo "正在加载老毛桃 PE...";linux16 $memdisk iso raw;initrd16 /boot/pe/LaoMaoTao-PE.iso; #修改路径为你的 PE 的路径
}#重启
menuentry "重启" { reboot; }#关机
menuentry "关机" { halt; }

如果不是光盘镜像,只需要修改:

#如果是软盘镜像
linux16 $memdisk flopply raw;#如果是硬盘镜像
linux16 $memdisk harddisk raw;

启动虚拟机,测试:

成功加载:

你也可以专门把PE文件提取出来,只启动PE,具体请百度

加载ISO文件的时间有点久,为了方便查看进度,再增加一个进度条
修改grub.cfg

#......
insmod progress; #启用进度显示
#......

效果图:

最终配置文件

下面只需要寻找各种 Win PE、Linux Live CD、工具等,再加进去就OK
这是一个简单的例子:
(文件管理器来自:https://a1ive.github.io/grub2-filemanager/)

#---------配置-----------#默认启动第一个菜单项
set default=0;#每一满屏后暂停输出,以免信息太多一闪而过看不清
set pager=1;#设置菜单的超时时间为30秒
set timeout=30;#设置主题文件路径
#注:$prefix 为 grub 所在目录(即 X:/grub/)
set theme=$prefix/themes/poly-light/theme.txt;#设置memdisk路径
set memdisk=/boot/memdisk#-------加载模块-------
insmod progress; #启用进度显示
insmod vbe;
insmod font; #加载字体需要的模块
insmod gfxterm;
insmod memdisk; #加载镜像文件的模块
insmod png;   #如果主题的背景是.png格式需要的模块
#insmod jpeg; #如果主题的背景是.jpg格式则需要这个#-----加载中文界面(BIOS)---
#加载字体
loadfont unicode;
set gfxmode=auto;
set gfxpayload=keep;
set gfxterm_font=unicode;
terminal_output gfxterm;#设置语言
set locale_dir=$prefix/locale;
set lang=zh_CN;#---------菜单项-----------#从硬盘启动
menuentry "[1]正常启动(Windows)" --hotkey=1 {  #--hotkey=某个按键 :设置快捷键if [ 'pc' == $grub_platform ] ; thenif search --file --set /bootmgr ; thenchainloader +1elif search --file --set /ntldr ; thenchainloader +1fielif [ 'efi' == $grub_platform ] ; thenif search --file --set /EFI/Microsoft/Boot/bootmgfw.efi ; thenchainloader /EFI/Microsoft/Boot/bootmgfw.efififi
}menuentry "[2]启动老毛桃 PE" --hotkey=2 {echo "正在加载老毛桃 PE...";linux16 $memdisk iso raw;initrd16 /boot/pe/LaoMaoTao-PE.iso;
}#子菜单 - 工具箱
submenu "[3]实用工具箱" --hotkey=3 {set image=/boot/imgs/; #镜像文件目录load_theme; #重新加载主题menuentry "[1]运行 Ghost 三合一 (支持 SATA 光驱)" --hotkey=1 {echo "正在加载 Ghost 三合一...";linux16 $memdisk flopply raw;initrd16 $image/3GHOST.IMG;}menuentry "[2]运行 DiskGenius Dos 版" --hotkey=2 {echo "正在加载 DiskGenius Dos 版...";linux16 $memdisk iso raw;initrd16 $image/DGDOS.iso;}menuentry "[3]运行 Max Dos 工具箱" --hotkey=3 {echo "正在加载 Max Dos 工具箱...";linux16 $memdisk flopply raw;initrd16 $image/MAXDOS.IMG;}menuentry "[4]运行硬盘再生器 2011" --hotkey=4 {echo "正在加载硬盘再生器...";linux16 $memdisk iso raw;initrd16 $image/HDDREG.ISO;}menuentry "[5]运行 MHDD V4.6(硬盘检测)" --hotkey=5 {echo "正在加载 MHDD V4.6...";linux16 $memdisk flopply raw;initrd16 $image/MHDD.IMG;}
}#文件管理器
menuentry "[4]Grub 文件管理器" --hotkey=4 {echo "正在加载文件管理器......";#BIOSif [ "${grub_platform}" = "pc" ]; thenlinux /boot/file_manager/loadfm;initrd /boot/file_manager/grubfm.iso;#UEFI(未测试)elsechainloader /grubfm.efi;fi
}#重启
menuentry "[R]重启" --hotkey=r { reboot; }#关机
menuentry "[S]关机" --hotkey=s { halt; }#------------函数-----------#加载主题
function load_theme {set theme=$prefix/themes/poly-light/theme.txt;
}

安装到U盘

很简单,用之前一样的方法安装,只不过替换一下盘符和磁盘号,再将文件都复制到U盘里即可

参考文章/网站

Grub 中文手册:http://www.jinbuguo.com/linux/grub.cfg.html
Grub 官方 Wiki:https://www.gnu.org/software/grub/manual/grub/grub.html
Arch Linux Grub Wiki:https://wiki.archlinux.org/index.php/GRUB_(简体中文)
grub2 详解(翻译和整理官方手册):https://www.cnblogs.com/f-ck-need-u/archive/2017/06/29/7094693.html

设置中文字体:http://bbs.wuyou.net/forum.php?mod=viewthread&tid=308028
自己制作系统U盘:http://wuyou.net/forum.php?mod=viewthread&tid=404623
加载 ISO/IMG 文件:http://blog.sina.com.cn/s/blog_8ea8e9d50101kjfg.html
引导 ISO:https://blog.csdn.net/bush2582/article/details/18428555?locationNum=2
设置子菜单:https://unix.stackexchange.com/questions/62733/how-to-correctly-set-up-the-right-grub-2-default-menu-entry
安装主题:https://blog.csdn.net/w84963568/article/details/78884003
使用 grub2 制作 U盘引导 iso(需搭梯子):http://xstarcd.github.io/wiki/Linux/boot-multiple-iso-from-usb-via-grub2-using-linux.html

Windows 下使用 grub2 制作美观的维护U盘相关推荐

  1. windows下使用GRUB2 制作支持BIOS和UEFI的WINPE、LINUX、MAXDOS多引导U盘

    前言: 因为对这块完全不了解,走了很多弯路.试了很多软件,包括GRUB4DOS.XORBOOT.syslinux等.这些软件各有特色,我也没能深入的了解,最终选择使用grub2也是因为感觉对BIOS和 ...

  2. windows下的diskpart指令彻底格式化清除U盘

    参考:windows下的diskpart指令修复U盘分区 作者:丶PURSUING 发布时间:2021-02-02 09:38:55 网址:https://blog.csdn.net/weixin_4 ...

  3. windows下安装包制作软件:NSIS的使用方法

    NSIS (Nullsoft Scriptable Install System) 是一个专业开源的制作 windows 安装程序的工具.它提供了安装.卸载.系统设置.文件解压缩等功能.下面以Qt程序 ...

  4. windows下安装程序制作

    引用链接: https://blog.csdn.net/signjing/article/details/7855855 工具: 1.脚本编辑工具 hmnisedit_downcc.zip 百度云盘链 ...

  5. Windows下使用smb搭建你的个人云盘(ipad不止爱奇艺)

    文章目录 一.前言 二.准备 三.步骤 3.1 PC端的操作流程 3.1.1 开启SMB服务 3.1.2 设置共享文件夹 3.2 移动端的操作流程 四.实测 一.前言 通过本片文章你可收获到的技能: ...

  6. windows下更换docker的目录,释放C盘占用空间

    1.原因 windows系统,C盘一共120g的硬盘大小,自从装了docker和做了几个镜像,C盘直接剩了几个G的大小了.查阅资料,发现大部分空间被docker的数据占用了,因此利用下列的方法进行更改 ...

  7. 在Windows下通过mklink /d 实现符号链接到网络资源盘符

    环境:Windows Server 2008 R2 目的:在项目中的一个文件夹photo链接到网络资源盘符.如图所示: 具体操作命令如下图所示(操作前必须将项目中的photo目录删除,如果原来就有ph ...

  8. Windows下Qt程序打包

    Windows下Qt程序打包 将windeployqt.exe 目录添加到系统环境变量 windeployqt.exe目录如下: 命令行打包 1.打开命令行 2.执行打包命令 windeployqt ...

  9. Win 管理器 运行命令 大全(Windows下的DOS运行命令)

    DOS 运行命令管理器字符大全 Win 管理器  运行命令 大全(Windows下的DOS运行命令) Nslookup-------IP 地址侦测器 explorer-------打开资源管理器 de ...

最新文章

  1. R语言生存分析寿命表(life table)实战案例:比较两种药物治疗感染患者的生存时间
  2. 微软“影子系统”Windows SteadyState 末日将至
  3. 计算机硬盘满了怎么解决,使用SSD硬盘空间清理 C盘爆满怎么办
  4. java text 格式化_java.text.DecimalFormat类十进制格式化
  5. iphone黑屏转圈_iphone8一直在黑屏转圈
  6. EMNLP 2021-多模态Transformer真的多模态了吗?论多模态Transformer对跨模态的影响
  7. 安卓学习笔记04:安卓平台架构
  8. 百度下拉词框优化推广该如何利用及优化推广?
  9. 从dig命令理解DNS
  10. Dell 笔记本触摸板网页双指滑动黑屏
  11. OFD文档如何快速批量转成JPG
  12. 抠图 php中文网,ps cs3怎么抠图
  13. MenuetOS, FreeDOS 有了新的发行
  14. 倾斜摄影 镜头畸变校准_什么是风景摄影的最佳镜头?
  15. 九城加设网游防沉迷 3千名玩家声称罢玩魔兽
  16. 「 JVM基础 」Java双亲委派机制
  17. 晋中学院 计算机系在哪个校区,晋中学院有几个校区及校区地址
  18. html结合css样式作用,css样式表可以实现什么功能?
  19. 一文直观理解编译型语言、解释型语言和脚本语言的区别
  20. 【建议背诵】软考高项考试案例简答题汇总~(9)

热门文章

  1. HOTMAIL模拟登陆
  2. 高性能浏览器网络(High Performance Browser Networking) 第四章
  3. 鲜枣课堂-文章分类目录(2019.7.28更新)
  4. 180余件河北武强年画珍品亮相新疆昌吉回族自治州博物馆
  5. ms-sql数据类型和access数据类型大全
  6. 基于规则的分形图形生成方法
  7. 查询最近12个月的数据SQL语句
  8. 网络类型(P2P、MA、BMA、NBMA)
  9. 100 道 Linux 常见面试题,建议收藏!
  10. 跨专业计算机研究生如何毕业论文,跨专业考研论文要求