背景
起因是希望装 Jenkins 做持续集成,遂征用了一台同事淘汰的笔记本电脑来作为一个临时服务器。笔记本电脑所装系统是 Windows,为了最大化电脑性能以及稳定,希望更换成 Linux 系统。加上自己对 CentOS 相对比较熟悉,选择了最新版的 CentOS 7 进行安装。
相关软件版本
笔记本电脑系统:Windows 7 Ultimate
Windows 文件系统:NTFS
待安装 Linux 系统: CentOS 7.6.1810
难点介绍
由于 Linux 的文件系统与 Windows 存在差异:
- Linux 系统能识别 Windows 下 FAT32 文件系统,不能识别 NTFS 文件系统,所以在 Linux 安装时,选择任何 sda 都不行,FAT32可以
- FAT32 文件系统单个文件不能超过 4G
- 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 。(注意:如果是删除卷,需要备份此分区内的文件信息)
- 然后磁盘上应该会显示有一部分“未分配”状态的空间
- 打开 EaseUS Partition Master 10.1,在磁盘未分配空间上右键->创建分区,创建一个 10GB 的分区作为Linux镜像的安装盘,文件系统需要选择 EXT3
挂载EXT3,并拷贝安装脚本及安装文件
- 安装 Ext2Fsd 软件,安装过程中记得勾选以下选项
- 使用 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 可能需要一段时间响应)
- 安装 EasyBCD,打开后找到 Add New Entry,点 NeoGrub 标签。点 Install 然后点 Configure
- 在弹出的文档中加入下面内容(注意,以下内容中的
{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系统安装配置图解教程
**粗体** _斜体_ [链接](http://example.com) `代码` - 列表 > 引用
。你还可以使用@
来通知其他用户。