CentOS 7系统中恢复Windows 7启动项

以前在装Windows和CentOS 双系统时,每次都是先装Windows再装CentOS,这样在装CentOS的过程中就会发现windows的启动项,并且可以让用户去设置默认启动项,这样装双系统非常的方便。

这次打算用用最新的CentOS 7,于是在原来Windows 7的基础上用光盘装了CentOS 7,但是装完后发现启动时没有Windows 7的启动项

解决方法很简单,以root身份执行下面操作:

vim  /boot/grub2/grub.cfg

在打开的文件中找到:

### BEGIN /etc/grub.d/30_os-prober ###
### END /etc/grub.d/30_os-prober ###

然后再上面两条注释语句之间添加下面内容:

menuentry 'Windows 8 (loader) (on /dev/sda1)' --class windows --class os $menuentry_id_option 'osprober-chain-140E68540E6830C2' {
insmod part_msdos
insmod ntfs
set root='hd0,msdos1'
chainloader +1
}

再次启动计算机就会发现Windows的启动项。需要说明的是上面的hd0表示第一块硬盘,msdos1表示Windows系统的第一个分区,也就是Windows的启动分区,默认情况下它和C盘所在的系统分区不是同一个分区

### CentOS 7 上安装 Windows 实现双系统的方法或指南 在现有 CentOS 7 系统上安装 Windows 以实现双系统是一项复杂的任务,主要原因是 Windows 安装程序通常会覆盖 GRUB 引导加载程序。以下是关于如何实现这一目标的详细说明。 #### 1. 准备工作 在开始之前,确保以下准备工作已完成: - 备份重要数据:无论是 CentOS 还是 Windows 的安装过程,都可能对硬盘分区造成影响[^3]。 - 创建备份引导介质:使用工具如 `grub-install` 或第三方软件(例如 SuperGrubDisk)来恢复 GRUB 引导加载程序[^4]。 - 下载 Windows 安装镜像,并将其写入 U 盘。推荐使用工具如 Rufus 或 balenaEtcher 来完成此操作[^4]。 #### 2. 分区调整 为了给 Windows 留出足够的空间,需要调整现有的 CentOS 分区: - 使用 `gparted` 或其他分区管理工具缩小现有 Linux 分区,为 Windows 创建一个 NTFS 格式的未分配空间[^3]。 - 确保新分区符合 Windows 的最低要求,通常建议至少 20GB[^2]。 #### 3. 安装 Windows - 插入包含 Windows 安装镜像的 U 盘并重启计算机。 - 在 BIOS/UEFI 设置中,将启动顺序更改为优先从 U 盘启动[^3]。 - 按照 Windows 安装向导提示选择未分配的空间进行安装。切勿格式化或删除现有的 Linux 分区[^1]。 #### 4. 恢复 GRUB 引导加载程序 Windows 安装完成后,GRUB 引导加载程序可能会被覆盖。需要通过以下步骤恢复- 使用 CentOS 安装介质启动到救援模式。 - 挂载根文件系统并重新安装 GRUB: ```bash grub2-install /dev/sda grub2-mkconfig -o /boot/grub2/grub.cfg ``` - 重启计算机以验证是否可以正常引导两个操作系统。 #### 5. 配置双系统引导 如果 GRUB 没有自动检测到 Windows 系统,可以手动添加引导项: ```bash cat <<EOF | sudo tee /etc/grub.d/40_custom menuentry "Windows" { set root='(hd0,msdos1)' chainloader +1 } EOF ``` 更新 GRUB 配置文件后重启系统[^3]。 ### 注意事项 - 确保 BIOS/UEFI 模式与现有 CentOS 系统一致。混合使用 Legacy 和 UEFI 模式可能导致引导问题[^2]。 - 如果遇到引导问题,可以尝试使用修复工具如 Boot-Repair[^4]。 ```python # 示例代码:挂载分区并重新安装 GRUB import os def reinstall_grub(device): os.system(f"grub2-install {device}") os.system("grub2-mkconfig -o /boot/grub2/grub.cfg") reinstall_grub("/dev/sda") ```
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值