在 Windows 之后安装了 Centos 7 并且无法启动到 CentOS

Ash*_*ken 11 dual-boot boot boot-loader grub2

我想为 Windows 7 和 CentOS 7 设置双启动

我有一台带有 500GB 磁盘的 Windows 7 机器。我缩小了 Windows 分区以为 CentOS 7 提供空间(大约 230GB)。我创建了一个 USB CentOS 7 网络安装棒并从中启动。我运行了我所知道的最好配置的安装,将 CentOS 7 安装到可用空间(而不是整个磁盘)。我进行了网络安装,一切似乎都很顺利,但是当它重新启动时,我又回到了 Windows 并且无法进入 CentOS。

我已经从 USB 重新启动并尝试使用 来修复这种情况(小心地)cfdisk,例如选择我认为是 CentOS 引导分区但它报告“缺少操作系统”。也cfdisk说,它无法重新读取分区表,当我在CentOS启动写,但开始cfdisk似乎再次显示该标志已设置。

目前,USB CentOS 7 netinstall 向我显示了磁盘上的以下分区:

## DATA  
/home 168GB centos-home  

## SYSTEM  
/boot 500MB sda3  
/ 51GB centos-root  
swap 3.85GB centos-swap  
Run Code Online (Sandbox Code Playgroud)

“其他”Windows 分区是:

ntfs 100MB sda1  
ntfs 253GB sda2
Run Code Online (Sandbox Code Playgroud)

这看起来没问题,但是当我再次进入 CentOS 7 安装时,它告诉我必须为根分区创建挂载点。我最初没有这样做,因为我认为当我第一次安装磁盘设置时单击“单击此处自动创建它们”时它会自动完成。

使用cfdisk“Rescue a CentOS system...”访问的分区表如下所示:

Unusable 1MB  
sda1 Primary ntfs 105MB    
sda2 Primary ntfs 265GB  
sda3 Boot Primary xfs 525MB    
sda5 NC Logical LVM2_member 235GB  
Logical Free space 0.03MB
Run Code Online (Sandbox Code Playgroud)

如前所述,当我尝试使用此配置启动时,我得到“缺少操作系统”。如果我将启动标志改回 sda1,那么它可以正常启动到 Windows 7。

更新 #1

我(重新)grub2使用grub2-installfrom netinstall安装/dev/sda,现在当我从磁盘启动时,我得到grub提示。我可以用它来链接加载到 Windows 中。但是,当我尝试启动到 CentOS 7 时,我得到了某种跟踪/转储。

我用了:

linux  (hd0,msdos3)/vmlinuz-3... root=/dev/sda3
initrd (hd0,msdos3/initrd-plymouth...
boot
Run Code Online (Sandbox Code Playgroud)

注意:我相信linux是 CentOS 的主引导分区

尝试以上只是崩溃。

更新 #2

我使用yumEPEL 存储库安装了 NTFS-3G 和 NTFSPROGS 。

我运行grub2-mkconfig -o /boot/grub2/grub.cfg然后重新启动以在启动菜单中找到 Windows 7 (Loader)。但是当我选择它时,我得到:

error: no such device 978778...
error: hd1 cannot get C/H/S values....
Run Code Online (Sandbox Code Playgroud)

这听起来一点也不太好,但至少有一些进步。

我还应该说,我现在只有内部驱动器上有 CentOS 7,我正在将此驱动器用作外部 USB 驱动器(因此/dev/sdb)。

有人可以帮我让 Windows 启动吗?

我有 Unix 背景,但主要使用 Mac OS X。我总是对设置 Windows 和 Linux 双引导感到困惑。

最后,我的 CentOS 6.5 系统在另一台机器和我的 Mac 上运行良好。

小智 2

重新安装 CentOS 引导加载程序(无论是 LILO 还是 GRUB)。引导加载程序安装程序应该识别您计算机中的操作系统,并在引导时自动向您显示操作系统选择。CMIIW。