Linux学习小记(十八)——grub2引导的二三事

一、安装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

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

不说点什么喵?

19 − 1 =

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