![在未分配空间上安装了 CentOS,以便与 Windows 10 实现双启动,但现在 CentOS 无法看到 Windows 10](https://linux22.com/image/1610648/%E5%9C%A8%E6%9C%AA%E5%88%86%E9%85%8D%E7%A9%BA%E9%97%B4%E4%B8%8A%E5%AE%89%E8%A3%85%E4%BA%86%20CentOS%EF%BC%8C%E4%BB%A5%E4%BE%BF%E4%B8%8E%20Windows%2010%20%E5%AE%9E%E7%8E%B0%E5%8F%8C%E5%90%AF%E5%8A%A8%EF%BC%8C%E4%BD%86%E7%8E%B0%E5%9C%A8%20CentOS%20%E6%97%A0%E6%B3%95%E7%9C%8B%E5%88%B0%20Windows%2010.png)
我有一台 Windows 10 笔记本电脑。为了在上面安装 CentOS 7,我缩小了C盘(这是我看到的唯一驱动器)。这给了我 100+ GB未分配空间。我继续安装 CentOS。重启后,我没有在菜单中看到 Windows 10 作为启动选项。
我做错了什么?有没有办法恢复并查看 Windows 10?
答案1
看起来安装前未检测到 Windows。启动 CentOS 安装并运行以下两个命令:
sudo os-prober
sudo update-grub
如果显示“未找到命令”,请将 update-grub 替换为 grub-mkconfig。在执行此操作之前,您可能需要安装 os-prober
sudo yum install os-prober
如果其他方法都失败了,您可以添加一个自定义条目,/etc/grub.d/40_custom
内容如下:
在 BIOS 系统上:(将 n 替换为 Windows 分区号)
menuentry "Windows 10" {
insmod ntfs
set root=(hd0,n)
chainloader +1
}
在 UEFI 系统上(将 n 替换为 EFI 分区号)
menuentry "Windows 10" {
set root=(hd0,n)
chainloader /EFI/Microsoft/Boot/bootmgfw.efi
}
根据引导加载程序在 EFI 分区中的位置,EFI 条目的位置可能会发生变化。
追上sudo grub-mkconfig
去,你就可以走了。
答案2
我不是经验丰富的 Linux 用户。我只是列出了我为实现此目的所做的事情。这主要是基于反复试验。我不会推荐这种方法或那种方法。可能有适当的方法可以解决问题。@Varun Narravula 的回复可能更合适。请注意,我使用的是 Legacy/BIOS。
我按以下顺序尝试了命令:
grub2-mkconfig -o /boot/grub2/grub.cfg
然后
os-prober
os-prober 没有返回任何内容。
然后我尝试看看是否可以安装 NTFS 系统。
为此,我需要安装 ntfs-3g。但对于 ntfs-3g,EPEL Repo 是先决条件。
请参阅以下内容:
https://www.tecmint.com/how-do-i-access-or-mount-windows-ntfs-partition-in-linux/
我在 CentOS 7.x 上安装了 EPEL Repo
yum search epel-release
yum info epel-release
yum install epel-release
(我实际上没有运行 yum update)
然后安装ntfs-3g
yum -y install ntfs-3g
然后
yum install fuse
modprobe fuse
我可以看到 NTFS 文件系统
fdisk -l
(我实际上没有安装 NTFS 系统。)之后,我运行
os-prober
这确实列出了 Windows 10。最后一步,我再次运行
grub2-mkconfig -o /boot/grub2/grub.cfg
不确定最后一步是否必要。当我重新启动计算机时,Windows 10 选项可用。我不确定我执行的与安装相关的步骤是否有任何不同。