安装Linux和Windows双系统后,需要对grub进行一些设置,以添加Windows启动项,在电脑启动时就可以选择要进入哪一个系统。

1、查看Windows引导分区的UUID

sudo fdisk -l    ##获取所有硬盘信息

        得到以下信息 

Disk /dev/nvme0n1:931.51 GiB,1000204886016 字节,1953525168 个扇区
磁盘型号:WDC WDS100T2B0C-00PXH0                  
单元:扇区 / 1 * 512 = 512 字节
扇区大小(逻辑/物理):512 字节 / 512 字节
I/O 大小(最小/最佳):512 字节 / 512 字节
磁盘标签类型:gpt
磁盘标识符:85657977-A2E8-E740-A4EF-966CD614040B

设备                起点       末尾       扇区  大小 类型
/dev/nvme0n1p1      2048    1050623    1048576  512M Linux 文件系统
/dev/nvme0n1p2   5244928  214960127  209715200  100G Linux 文件系统
/dev/nvme0n1p3 214960128 1953523711 1738563584  829G Linux 文件系统
/dev/nvme0n1p4   1050624    5244927    4194304    2G Linux 文件系统

分区表记录没有按磁盘顺序。


Disk /dev/nvme1n1:476.94 GiB,512110190592 字节,1000215216 个扇区
磁盘型号:IM2P33F8-512GD                          
单元:扇区 / 1 * 512 = 512 字节
扇区大小(逻辑/物理):512 字节 / 512 字节
I/O 大小(最小/最佳):512 字节 / 512 字节
磁盘标签类型:gpt
磁盘标识符:807DB57B-6314-8B4E-A3F4-9D46699AE0BC

设备                起点       末尾      扇区   大小 类型
/dev/nvme1n1p1      2048     206847    204800   100M EFI 系统
/dev/nvme1n1p2    206848     239615     32768    16M Microsoft 保留
/dev/nvme1n1p3    239616  998975487 998735872 476.2G Microsoft 基本数据
/dev/nvme1n1p4 998975488 1000212479   1236992   604M Windows 恢复环境

可以看到 /dev/nvme1n1p1 就是Windows的引导分区,使用以下命令获取其UUID

sudo blkid /dev/nvme1n1p1

        得到以下信息,将引导分区的UUID复制下来 

/dev/nvme1n1p1: UUID="4250-91E8" BLOCK_SIZE="512" TYPE="vfat" PARTLABEL="EFI system partition" PARTUUID="03f1d6a5-8976-4230-acc5-6c7bf23eefe9"

2、对 /boot/grub/grub.cfg 进行修改

sudo nano /boot/grub/grub.cfg

        找到 /etc/grub.d/30_os-prober

### BEGIN /etc/grub.d/30_os-prober ###
### END /etc/grub.d/30_os-prober ###

         将以下内容添加到其中

menuentry 'Microsoft Windows 11' {    ##''内的名称可以自定义
        insmod part_gpt
        insmod fat
        insmod chain
        search --fs-uuid --no-floppy --set=root XXXX-XXXX    ##XXXX-XXXX就是刚才复制的UUID
        chainloader (${root})/EFI/Microsoft/Boot/bootmgfw.efi
}

3、保存并退出

重启系统即可看到Windows的启动项

Logo

为开发者提供学习成长、分享交流、生态实践、资源工具等服务,帮助开发者快速成长。

更多推荐