内容目录
一、安装grub2引导
这里我们就讲windows下从grub2官方获取文件安装的方式,其他的安装方式还有很多,如linux下grub-install命令
- legacy启动 先用makeBIOS.bat生成引导扇区文件,并将其写入硬盘0-63扇区,然后将i386-pc文件夹、locale文件夹、unicode.pf2和启动菜单的cfg文件拷贝到makeBIOS设置的目录下即可 参考链接:https://blog.csdn.net/u010875635/article/details/82584644
- uefi启动 uefi启动相较于legacy启动的话不需要安装grub2的mbr记录,但是对应的要在硬盘上分一个esp分区,将x86_64-efi文件夹和grub-mkimage生成的bootx64.efi、locale文件夹、unicode.pf2等拷贝到esp分区的/EFI/boot目录下即可 参考链接:https://blog.csdn.net/u010875635/article/details/74289971
二、编写cfg引导项
- linux系统都大同小异,这里仅以deepin为例
menuentry 系统名字 { insmod part_msdos //或者 part_gpt看情况 insmod ext2 set root='(硬盘,分区)'// 看你/boot挂载点在哪里,如(hd0,msdos1)、(hd1,gpt1) linux /boot/vmlinuz* ro root=/dev/sdaX //X看你/挂载点在哪里,*依据你实际安装后生成的文件名 initrd /initrd.img* //*依据你实际安装后生成的文件名 }
- Windows系统要分efi和legacy两种
(1)EFImenuentry 系统名字 { insmod part_msdos //或者 part_gpt看情况 insmod fat insmod ntfs set root='(硬盘,分区)' //写esp分区 chainloader /EFI/microsoft/boot/bootmgfw.efi } ``` (2)legacy ```grub2 menuentry 系统名字 { insmod part_msdos //或者 part_gpt看情况 insmod fat insmod ntfs set root='(硬盘,分区)' //写esp分区 chainloader +1 } ``` 或者: ``` menuentry 系统名字 { insmod part_msdos //或者 part_gpt看情况 insmod fat insmod ntfs set root='(硬盘,分区)' //写esp分区 ntldr /bootmgr }
三、同时支持两种启动(待实验)
同时建立两种grub2引导,并分别写启动项应该就可以了