admin 管理员组文章数量: 887021
本来是想用 grub4dos 的,但是那个的界面比较难看,于是就找到了 grub,就有了这篇文章
这篇文章主要针对 BIOS,UEFI 可能不适用
预览
这是最终效果:
实用工具子菜单:
工具提取自老毛桃PE,当然也可以自己从其他地方找
文件管理器:
可以从Github上下载
要用到的所有软件/文件:https://pan.baidu/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 ] ; then
if search --file --set /bootmgr ; then
chainloader +1
elif search --file --set /ntldr ; then
chainloader +1
fi
elif [ 'efi' == $grub_platform ] ; then
if search --file --set /EFI/Microsoft/Boot/bootmgfw.efi ; then
chainloader /EFI/Microsoft/Boot/bootmgfw.efi
fi
fi
}
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 "正在加载文件管理器......";
#BIOS
if [ "${grub_platform}" = "pc" ]; then
linux /boot/file_manager/loadfm;
initrd /boot/file_manager/grubfm.iso;
#UEFI(未测试)
else
chainloader /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/linux/grub.cfg.html
Grub 官方 Wiki:https://www.gnu/software/grub/manual/grub/grub.html
Arch Linux Grub Wiki:https://wiki.archlinux/index.php/GRUB_(简体中文)
grub2 详解(翻译和整理官方手册):https://wwwblogs/f-ck-need-u/archive/2017/06/29/7094693.html
设置中文字体:http://bbs.wuyou/forum.php?mod=viewthread&tid=308028
自己制作系统U盘:http://wuyou/forum.php?mod=viewthread&tid=404623
加载 ISO/IMG 文件:http://blog.sina/s/blog_8ea8e9d50101kjfg.html
引导 ISO:https://blog.csdn/bush2582/article/details/18428555?locationNum=2
设置子菜单:https://unix.stackexchange/questions/62733/how-to-correctly-set-up-the-right-grub-2-default-menu-entry
安装主题:https://blog.csdn/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盘 内容由网友自发贡献,该文观点仅代表作者本人, 转载请联系作者并注明出处:http://www.freenas.com.cn/jishu/1716079010h665325.html, 本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容,一经查实,本站将立刻删除。
发表评论