Linux 修复 Windows 引导项

  1. 在终端中输入:sudo vi /boot/grub/grub.cfg
    回车,然后输入密码,就打开了grub.cfg文件。

用下面的代码替代### BEGIN /etc/grub.d/40_custom ###### END /etc/grub.d/40_custom ###之间原有的代码即可:

menuentry "Windows 10" {
    insmod part_msdos
    insmod ntfs
    set root='(hd0,msdos1)'
    chainloader +1    
}
//注意:"chainloader" 与 "+1" 之间有空格,"'(hd0,msdos1)'"为你windows系统所在分区,menuentry 后面的 Windows 10 可以自己随意命名

保存文件后执行下面语句

sudo update-grub

重启即可看到 Windows 启动项。

这里特别需要注意的是这行

set root='(hd0,msdos1)'

大致解释下,hd0 代表 Windows 系统所在的硬盘,msdos1 代表 Windows 系统所在的分区。需要注意的是,Grub 对所有硬盘的分类都表示为 hd,但现在 Linux 系统大多为 Grub2 引导,Grub2 对磁盘的分类更加详细。

磁盘分类可能表示为 hdsd ,其中 hd0 表示第一块磁盘, hd1 表示第二块... 依此类推。对于 sd 则有所不同,sda 表示第一块磁盘,sdb 表示第二块... 依此类推。

Linux 中通过 df -TH 命令可以查看硬盘的具体信息,比如你的 Windows 系统所在的硬盘为 sdb4,则代表是第二块硬盘的第四分区,代码表示为 '(sd1,msdos4)'

你可能感兴趣的:(Linux 修复 Windows 引导项)