安装 Windows 10 + Centos 7 双系统共存

第一步 准备工做

分区

给CentOS 系统单首创建一个分区,具体看空闲硬盘的大小决定。html

  • 右键桌面上 [个人电脑] 或者 [此电脑] 图标,选择 [管理] → [计算机管理] → [存储] - [磁盘管理]
  • 选择一个空闲空间较大的分区,右键选择 [压缩卷(H)...]
  • 在弹出的对话框中输入须要分配给 CentOS 系统的空间大小,以 MB 为单位
  • 输入完毕后,点击对话框右下角的 [压缩] 按钮执行压缩便可
注意:压缩出的新分区,不要执行 [新建简单卷],不然稍后 CentOS 不识别,到此步便可

下载 CentOS 7 系统文件

CentOS官网 下载 ISO 文件,DVD 版便可。linux

制做优盘启动盘

一样很简单:git

  • 准备一个优盘,备份里面全部你认为不能删的文件,稍后将会格式化此优盘
  • UltraISO官网 下载软件
  • 安装,我基本是用完就卸载,因此,除了安装路径改下,其余所有默认
  • 运行 UltraISO,选择试用,选择主界面菜单栏里的[文件] → [打开],选择你刚下载好的 CentOS 7 镜像
  • 选择菜单栏里的 [启动] → [写入硬盘映像]
  • 在弹出框中确认选中的优盘无误,其余选项保持默认,无需修改,直接点击下方的 [写入] 按钮,执行制做优盘启动盘,稍后确认制做成功的提示信息便可

准备工做到此结束github

第二步 从优盘启动安装

调整 BIOS 引导顺序

  • 插入刚刚制做的优盘启动盘,重启电脑,开机阶段按 F2F8F12 进入 BIOS
  • 切换到 Boot 界面,找到优盘启动项,使用 F5F6 调整其顺序至第一位,即从优盘启动
  • F10 保存并退出 BIOS ,便可从优盘引导启动。
  • 稍后进入一个标题为 CentOS 7 的黑白界面:

图片加载中...

同时提示 Press Tab for full configuration options on menu items.Automatic boot in 60 seconds...centos

  • 默认选中的是 第一项即 Install CentOS 7,按 Tab 键,下方的提示信息将显示为 vmlinuz initrd=initrd.img inst.stage2=hd:LABEL=CentOS\x207x20x86_64 rd.live.check quiet

图片加载中...

  • 移动光标,删除 LABEL=CentOS\x207x20x86_64 rd.live.check 这部分,并用 linux dd 替换,最终的内容为 vmlinuz initrd=initrd.img linux dd quiet

图片加载中...

  • 确认无误后回车,能够看到以下界面

图片加载中...
这里能够看到,界面下方有4列,分别是 DEVICETYPELABELUUIDLABEL 这一列就是驱动器名称,据此找到你的优盘,并记下对应 DEVICE 列的值,通常是 sdb4ui

  • 强制关闭计算机后再开机,回到刚才倒计时那个界面,依旧按 Tab 键,修改启动参数,此次修改成 vmlinuz initrd=initrd.img inst.stage2=hd:/dev/sdb4 rd.live.check quiet,这里的 sdb4 替换成你刚才记下的本身优盘对应的 DEVICE 列的值。

图片加载中...

  • 确认无误后回车,稍等片刻就能够看到暖暖的界面啦!

图片加载中...

开始安装

  • 上面的系统语言根据须要自行选择(为了防止系统自动生成家目录下有 桌面下载 这类中文名路径,切换路径的时候还要修改输入法,比较麻烦,因此这里我保持默认,即 English),这里主要说下第二步的 INSTALLATION SUMMARY

图片加载中...

选择须要安装的基础软件

  • 点击 SOFTWARE 下的 SOFTWARE SELECTION 选择一些须要安装的基础软件,这里只选择安装一个桌面软件 GNOME Desktop 就够了,选择完成以后点击左上角的 Done 回到 INSTALLATION SUMMARY 主界面。

图片加载中...

磁盘分区

  • 点击 SYSTEM 下的 INSTALLATION DESTINATION 选择安装位置,这里能够看到咱们以前压缩出来的那个新分区,以及优盘分区。

选中那个新分区,并选中 Other Storage OptionsPartitioning 下的 I will configure partitioning 选项,切记,必定要选中此项,不然整个硬盘的数据都将被删除!!!
确认无误后,点击左上角的 Done
图片加载中...spa

  • 这一步对硬盘进行分区,能够点击 Click here to create them automatically 便可让安装程序自动建立分区,很是方便,也能够点击左下角写有 AVAILABLE SPACE 字样的红色区域上方的 + 按钮手动建立分区。

图片加载中...
选择手动分区的话,要注意单位,这里我选择自动分区。分区完成而且确认无误后,点击左上角的 Done 结束对硬盘的分区操做。下面我讲下手动分区操做步骤。操作系统

点击 + 按钮,在弹出的对话框中选择新分区挂载的路径,并输入新分区的大小,这里咱们设置新分区的大小为 6 GB,并挂载在 根目录 / 下。点击 Add mount point 保存分区信息。
图片加载中....net

此时,能够看到新分区已经出如今左侧栏里了,但分区的单位并不对,默认刚才输入的单位是 MiB 并显示为 KiB ,这里咱们修改成 MiB 便可,点击右下角 Update Settings 保存修改后的信息。
图片加载中...
以一样的方式添加 swap 等分区,添加完成后,点击左上角的 Done 按钮,完成对磁盘的分区。若是没有给 /boot 进行分区,会在第一次点击 Done 后收到警告信息。能够点击 Click for details 查看警告缘由,而后点击 Close 后再次点击一次 Done ;也能够忽略警告信息,再点一次 Done
图片加载中...
忽略警告信息,点击两次 Done 以后,能够在弹出的对话框中看到,即将对磁盘进行修改的摘要信息,直接点击 Accept Changes ,开始对硬盘执行分区操做。
图片加载中...code

  • 回到 INSTALLATION SUMMARY 界面,待分区执行完成后, SYSTEM 下的 INSTALLATION DESTINATION 下的黄色感叹号就没有。点击右下角的 Begin Installation 按钮开始安装 CentOS 系统。

图片加载中...

初始化帐户

  • 安装进度界面能够看到 USER SETTINGS 下,ROOT PASSWORD 提示须要给 root 帐户设置密码(root 帐户默认是没有密码的),USER CREATION 提示建立一个普通用户。下面咱们按照提示完成对帐户的初始化。

图片加载中...

  • 点击 USER SETTINGS 下的 ROOT PASSWORD ,给 root 帐户设置密码。若是设置的密码强度不够,须要点两次 Done 按钮忽略警告信息,完成对 root 帐户的初始化。

图片加载中...

  • 完成对 root 帐户初始化后,能够看到 USER SETTINGSUSER CREATION 的黄色感叹号已经消失了,说明初始化 root 帐户的密码后,建立普通帐户已经变成一个可选项。

图片加载中...

但推荐仍建立一个普通帐户,以便平时使用,而非平时直接使用 `root` 帐户,这样能够减小使用过程当中的误操做,以及 `root` 帐户密码泄露的风险。点击 `USER CREATION` ,建立一个新的帐户,一样 `ROOT PASSWORD` 同样,若是密码强度不够,请点击两次 `Done` 按钮。

图片加载中...

完成安装

  • 约15 ~ 30 分钟后,CentOS 7 的安装就大功告成啦。为了不重启后再次从优盘启动,能够先拔掉优盘,再点击 Reboot 按钮重启计算机;也能够在重启时进入 BIOS 调整引导顺序,恢复硬盘做为第一引导盘。

    图片加载中...

  • 开机后会看到一个黑白屏的启动菜单,而且有一个默认选项,屏幕下方有一个 5 秒的倒计时,若 5 秒内没有任何操做,将使用默认选中的内核启动系统,也可使用上下键进行切换并按回车键,便可使用选中的内核启动系统。这里默认便可。

第三步 找回 Windows 10 启动项

可能你们都注意到了,上面重启以后,已经没法进入以前的 Windows 10 系统。是的,CentOS 7 不能在安装过程当中设置以后的启动项,不像 Ubuntu 那样,在安装 Ubuntu 的过程当中,就能够选择启动项,所以这时候就没法进入 Windows 10 了。
不过,不用担忧,由于 Windows 10 系统的引导信息以及数据都是还在的,咱们只须要在 CentOS 7 中找回 Windows 10 的引导信息并添加到启动菜单中就能够了。

  • 启动 CentOS 7 并使用事先设定的帐户,登陆系统。这里我使用的是非 root 帐户登陆的。

安装 ntfs-3g

  • 右键桌面,打开一个终端。执行如下命令安装 ntfs-3g

    sudo yum install -y ntfs-3g

之因此须要安装 ntfs-3g ,是由于 Windows 家族专用的文件系统,CentOS 7 默认不能识别,而要想在 CentOS 7 系统中找回 Windows 10 的引导信息,势必要让 CentOS 7 系统识别 Windows 10 的文件系统,故安装此库。

更新 Grub2 启动菜单,找回 Windows 10

  • 执行如下命令便可找回 Windows 10 引导信息:

    sudo grub2-mkconfig -o /boot/grub2/grub.cfg

这一条命令,是让 grub2 自动扫描磁盘中已经安装的全部系统的引导信息,并将其加入到启动菜单中。重启一下计算机,在上面提过的启动菜单界面,是否是能够看到一个有 Windows 字眼的启动项啦?这就是你的 Windows 10!切换到此项,回车,我 Windows 10 又回来啦!

第四步 修复启动菜单界面 Windows 版本显示错误的问题

虽然 Windows 10 已经找回,然而,不尽如人意的是,引导 Windows 10 的菜单项上的 Windows 系统的版本并不是“Windows 10”,而是“Windows 7”或 “Windows 8.1”等。
初步推测,此启动项上显示的 Windows 版本号,取决于你从何版本的 Windows 升级到 Windows 10的(若你是从 Windows 7 升级到 Windows 10 的,那此启动项的文字就会显示“Windows 7”字眼,对于从 Windows 8.1 升级也是同样的道理。未考虑直接安装 Windows 10 的状况)。
须要说明的是,这里只是一个文字显示错误,对正常使用没有丝毫影响。但你有强迫症的话,请继续往下看。

修复显示错误

我已经打好了一个 patch,放到了这里了,登陆已安装好的 CentOS 7 系统,打开一个终端,并这行如下命令便可:

  • 下载patch

wget https://gist.githubuserconten...

- 安装patch

((sudo cp 20microsoft-win10.patch / && cd / && sudo patch -p0 ) < 20microsoft-win10.patch)

## 错误缘由浅析
- 启动菜单是执行 `Grub2` 的命令后,由 `Grub2` 生成的
- `Grub2` 自己并不能识别磁盘中已安装的操做系统,它是依赖 `os-prober` 这个库来识别的
- `os-prober` 本是为 `debian` 系统编写的,其在 `debian` 系统下不能识别 `Windows 10` 的问题已经修复
- CentOS 下的 `os-prober` 目前最新版本依旧是 `1.58` ,该版本依旧存在此问题,貌似 CentOS 下的 `os-prober` 无人维护。问题代码位置是 `/usr/libexec/os-probes/mounted/20microsoft`
相关文章
相关标签/搜索