[Ubuntu] Win+Ubuntu 双系统引导

Ubuntu + Win 双系统单硬盘引导

先安装Ubuntu再安装Windows可以解决,启动引导中只有Ubuntu的问题。或者安装在不同硬盘中,也可以直接从BIOS中选择相应的系统对应硬盘直接启动。所以本文是针对单硬盘且先安装了WINDOWS再安装Ubuntu的解决方案。

找到grub文件

不要直接修改/boot/grub/grub.cfg 文件
可以修改/etc/grub.d/40_custom
再使用sudo update-grub 命令更新grub.cfg

# grub.cfg 部分
menuentry 'Ubuntu' --class ubuntu --class gnu-linux --class gnu --class os $menuentry_id_option 'gnulinux-simple-0e3ad895-e518-4dae-9741-3f85e36b88a8' {
    
    
	recordfail
	load_video
	gfxmode $linux_gfx_mode
	insmod gzio
	if [ x$grub_platform = xxen ]; then insmod xzio; insmod lzopio; fi
	insmod part_gpt
	insmod lvm
	insmod ext2
	set root='lvmid/mDYk7e-UhTl-ZD7R-aZcJ-RXfC-H0kT-Ggerue/nfOy1W-ZzJD-rziy-9jqZ-jsW3-Yldg-zkctoA'
	if [ x$feature_platform_search_hint = xy ]; then
	  search --no-floppy --fs-uuid --set=root --hint='lvmid/mDYk7e-UhTl-ZD7R-aZcJ-RXfC-H0kT-Ggerue/nfOy1W-ZzJD-rziy-9jqZ-jsW3-Yldg-zkctoA'  0e3ad895-e518-4dae-9741-3f85e36b88a8
	else
	  search --no-floppy --fs-uuid --set=root 0e3ad895-e518-4dae-9741-3f85e36b88a8
	fi
        linux	/boot/vmlinuz-5.0.0-37-generic root=/dev/mapper/ubuntu--vg-root ro  quiet splash $vt_handoff
	initrd	/boot/initrd.img-5.0.0-37-generic
}

其中 menuentry ‘Ubuntu’ 就是现在有的引导选项了,接着我们需要添加windows选项

2.修改40_custom文件

#!/bin/sh
exec tail -n +3 $0
# This file provides an easy way to add custom menu entries.  Simply type the
# menu entries you want to add after this comment.  Be careful not to change
# the 'exec tail' line above.
menuentry "Windows 10 (loader) (on /dev/sdb1)" --class windows --class os {
    
    
insmod part_msdos
insmod ntfs
set root='(hd0,0)'
search --no-floppy --fs-uuid --set=root 24E4D075E4D04AA6
chainloader /Windows/Boot/EFI/bootmgfw.efi
}

其中 set root=’(hd0,0)’ 指的是windows存放的硬盘号及分区
其中24E4D075E4D04AA6是硬盘uuid,可以通过blkid查看到,例如

# 以下是我的电脑下使用blkid命令的结果
/dev/loop0: TYPE="squashfs"
/dev/loop1: TYPE="squashfs"
/dev/loop2: TYPE="squashfs"
/dev/loop3: TYPE="squashfs"
/dev/loop4: TYPE="squashfs"
/dev/loop5: TYPE="squashfs"
/dev/loop6: TYPE="squashfs"
/dev/loop7: TYPE="squashfs"
/dev/sdb1: UUID="24E4D075E4D04AA6" TYPE="ntfs" PARTLABEL="Basic data partition" PARTUUID="e40bbfe4-5ea0-4c0a-be42-e8488c3373ec"
/dev/sda1: UUID="2C66-A954" TYPE="vfat" PARTLABEL="EFI System Partition" PARTUUID="2dfd13ed-17a9-47b7-ba6a-599cb068ae52"
/dev/sda2: UUID="MScndH-hKuJ-VVoQ-JGCB-fGdW-I21f-mFR4wh" TYPE="LVM2_member" PARTUUID="7844f97f-bfb9-4f54-a178-5da41e6defc9"
/dev/mapper/ubuntu--vg-root: UUID="0e3ad895-e518-4dae-9741-3f85e36b88a8" TYPE="ext4"
/dev/mapper/ubuntu--vg-swap_1: UUID="ae949139-7a3e-46e9-b5e3-11283b72f806" TYPE="swap"
/dev/loop8: TYPE="squashfs"
/dev/loop9: TYPE="squashfs"
/dev/loop10: TYPE="squashfs"
/dev/loop11: TYPE="squashfs"
/dev/loop12: TYPE="squashfs"
/dev/loop13: TYPE="squashfs"
/dev/loop14: TYPE="squashfs"
/dev/loop15: TYPE="squashfs"

修改完40_custom之后

3.使用update-grup命令更新grub文件即可

4.reboot 重启就能看到你的windows选项了。

常见问题

  1. 出现Windows Boot Manager界面,提示BCD有错误.
    答: windows的引导文件出错,可以选择找台对应系统的电脑的引导文件之后拷贝过来即可。
  2. invalid EFI file path.
    答: 路径错误。

猜你喜欢

转载自blog.csdn.net/qq_35104586/article/details/103577982