折腾一天安装Centos7,以及后面恢复Win7引导的曲折历程
一、下载centos 7 livecd iso
访问镜像网站,http://mirrors.aliyun.com/centos/7.0.1406/isos/x86_64/
或者直接下载:http://mirrors.aliyun.com/centos/7.0.1406/isos/x86_64/CentOS-7.0-1406-x86_64-livecd.iso
为什么选择这个ISO?
因为足够简洁,该有的基本上有了。新手的话还是带图形界面更容易上手。高端玩家可以下载其他的ISO文件。
如果用于服务器实装,也可以用这个ISO安装完后设置为INIT 3。
二、制作USB引导盘
如果是linux系统,使用dd命令直接制作。
dd if=CentOS-7.0-1406-x86_64-livecd.iso of=/dev/sdc
注意:
dd命令制作的USB KEY无法在WIN中正常查看。但在LINUX系统中没有任何问题。
/dev/sdc为U盘的设备名。不要照抄。可以先用命令fdisk -l 查看对应的设备名
不要使用诸如/dev/sdc1这样的分区名,而是/dev/sdc这样的。因为是写入整个USB KEY。
如果是WIN系统,下载并安装Universal-USB-Installer应用程序来制作。因为RHEL、FEDROA、CENTOS都是血脉相连。该程序只能制作LIVE CD,这也是为什么我要选择该ISO的原因之一。
这个应用程序在二楼的打包文件中已经提供了。
下面贴一些实际安装过程中会出现的图片:

注意:对于U盘安装,我们需要修改镜像位置。
2.2、选择第一项:Install CentOS
7 ,按 e 键进入编辑界面。

将 vmlinuz initrd=initrd.img inst.stage2=hd:LABEL=CentOS\x207\x20x86_64 quiet
改为 vmlinuz initrd=initrd.img inst.stage2=hd:/dev/sdb4 quiet,这里sdb4为U盘所在分区,也可能是sdb1
,可根据实际情况修改(也可以用其他方法)(这个部分是网上说U盘安装时需要修改的参数部分,但实际上我并没修改直接选择第一项安装就顺利完成了)
2.3、修改后,按Ctrl+x执行修改,正常情况下,将进入安装界面,如下图:

选择想要安装的语言,点继续,如下图:

2.3.1、时区的选择
如果你安装的是英文版,需要将时区改为上海
2.3.2、键盘
英文键盘和中文键盘布局是一样的!!
2.3.3、语言支持
可同时选择支持多种语言
2.3.4、安装源(可以默认不动)
程序将自动选择,进入可以手动制定,还可以直接指定为网络位置!!
2.3.5、软件选择(注意)
进入后,可以看到有多个选项,根据需要选择,如下图:
注意:默认为最小安装,安装后是没有界面的哦!!!!
2.3.6、安装位置(重要)
这里我没有截图,下图来自网络,与实际有些不同
1、本地标准磁盘 项中,应该为 本地磁盘 和 U盘 ,选择本地硬盘
2、其他存储选项 中,选择 我要配置分区
3、注意: 最下面的 完整磁盘摘要以及引导程序 ,打开,选择不添加引导(后面再添加),不知道是我这里的问题还是共性问题,先选择
安装引导 下一步将出错!!!,最后点击完成,进入如下界面这里面的“引导程序”是一个坑,安装Centos6.4的时候是可以选择引导程序安装到哪个分区的,但是Centos7不能添加引导到默认的分区,因此安装Centos7会覆盖掉windows的MBR引导程序,所以安装Centos7后需要为Windows添加Grub引导,也是很麻烦的一件事儿、
注意:这里的分区最好选择
为标准分区。因为:在用grub引导时,无法挂载LVMPV分区,根本不识别!! 最好不要用自动创建1、点击 + 号,分别添加 swap 和 / 两个分区
大小 : swap 一般为内存的两倍
/ 为剩余的所有空间
这步需要格外注意:
(1)在选择自动创建分区时,分区信息将不能在更新,(这可能是我自己的问题,等待大家测试)
完成后,点完成,返回配置摘要界面
注意:此时,我们再选择安装位置项,将上面没添加的分区引导一项选上,直接点完成,直到返回配置界面!!
2.3.6、网络和主机名
默认网络是关着的,可以再此处打开
2.4、最后,点击开始安装,如下:
在安装过程中,可以设置 root 密码 和 新的用户 (安装后半部分不能再修改了!!)等待安装即可!!
注意: 安装过程中,如果密码太简单,需要点击两次完成来确认!
至此,安装已完成,重启,就剩下引导了!!!!!!!!!
为Centos 7添加Windows引导程序
网络方案1:
安装CentOS 7后,原来的Windows 7不会出现在启动项目里,网上查找一番后解决办法是修改grub.cfg文件。因为CentOS 7已采用新式的grub2系统,所以需要进入/boot/grub2目录后使用vim编辑grub.cfg文件。:
将下面这段Windows 7的启动项声明:
### BEGIN /etc/grub.d/30_os-prober ###
menuentry 'Windows 7 (loader) (on /dev/sda1)' --class windows --class os $menuentry_id_option 'osprober-chain-XXX' {
insmod part_msdos
insmod ntfs
set root='hd0,msdos1'
chainloader +1
}
### END /etc/grub.d/30_os-prober ###
加在### END /etc/grub.d/00_header ###之后。其中的XXX为你的Windows 7系统分区的UUID。
经过此番修改后,重启动后,Windows 7启动项可以看到了,并且也可以成功进入Windows 7。(我这样去操作了但是未成功)
网络方案②:
打开终端,su成root,
vi /etc/grub.d/40_custom
在最后加入以下行
menuentry 'win7'{
set root=(hd0,1)
chainloader +1
}
然后重设grub2,执行以下命令:
grub2-mkconfig -o /boot/grub2/grub.cfg
重启电脑 (按照此步骤操作,Windows引导失败):
menuentry 'win7'{
insmod chain
insmod ntfs
set root=(hd0,msdos1)
chainloader +1
}
menuentry 'win7 search'{
insmod chain
insmod ntfs
search -f /ntldr --set root
chainloader +1
}
按照此步骤设置后还是Windows引导失败:
-o /boot/grub2/grub.cfg
重新检测本地硬盘上是否存在有操作系统,然后自动生成启动菜单。
不需要手动去编辑,而且不用担心手工编辑出错(这样设置后重启还是没有出现Windows的引导,仔细思考什么原因呢? O !明白了Linux只能认识Ext3/4,fat32格式,而Windows是NTFS格式磁盘分区,因此Linux的Grub2识别不了NTFS上的操作系统)。
http://neosmart.net/EasyBCD/)上下载easyBCD软件,我在这里附上我下载的,安装后选择“添加新条目”,接下来“linux/BCD”,选择你你放置linux引导程序的位置,按照你的情况你应该是安装在驱动器0上的,选好以后,点击“添加条目”,然后就OK了。PS:easyBCD的功能非常的强大,不要乱搞,要不然损失你是不知道了。/mbr来擦除。这样只能进入win,而不能引导linux了。然后使用第三方软件EASY-BCD,可以重建多重引导系统。
linux下ntfs硬盘的加载(安装NTFS-3G)
问题:
# mount –t ntfs /dev/sdb1 /mnt/
mount: unknown filesystem type ‘ntfs’
这是由于CentOS release 5.5(Final)上无法识别NTFS格式的分区。
解决办法:
通过使用 ntfs-3g 来解决。
打开ntfs-3g的下载点http://www.tuxera.com/community/ntfs-3g-download/ ,将最新稳定(当前最新版本为ntfs-3g-2011.1.15 )下载到CentOS,执行以下命令安装:
1) 编译安装 ntfs-3g:
# tar zxvf ntfs-3g-2011.1.15.tgz
# cd ntfs-3g-2011.1.15
#./configure
#make
#make install
已经安装完成啦!!
1. mount命令
mount -t 文件格式 -o 选项参数 磁盘分区挂载点目录名
比如:mount -t vfat -o iocharset=utf8,umask=000 /dev/hda5 /mnt/D
再如:mount -t ntfs -o nls=utf8,umask=000 /dev/hdd1 /mnt/sysc
但到这里出现了问题,首先是我的系统不识别该文件格式NTFS,其次是你会问:"你怎么知道外挂的那个系统盘C就是hdd1?"是阿,请继续...>>2.判断哪个分区是NTFS格式,加载NTFS分区;
>>[root@localhost kalon]# /sbin/fdisk -l l
Disk /dev/sda: 120.0 GB, 120034123776 bytes
255 heads, 63 sectors/track, 14593 cylinders
Units = cylinders of 16065 * 512 = 8225280 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes
Disk identifier: 0x21d3ce88
Device Boot Start End Blocks Id System
/dev/sda1 * 1 26 204800 83 Linux
Partition 1 does not end on cylinder boundary.
/dev/sda2 5223 14593 75272557+ f W95 Ext'd (LBA)
/dev/sda3 26 4700 37544960 83 Linux
/dev/sda4 4700 5222 4194304 82 Linux swap / Solaris
/dev/sda5 5223 14593 75272526 7 HPFS/NTFS
Partition table entries are not in disk order
Disk /dev/sdb: 160.0 GB, 160041885696 bytes
255 heads, 63 sectors/track, 19457 cylinders
Units = cylinders of 16065 * 512 = 8225280 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes
Disk identifier: 0xf0b1ebb0
Device Boot Start End Blocks Id System
/dev/sdb1 * 1 2611 20972826 7 HPFS/NTFS
/dev/sdb2 2612 19456 135307462+ f W95 Ext'd (LBA)
/dev/sdb5 2612 5875 26218048+ 7 HPFS/NTFS
/dev/sdb6 5876 15539 77626048+ 7 HPFS/NTFS
/dev/sdb7 15540 19456 31463271 7 HPFS/NTFS
.............................................................................................................
现在进入NTFS的分区的加载过程;通过上面的查看,我们知道/dev/sda5是NTFS格式的;
1]我们要建一个挂载点的目录,比如是在/mnt/目录下建一个 win1 的目录:
[root@localhost kalon]# mkdir /mnt/win1
2]把/dev/ sda5 挂载到 /mnt/ win1 中,这样我们如果查看/dev/ sda5磁盘内容时,就会在/mnt/ win1 中找得到;
[root@localhost kalon]# mount -t ntfs-3g -o nls=utf8,umask=000 /dev/sda5 /mnt/win1注: -t ntfs 说明文件系统的格式是ntfs的;-o是选项 ,nls=utf8 ,意思是Native Language Support(本地语言支持)是utf8,也就是大家常说的语言编码,也可以换成iocharset=utf8;Fedora core 4.0 默认的语言编码就是utf8的,这样能显示出中文来;umask=000表示所有的用户组都可读可写,但因为NTFS在Linux中写入不安全,所以只能 读,不能写入;
是不是挂载好了呢?....
2.dh -lh 磁盘使用情况命令
>>[root@localhost kalon]# df -lh
文件系统 容量 已用 可用 已用%% 挂载点
/dev/sda3 36G 4.4G 30G 13% /
tmpfs 1012M 1.7M 1010M 1% /dev/shm
/dev/sda1 194M 24M 161M 13% /boot
/dev/sda5 72G 1.4G 71G 2% /mnt/win1
..........................说明已挂载好,可以cd /mnt/sysc/去看看了,余下的我就不多说了 .................................
............................................................................................................................................................
>>开机分区自动挂载:应把一下命令放入/etc/fstab中
/dev/sda5 /mnt/win1ntfs-3g umask=000,iocharset=utf8 0 0
>>cp -r -f srcDir dstDir //复制目录文件
>>rm -rf dstDir //删除目录文件
>>.......
2.umount命令
如果想卸载已经挂载好的目录或盘符,可输入以下命令:
[root@localhost kalon]# umount /mnt/win1
折腾一天安装Centos7,以及后面恢复Win7引导的曲折历程的更多相关文章
- 安裝CentOS7后修復win7引导
想尝试双系统的心情想必大家都能理解,但是安装了双系统之后的收尾工作也是必不可少的,由于对Linux并不算很熟悉,所以在这方面花了不少时间,这里将CentOS7下修復windows7引导的解决方案记录下 ...
- centos7下添加win7引导
这次在centos7下添加为win7引导的过程可谓是一波三折,首先是在网上找教程,这个过程还是很顺利的,通不断的 搜索,找到了两个办法.第一个办法就是在root下执行这样的一个命令: grub2-mk ...
- 安装 centos7 注意事项
最近一直没有写博客,把之前的折腾记录写下. 1 下载好镜像文件,刻录光盘. 2 用DVD安装CENTOS7 3 有些处理器不支持Cento7安装,需要重新编译内核文件.我不懂 . 我用的ACER ...
- VMWare Workstation虚拟机 安装Centos7 图文指南
本篇博文将讲述如何一步一步在VMWare Workstation 中安装Centos 7 1. 准备工作 VMWare Workstation Centos7 镜像 VMWare Workstatio ...
- 使用U盘安装CentOS7
为了在公司的旧笔记本电脑上安装centos供自己学习使用折腾了两天,终于在看了https://www.cnblogs.com/yeeo1/p/7306611.html这篇博文后装上了, 以下内容为转载 ...
- Windows下安装centOS7双系统总结
首先,按照网络教程,使用硬盘安装模式(失败): 一.使用分盘工具(easeUS Partion Master)分出一块未使用的空间,为安装centOS和保存镜像文件作准备. 二.将分出来的一部分空格, ...
- 新手学Linux:在VMware14中安装CentOS7详细教程
VMware Workstation14安装CentOS7.0 详情教程 1.准备工作 a)下载VMware workstation14 b)下载CentOS7 c)下载SSH Secure Shel ...
- U盘安装centos7.1出现dracut问题的超简单解决方法
恰好今天有空,于是抽空回忆一下之前U盘安装CENTOS7时遇到的一个大坑.U盘装系统习惯了,就顺手用大白菜工具刻了一个CentOS 7.1的minimun ISO镜像到U盘,于是噩梦开始了.如果有人像 ...
- vagrant安装centos7
1. 安装VirtualBox 去官网https://www.virtualbox.org/wiki/Downloads下载最新版的Virtualbox,然后双击安装,一直点击确认完成. 2. 安装V ...
随机推荐
- RabbitMQ入门介绍
1.关于AMQP协议 AMQP,即Advanced Message Queuing Protocol,一个提供统一消息服务的应用层标准高级消息队列协议,是应用层协议的一个开放标准,为面向消息的中间件设 ...
- SQL记录-PLSQL-DBMS输出
PL/SQL DBMS输出 DBMS_OUTPUT是一个内置的软件包,能够显示输出显示调试信息,并从PL/ SQL块,子程序,包和触发器发送消息.我们已经使用这个包在我们所有的教程中. 让我们来看 ...
- unp的hello word
最近无聊,再学学unp吧.学学网络编程.下面是一个demo: intro/daytimetcpcli.c #include "unp.h" int main(int argc, c ...
- php-url地址加密
下面是可以将我们的url地址加密.确保我们提交的数据安全 以下是代码片段: <?php function keyED($txt,$encrypt_key) //定义一个keyED { $encr ...
- javascript强大的日期函数
var date = function( a, s ) { var d = s ? new Date( s ) : new Date(), f = d.getTime(); return ( '' + ...
- es6笔记(3) 变量的解构赋值
基本概念 本质上是一种匹配模式,只要等号两边的模式相同,那么左边的变量就可以被赋予对应的值. // 以往定义接个变量的时候,需要这样 var a = 1, b = 2, c = 3; // 使用ES6 ...
- [转]linux各文件夹介绍
本文来自linux各文件夹的作用的一个精简版,作为个人使用笔记. 下面简单看下linux下的文件结构,看看每个文件夹都是干吗用的? /bin 二进制可执行命令 /dev 设备特殊文件 /etc 系统管 ...
- Hibernate5总结
1. 明确Hibernate是一个实现了ORM思想的框架,它封装了JDBC,是程序员可以用对象编程思想来操作数据库. 2. 明确ORM(对象关系映射)是一种思想,JPA(Java Persistenc ...
- jquery-easyui:如何设置组件属性
在这里以面板为例: $().ready(function() { $('#menu').tree({ url : '/menu', onClick : function(node) { $('#cen ...
- windows安装 Microsoft Visual c++
第一种方法: 第二种方法: 参考链接 直接给一个2015版本的下载地址 https://blogs.msdn.microsoft.com/pythonengineering/2016/04/11/un ...









