内容纲要

一、安装grub2引导

这里我们就讲windows下从grub2官方获取文件安装的方式,其他的安装方式还有很多,如linux下grub-install命令

  1. legacy启动 先用makeBIOS.bat生成引导扇区文件,并将其写入硬盘0-63扇区,然后将i386-pc文件夹、locale文件夹、unicode.pf2和启动菜单的cfg文件拷贝到makeBIOS设置的目录下即可 参考链接:https://blog.csdn.net/u010875635/article/details/82584644
  2. 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引导项

  1. 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* //*依据你实际安装后生成的文件名
    }
  2. Windows系统要分efi和legacy两种
    (1)EFI

    menuentry 系统名字 
    {
       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引导,并分别写启动项应该就可以了

Leave a Reply

此站点使用Akismet来减少垃圾评论。了解我们如何处理您的评论数据