我已经安装了 Windows 10 启动,/dev/sda1
但是 grub2 并未将其检测为操作系统。
$ fdisk -l
Device Boot Start End Blocks Id System
/dev/sda1 * 2048 2050047 1024000 b W95 FAT32
/dev/sda2 2050048 232736767 115343360 7 HPFS/NTFS/exFAT
/dev/sda4 232738814 500117503 133689345 f W95 Ext'd (LBA)
/dev/sda5 476450816 492834815 8192000 82 Linux swap / Solaris
/dev/sda6 492836864 500117503 3640320 83 Linux
/dev/sda7 232738816 476450815 121856000 83 Linux
出于这个原因,我添加了一个菜单项,/etc/grub.d/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' {
set root ='(hd0,msdos1)'
chainloader +1
}
但当我尝试进入 Windows 10 时,我收到此错误
错误
error: not an assigment.
error: invalid signature.
Press any key to continue...
但是我尝试使用 SuperGrub USB 磁盘启动,它检测到了操作系统,我可以毫无问题地启动。
我究竟做错了什么?
答案1
将菜单项更改为以下内容:
menuentry 'Windows 10' {
set root='(hd0,msdos1)' #No 'space' between 'root' and '='
chainloader +1
}
对我来说很管用。我试过这个,它让我回到了 Windows 引导加载程序(安装在我的 中sda1
)。所以我想它也应该对你有用。