通过Ubuntu来添加windows的引导文件。
1:首先用电脑开机首选项进入到ubuntun系统,打开终端输入命令。
sudo gedit /etc/default/grub
对grub文件进行编辑:
默认启动哪个系统(后面加入win引导可以修改为对应序号)
GRUB_DEFAULT=0
菜单显示
GRUB_TIMEOUT_STYLE=hidden 改成 GRUB_TIMEOUT_STYLE=menu
停留时间
GRUB_TIMEOUT=0 改成 GRUB_TIMEOUT=6
然后保存,再继续执行 sudo update-grub
最后重启电脑,BIOS第一启动项改为Ubuntu,会发现启动菜单已经可以看到了。
2:添加windows启动文件。
在终端输入以下命令:
sudo grub-install /dev/sda
sudo chmod -x /etc/grub.d/30_os-prober
sudo gedit /etc/grub.d/40_custom
在打开的40_custom文件中编辑以下类容:
menuentry ‘Win11’ {
insmod part_gpt
insmod chain
insmod ntfs
set root=‘(hd0,gpt1)’
chainloader /EFI/Microsoft/Boot/bootmgfw.efi
}
查看上面insmod后面输入的信息:
进入grub命令行:
1、ubuntu系统开机启动后在grub引导弹出需要进入的系统界面时,按c键直接进入命令行模式,也可按 e 建 进入编辑引导参数界面,根据提示 按 ctrl-c 或者 F2 进入命令行。
2、如果开机时不显示引导菜单,而是直接进入系统,则需要在系统启动前按住shift 键,在菜单中选择发行版条目后按e键进入。
3、根据提示 按 ctrl-c 或者 F2 进入命令行。
查看信息:
在grub命令中输入
grub> ls
可以看每个磁盘分区,后面的msdos就是上面对面part_()里面对应的格式。
再输入以下命令确认windows引导文件在那个盘里。(这是对应msdos格式的磁盘)
(这是gpt格式的磁盘)
找到对应的磁盘,set root=()输入对面的磁盘文件名字。
最后chainloader 后面输入的地址,可以像上面一样,或者是直接输入
chainloader +1
如果想准确知道windows引导文件地址可以进入windows系统下载一个软件bootice。
最后终端继续执行 sudo update-grub
可以通过下面命令查看grub配置文件
sudo gedit /boot/grub/grub.cfg
在打开的文件中就可以找到windows选项了。
最后重启电脑,进入电脑bios把ubuntu启动顺序放在第一个就好了。