4

背景

起因是希望装 Jenkins 做持续集成,遂征用了一台同事淘汰的笔记本电脑来作为一个临时服务器。笔记本电脑所装系统是 Windows,为了最大化电脑性能以及稳定,希望更换成 Linux 系统。加上自己对 CentOS 相对比较熟悉,选择了最新版的 CentOS 7 进行安装。

相关软件版本

笔记本电脑系统:Windows 7 Ultimate
Windows 文件系统:NTFS
待安装 Linux 系统: CentOS 7.6.1810

难点介绍

由于 Linux 的文件系统与 Windows 存在差异:

  1. Linux 系统能识别 Windows 下 FAT32 文件系统,不能识别 NTFS 文件系统,所以在 Linux 安装时,选择任何 sda 都不行,FAT32可以
  2. FAT32 文件系统单个文件不能超过 4G
  3. CentOS 7.6文件大于 4G (最小安装镜像也许不存在这个问题,笔者未尝试)

所以:在 Win7 下使用 FAT32 和 NTFS 系统存放安装 ISO 都不可行,则要想办法用工具分出一块 Linux 文件系统,如:ext3,不受 4G 的限制

准备工作

需要准备的软件

  • CentOS 7: 64位安装文件,这个是必须有的。
  • deamon tools:虚拟光驱,用来挂载 CentOS iso 镜像安装文件
  • EasyBCD:设置引导启动用
  • EaseUS Partition Master 10.1:用于格式化成ext3
  • Ext2Fsd:在win7下挂载linux文件系统ext2、ext3等
  • WinGrub:只是为了看一下分区编号,其实很鸡肋,没有也可以,需要一个个地实验

分配空间

  • 打开磁盘管理器:Win徽标键+R键调出运行框,输入指令diskmgmt.msc回车调出磁盘管理器。
  • 在磁盘的最后一个主分区上点击右键,选择“删除卷”或“压缩卷”,空间建议至少 100G 。(注意:如果是删除卷,需要备份此分区内的文件信息)

clipboard.png

  • 然后磁盘上应该会显示有一部分“未分配”状态的空间

clipboard.png

  • 打开 EaseUS Partition Master 10.1,在磁盘未分配空间上右键->创建分区,创建一个 10GB 的分区作为Linux镜像的安装盘,文件系统需要选择 EXT3

clipboard.png

挂载EXT3,并拷贝安装脚本及安装文件

  • 安装 Ext2Fsd 软件,安装过程中记得勾选以下选项

clipboard.png

  • 使用 Ext2Fsd 挂载刚刚分配的 10GB 的 EXT3 格式的磁盘分区
  • 使用 deamon tools 挂载 CentOS 7 的 iso 文件,打开虚拟光驱,复制根目录的 images 和 isolinux 两个文件夹到 10GB 的 EXT3 磁盘分区中
  • 复制 CentOS 7 的 iso 到 10GB 的 EXT3 磁盘分区中(注意:是以.iso为后缀文件,而不是虚拟光驱中的文件)

查看分区编号,并添加启动脚本

  • 安装 WinGrub,在Tool->Partition List打开的页面中找到 10GB 的 EXT3 磁盘分区的编号,例如:(hd0,5)(注意:由于软件反应速度慢,打开 Partition List 可能需要一段时间响应)

clipboard.png

  • 安装 EasyBCD,打开后找到 Add New Entry,点 NeoGrub 标签。点 Install 然后点 Configure

clipboard.png

  • 在弹出的文档中加入下面内容(注意,以下内容中的{0}{1}为占位符,取决你你自己的系统,不要直接复制):
title CentOS 7
root {0}
kernel {0}/isolinux/vmlinuz linux repo=hd:/dev/{1}:/
initrd {0}/isolinux/initrd.img
  • 替换{0}为你的 10GB 的 EXT3 磁盘分区编号,如:(hd0,5)
  • 替换{1}为你的linux repo地址,如:sda6。这里sda后面的数字是比你的分区编号大 1 的数字(说明在 linux 里磁盘编号是从 1 开始,而 windows 从 0 开始,故两者相差 1)
  • 完整的文本内容见下面
title CentOS 7
root (hd0,5)
kernel (hd0,5)/isolinux/vmlinuz linux repo=hd:/dev/sda6:/
initrd (hd0,5)/isolinux/initrd.img
  • 补充:linux repo=hd:/dev/sda7:/代表你的linux系统位置,如果sda不行,需要替换成sdb试下。具体原理笔者不太清楚,如有懂的希望在评论区中回复下。只有CentOS 7需要。

开始安装

完成以上步骤即可以重启系统开始安装……
网上关于 CentOS 7 的安装文档很多,不在本文研究范围内,贴出链接方便下大家:
CentOS 7系统安装配置图解教程

参考资料

Win7下硬盘安装CentOS7!
Windows 7下硬盘安装CentOS 6.5


沉静
77 声望10 粉丝

在因准备面试复习知识的时候,发现很多原理都是生活中现象的体现,随即想到如果能用生活中的例子来讲技术原理是不是更容易理解?将来会考虑往这个方向去写一些文章。也算是致敬刘欣老师。