当前位置:   article > 正文

MBR/UEFI上安装GRUB2(小白/新手教程)

grub2

一、Grub2的疑惑
1、Grub2是什么?  Grub2是个启动引导器,类似于xorboot、grub4dos等
2、Grub2用在哪?  装在空/有系统的磁盘/U盘,作为此盘启动菜单引导系统或程序
3、Grub2怎么安装? 在linux/windows/pe操作grub2程序安装到磁盘或U盘,主要有两种安装方式:1、直接安装;2、定制导入。具体下方有介绍

二、Grub2安装生成的路径及文件结构

/boot/grub/grub.cfg                             启动菜单(必须,且手动添加)
/boot/grub/x86_64-efi或i386-pc或i386-efi         启动模块(必须)
/boot/grub/background.png                       背景图(可无)
/boot/grub/fonts/unicode.pf2                     字体(可无),默认unicode
/boot/grub/locale/zh_CN.mo                      语言(可无),默认多国
/boot/grub/themes/                             主题目录(可无)

/efi/boot/grubx64.efi或grubia32.efi               UEFI启动模式文件(必须,若MBR则无)


小知识:
1、    MBR硬盘在grub2安装过程会向主引导记录写入启动程序,所以第一分区前要预留足够的空闲空间(10M),否则会提示“无法写入”等错误。
2、    GPT(UEFI)硬盘默认启动esp分区中的/efi/boot/bootx64.efi或bootia32.efi。


三、Grub2的两种安装方式

  • 在linux或windows都有效,可能在命令方面有些细微变化
  • 先用DiskGenius对要安装grub2的磁盘或U盘进行分区
  • 官方下载对应的版本,解压并cmd进入grub2目录

第一种方式---直接安装法
MBR:

wmic diskdrive list brief 

   查看本机磁盘情况

grub-install.exe --target=i386-pc --boot-directory=w:\boot  \\.\PHYSICALDRIVE0
  •  成功提示Installation finished. No error reported.
  • 其中w:即grub2生成文件的分区,默认是磁盘第一分区
  • 手动添加/boot/grub/grub.cfg菜单文件,此文件可从其他复制过来
  •  重启看到grub2的菜单即成功。

UEFIx32:

grub-install.exe --target=i386-efi --efi-directory=w: --boot-directory=w:\boot --removable

UEFIx64:

grub-install.exe --target=x86_64-efi  --efi-directory=w: --boot-directory=w:\boot  --removable
  •  执行命令前要挂载/指派esp分区驱动器符号
  • 在磁盘中w:为esp分区(或U盘驱动器符号),即grub2生成文件的分区。
  •  --removable是U盘参数,若是磁盘要去除
  •  成功提示Installation finished. No error reported.
  • /efi/boot/grubx64.efi 修改成 bootx64.efi
  • 手动添加/boot/grub/grub.cfg菜单文件,此文件可从其他复制过来
  •  重启看到grub2的菜单即成功。


第二种方式---定制导入法  

  1. @echo off
  2. cd /d "%~dp0"
  3. echo search.file /boot/grub/grub.cfg root>bootinfo.cfg
  4. echo set prefix=($root)/boot/grub/>>bootinfo.cfg
  5. mkdir res\boot\grub
  6. mkdir res\efi\boot
  7. xcopy /s /e /y /i i386-pc res\boot\grub\i386-pc
  8. echo i386-efi
  9. grub-mkimage.exe -d i386-efi -c bootinfo.cfg -p /boot/grub -o res\efi\boot\bootia32.efi -O i386-efi -v newc iso9660 part_msdos part_gpt ext2 cpio memdisk blocklist minicmd loopback fat ntfs gfxterm reboot configfile normal test gfxmenu gfxterm search search_fs_file echo
  10. echo x86_64-efi
  11. grub-mkimage.exe -d x86_64-efi -c bootinfo.cfg -p /boot/grub -o res\efi\boot\bootx64.efi -O x86_64-efi -v newc iso9660 part_msdos part_gpt ext2 cpio memdisk blocklist minicmd loopback fat ntfs gfxterm reboot configfile normal test gfxmenu gfxterm search search_fs_file echo
  12. echo i386-pc
  13. grub-mkimage.exe -d i386-pc -c bootinfo.cfg -p /boot/grub -o res\boot\grub\i386-pc\core.img -O i386-pc -v biosdisk loopback tar part_msdos fat exfat ntfs search_fs_file
  14. copy /B res\boot\grub\i386-pc\boot.img + res\boot\grub\i386-pc\core.img res\g2ldr.mbr
  15. echo menuentry "0.Windows" --hotkey=0 {chainloader (${root})/EFI/Microsoft/Boot/bootmgfw.efi}>res\boot\grub\grub.cfg
  16. echo menuentry "1.WinPE" --hotkey=1 {search --file /grldr --set=root}>>res\boot\grub\grub.cfg
  17. echo menuentry "3.Reboot" --hotkey=3 {reboot;}>>res\boot\grub\grub.cfg
  18. echo menuentry "4.Halt" --hotkey=4 {halt;}>>res\boot\grub\grub.cfg
  19. del /q bootinfo.cfg
  • 复制上面代码成bat脚本一键定制出MBR和UEFI启动文件
  • 在res目录下生成定制的启动文件
  • MBR磁盘:建议复制的启动文件放在活动分区,使用bootice在主引导记录导入g2lr.mbr,重启即可
  • GPT磁盘:建议复制的启动文件放在esp分区,重启即可。
     

 

直接安装法vs定制导入法: 通过安装发现两种方法效果都一样,选择哪种看个人喜好

 

三、视频教程到我无忧论坛

http://bbs.wuyou.net/forum.php?mod=viewthread&tid=423752&extra=

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/羊村懒王/article/detail/262982
推荐阅读
  

闽ICP备14008679号