用了两天时间装CentOS 7双系统,记录一下安装过程和遇到的问题。基本安装过程参照这篇博客。这篇博客会在基本安装过程中说明对下面问题的解决方法。
- Win中的空闲分区
- 进不去CentOS安装界面
- 进入CentOS安装界面后找不到本地硬盘
- 手动设置分区大小无效
- 安装配置时报错
准备
- 8G及以上的U盘。
- CentOS 7镜像文件,直接从官网下载。
- UltraISO
安装
1. 硬盘留出空闲分区
首先进入计算机-管理-磁盘管理,通过压缩逻辑分区得到可用空间,我留出了250G。如果你在预留空间的时候没有遇到问题,直接跳到下一步骤。
Win7里显示两种空闲分区:浅绿色的可用空间和黑色的未分配空间。两种分配空间的转换关系如下:
将“未分配”变成“可用空间”的完整命令行操作(只存在未分配而不存在可用空间时才能用):
C:\user\xxx>diskpart
DISKPART> list disk
DISKPART> select disk 0 (编号是所在硬盘的编号)
DISKPART> create partition extended (把”未分配”变成扩展分区)
因为网上的教程都没有说需要用哪种空闲分区,而我在后面安装CentOS的时候一直找不到本地硬盘,所以一度怀疑是自己空闲分区的类型设置错了,于是走了些弯路,事实上只需要简单压缩逻辑分区就可以。
2. 制作启动盘
用UltraISO和CentOS 7镜像制作启动盘,按正常程序(载入镜像-写入硬件)执行,不需要对U盘做其它操作。
3. U盘启动
修改boot或启动项使系统从U盘开始启动。选择第一项Install CentOS 7开始执行,等报错停止出现dracut后输入命令:
dracut:/# cd /dev
dracut:/ ls
这时候会列出dev目录里的全部文件,找到sda和sda#(也可能是sdb和sdb#),#是编号,这个sda#是U盘在机器中的位置。命令行输入reboot让系统重启。
再次到CentOS安装界面仍选择第一项Install CentOS 7,按tab
(也有按e
的,具体看提示)进入编辑界面,把
>vmlinuz initrd=initrd.img
>inst.stage2=hd:LABEL=CentOS\x207\x20x86_64 quiet
改成:
>vmlinuz initrd=initrd.img
>inst.stage2=hd:/dev/sda# quiet (#是刚才dev目录里的数字)
这样就能顺利进入安装CentOS安装界面了。
注意:我在后面安装过程找不到本地硬盘,所以实际操作的时候还在这行命令后添加了其他的代码,会在后面选择硬盘的时候说。
4. 选择语言
5. 时间、键盘、语言、安装源、软件选择
除了软件选择其它不需要更改。软件选择部分默认的是没有图形界面的,你可以根据自己的需要选择软件。
6. 安装位置
本地标准磁盘里面应该至少有两个选项,一个U盘一个本地硬盘,如果没有本地硬盘且你的U盘是UEFI启动(在boot界面看),那么可以尝试重启,修改命令行:
>vmlinuz initrd=initrd.img
>inst.stage2=hd:/dev/sda# quiet pci=nomsi nolapic noapic
选择本地硬盘,选择“我要配置分区”,点完成进入到分区设置界面。
7. 分区设置
分区方案选择“标准分区”。然后按加号添加手动添加分区,或者选择自动创建,在自动创建的基础上做修改。空间大小的地方不设置任何值表示剩余的全部空间。
我的分区方案:
分区 | 大小 | 备注 |
---|---|---|
swap | 4 GB | 等于内存大小 |
/boot | 300 MB | 100M ~ 400M |
/var | 20 GB | 记录日志变化,看个人需求,可以没有 |
/home | 100 GB | 用户文件 |
/usr | 100 GB | 应用程序 |
/ | 20 GB | 余下的所有空间 |
事先设计好的分区方案在手动调整的时候遇到困难,添加的分区大小总不能和设置的一致,只能微调大小使之尽量接近。而且在设置swap和/boot的时候,分区大小无论设置多少都会自动变成 1024 KiB,我猜测可能是因为我给磁盘留的空闲空间在物理上不是连续的,没办法只能先自动创建分区,然后设两个swap,让它们占住了这两个1024KiB的空间,之后再调整其他的分区就不会再出现1024的情况了,最后删掉这两个用来占位的swap分区。
分区设置完成后点完成,开始安装。
8. 安装
安装的同时设置上面的root密码和新用户。
安装的时候进度条进行到中间时弹出错误提示,具体忘记是什么了,网上查了一下是因为磁盘上有一些东西阻碍了boot文件的安装,于是退回去进到win7,把已经装好的分区删掉,再新建卷-删除卷得到可用空间,重新安装。
CentOS中添加Win7启动项
安装完成后第一次重启进入了Windows,再次重启进入到命令行界面,提示 Initial setup of CentOS Linux 7 (core),依次输入 1 - 2 - q - yes。
最后是在CentOS中添加Win7的引导。打开终端,以root身份编辑文件/etc/grub.d/40_custom。
>vi /etc/grub.d/40_custom
>i (开始编辑)
在最后添加行:
menuentry ‘Windows 7’{
set root=(hd0, msdos1) (msdos1是Windows所在位置,可以通过fdisk -l命令查看)
chainloader +1
}
(按ESC退出键)
>:wq (保存并退出命令)
>grub2-mkconfig -o /boot/grub2/grub.cfg
重启后就有Win7启动项了。