我想为 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 网络安装显示了磁盘上的以下分区:
## DATA
/home 168GB centos-home
## SYSTEM
/boot 500MB sda3
/ 51GB centos-root
swap 3.85GB centos-swap
“其他”Windows 分区是:
ntfs 100MB sda1
ntfs 253GB sda2
这看起来不错,但是当我再次进入 CentOS 7 安装时,它告诉我必须为根分区创建挂载点。我最初没有这样做,因为我认为当我第一次安装时单击“单击此处自动创建它们”进行磁盘设置时,它会自动完成。
cfdisk
使用“救援 CentOS 系统...”访问的分区表如下所示:
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
如前所述,当我尝试使用此配置启动时,我得到“缺少操作系统”。如果我将启动标志更改回 sda1,那么它可以正常启动到 Windows 7。
更新#1
grub2
我使用grub2-install
netinstall 进行(重新)安装/dev/sda
,现在当我从磁盘启动时,我会收到grub
提示。我可以使用它来链接加载到 Windows 中。然而,当我尝试启动 CentOS 7 时,我得到了某种跟踪/转储。
我用了:
linux (hd0,msdos3)/vmlinuz-3... root=/dev/sda3
initrd (hd0,msdos3/initrd-plymouth...
boot
笔记:我相信linux
是 CentOS 的主引导分区
尝试上面的方法只会崩溃。
更新#2
yum
我使用EPEL 存储库安装了 NTFS-3G 和 NTFSPROGS 。
我运行grub2-mkconfig -o /boot/grub2/grub.cfg
然后重新启动,在启动菜单中找到 Windows 7(加载程序)。但当我选择它时,我得到:
error: no such device 978778...
error: hd1 cannot get C/H/S values....
听起来不太好,但至少取得了一些进展。
我还应该说,我现在仅在内部驱动器上安装了 CentOS 7,并且我正在将此驱动器用作外部 USB 驱动器(因此/dev/sdb
)。
有人可以帮我启动 Windows 吗?
我有 Unix 背景,但主要使用 Mac OS X。我总是在设置 Windows 和 Linux 双启动时陷入困境。
最后,我的 CentOS 6.5 系统在另一台机器上以及我的 Mac 上运行良好。
答案1
您可能安装了错误的 Windows 分区。
寻找 100 或 300MB 的小分区(引导分区Windows 的版本),安装它,然后再次运行该命令。
如果您仍然遇到问题,请将以下内容添加到末尾/etc/grub.d/40_custom
:
menuentry "Windows"{
set root='(hd0,0)'
chainloader +1
}
这是假设 Windows 启动分区是第一个硬盘的第一个分区。
别忘了奔跑grub2-mkconfig
。
答案2
挂载windows分区。 (如果无法mount安装ntfsprogs-2013.1.13-5.el7.x86_64.rpm和ntfs-3g-2013.1.13-5.el7.x86_64.rpm)
以 root 身份运行grub2-mkconfig -o /boot/grub2/grub.cfg
答案3
重新安装 CentOS 引导加载程序(无论是 LILO 还是 GRUB)。引导加载程序安装程序应该识别您计算机中的操作系统,并在引导时自动向您显示操作系统选择。 CMIIW。
答案4
发现添加 File 11_windows/etc/grub.d
更有帮助:
内容:
#!/bin/sh
cat << EOF
menuentry "WINDOWS"{
set root='(hd0,msdos1)'
chainloader +1
}
EOF
然后在grub2-mkconfig
保存备份后运行。grub.cfg
/boot/grub2
结果包括在启动过程中在 grub 菜单中添加了“WINDOWS”条目。
我的情况是针对Windows10的,但应该是一样的。