2018.12.3 日更新:本文仅作为无互联网环境下安装的参考。更推荐在互联网环境下安装软件和使用系统,毕竟会自动安装依赖包,比较方便。


因个人办公电脑装的盗版Win7总是蓝屏,影响工作,加之看到 WPS Linux版也已发布,尝试安装 CentOS 作为办公系统。大学期间学过 Linux 语法,也自己玩过 Ubuntu,倒都也熟悉。

之所以选择CentOS 是因为 CentOS 是服务器最常用的 Linux 发行版,为了和生产环境保持一致,有利于部署代码,同时网上资料也丰富。版本我选择 CentOS6, 因为个人工作用服务器是 6 版本。 CentOS 7 和 CentOS 6 有些差异。国内源中阿里云最快,3分钟完成5.7G的下载。

1. 下载 CentOS

阿里云 CentOS 6.10 源

阿里云CentOS7下载。(建议选择CentOS7 EveryThing, 9G大小,你的启动U盘要够大)

2. 制作CentOS的启动U盘

使用软件YUMI(YUMI-2.0.6.0.exe), 该软件还能制作多系统(Win+Linux)的启动盘。

YUMI支持的linux系统非常多,比如fedora、linux mint、ubuntu、opensuse、centos等几十种。

如果要创建windows系统的自启动u盘,那么需要在step2处选择

try an unlisted iso/

try an unlisted iso(from memory)

,前者适合windows安装镜像,后者则适合windows pe内存系统。

YUMI在创建自启动u盘的时候,会在u盘中创建mbr,并且还带有自己的引导界面,从而可以对多个需要自启动系统进行有效的管理。

如果U盘被占满,你需要删除其中某些iso的话,还是运行YUMI,勾选“remove an installed item”来选择需要删除的已安装U盘系统。

这样一来,选定的系统也会在启动列表中被删除,而其他项目不会被影响。

3. 在Windows上安装 CentOS

首先在 WIn 上预留出一定空间的空白磁盘,

然后重启电脑,开机按F10(不同PC按键不同),选择U盘启动,进入U盘内的 YUMI 界面。以下可按照 知乎帖子 安装。

注意:知乎帖子中的 sda , sdb 不一定和你的 sda ,sdb 一致。

第19步时,点击“更换设备”,如下图选择MBR,第一个选择sda,第二个选择sdb。

这里的“BIOS驱动顺序”不能简单的选择 sda 或者 sdb,而是第一个选择你的硬盘,第二个选择 U盘或者其它非启动硬盘。

按照知乎帖子,很顺利的就装上了 CentOS6。

4. 更换启动顺序,默认启动Win7

一旦选择了grub为引导程序,下面我们来了解一下它的配置.
/boot/grub/grub.conf是grub产生一个引导选择菜单以及设置一些选项.下面是我的grub.conf:

# grub.conf generated by anaconda
#
# Note that you do not have to rerun grub after making changes to this file
# NOTICE: You have a /boot partition. This means that
# all kernel and initrd paths are relative to /boot/, eg.
# root (hd0,6)
# kernel /vmlinuz-version ro root=/dev/hda10
# initrd /initrd-version.img
#boot=/dev/hda
default=0
timeout=10
splashimage=(hd0,6)/grub/splash.xpm.gz
# --> Redhat Linux 8.0 <--
title Red Hat Linux (2.4.18-14)
root (hd0,6)
kernel /vmlinuz-2.4.18-14 ro root=LABEL=/
initrd /initrd-2.4.18-14.img
# --> Win7 <--
title Win7
rootnoverify (hd0,0)
chainloader +1

这个文件很简单,title 后面可以修改名称,注意只支持英文。default=0是默认第一个:ReaHat,如果改为default=1则默认启动第二个:Win7。

5. 为终端换个炫酷实用的皮肤

默认终端白底黑字,命令和文件显示内容区分不开,不好用。按 本文 给命令上个色。(注意:该文章有个错误:PS1最后的结束双引号里漏掉了个 ]

原文纰漏更正: PS1="\[\e[32m\]#\##\[\e[1;31m\]\u@\[\e[36m\]\h \w]\$\[\e[m\]"

另外,也可以参考我的 PS1,效果就是 [hp@myPC ~ 15:26:44]$ 这个命令提示符 变成了红色:

PS1="\[\e[31m\][\[\e[1;31m\]\u@\[\e[31m\]\h \w \t]\$\[\e[m\]"

简单解释下,\[\e  ..  \]     这个可以看作一个整体。用来修饰 后面紧跟元素的颜色等特性。里面的  [32m  就是颜色值,最后的  \[\e[m\]  是结束,用来关闭颜色设置的。要是你没有这个的话;那么,你的命令提示符,包括你通过命令提示符输出的东西都是和最后一次的颜色设置相同。

6. 使用DVD1 和 DVD2作为离线源

参考:使用CentOS DVD1 和DVD2做本地yum源 (简洁有力,我忍不住自己转载并作了更正)

注意:该文章有个错误。第三步的第一个命令:  cp -av /mnt/dvd1 /mnt/dvd3   应为

cp -av /mnt/dvd1/* /mnt/dvd3

其中,有个比较骚的大括号{}操作:

mv /mnt/dvd3/Packages/{TRANS.TBL,TRANS.TBL.BAK} ,其实就是

mv /mnt/dvd3/Packages/TRANS.TBL /mnt/dvd3/Packages/TRANS.TBL.BAK  的简写。大括号内的元素相当于和前后自动拼接成多个字符串。

7. 安装 rdesktop 远程Windows

有了第5步,就可以随意安装CentOS的软件了。安装远程桌面连接工具rdesktop,方便控制我/同事/闲置/远程的Win台式机/WinServer处理Linux无法做到的任务。

yum install rdesktop tsclient

远程连接windows桌面的命令

rdesktop -f -a 16 192.168.3.179

rdesktop是基于命令行的工具,使用简单,用man rdesktop可查询命令参数

即可连接远程的Windows桌面. -f表示全屏显示,-a 16 表示使用16bit色,后面是Windows服务器的地址 。

退出全屏,用Ctrl+Alt+Enter可切换到linux桌面。注意:不要用数字键盘的 Enter,该键进行组合无效。

7. 安装 WPS for Linux[放弃]

没有互联网的情况下,此操作复杂,忽略,建议使用互联网环境下安装。因为我在安装中发现系统自动安装了依赖包:mesa-libGLU.x86_64 0:9.0.0.0-4.el7

最后,CentOS中安装 VirtualBox + Windows7

双系统切换起来,显然比较麻烦。在CentOS 6 中直接装个 Win7 虚拟机用起来更舒服些,毕竟领导安排的有些东西还是需要使用 Win7 的软件。

进入VirtualBox官网,找到 【 Oracle Linux 6 / Red Hat Enterprise Linux 6 / CentOS 6 i386 | AMD64 】。根据自己是32位还是64位选择,我是64位,我选择 AMD64。

拷贝到 CentOS 6中双击安装即可。

2018年11月8日 over.

【Linux-CentOS】在无互联网-内网环境的Windows7主机上安装CentOS双系统,从安装到放弃的更多相关文章

  1. Linux内网环境DNS修改域名指向,JAVA应用程序能否实时切换的问题总结

    公司内网环境中许多调用资源(数据库.web接口等)都是通过内网DNS服务来进行域名-IP的映射. 但经常出现DNS映射修改完毕后,应用中连接的资源迟迟没有变更. 以前一直笼统的认为是linux的dns ...

  2. Linux系统如何在离线环境或内网环境安装部署Docker服务和其他服务

    如何在离线环境或纯内网环境的Linux机器上安装部署Docker服务或其他服务.本次我们以Docker服务和Ansible服务为例. 获取指定服务的所有rpm包 保证要获取rpm包的机器能够上网. 本 ...

  3. 内网环境搭建NTP服务器

    说在前面:ntp和ntpdate区别 ①两个服务都是centos自带的(centos7中不自带ntp).ntp的安装包名是ntp:ntpdate的安装包是ntpdate.他们并非由一个安装包提供. ② ...

  4. 内网环境上部署k8s+docker集群:集群ftp的yum源配置

    接触docker已经有一年了,想把做的时候的一些知识分享给大家. 因为公司机房是内网环境无法连接外网,所以这里所有的部署都是基于内网环境进行的. 首先,需要通过ftp服务制作本地的yum源,可以从ht ...

  5. 内网环境下为Elasticsearch 5.0.2 添加head服务

    背景: 本项目的服务器是内网环境,没有网络,因此需要在离线的环境中,安装head服务. 需要用到的安装包有: node的安装包 elasticsearch的head插件源码 说明:此次只讲述为elas ...

  6. 内网环境使用ansible安装software 需要外网时,如何绑定代理呢

    内网环境使用ansible安装software 需要外网时,如何绑定代理呢? 方法一: 在ansible 的脚本里,yum install 的地方,添加语句: environment: https_p ...

  7. Centos7.2内网环境安装MySQL5.7.24

    1.配置本地yum源 内网环境,首先需要配置本地yum源,以解决MySQL的依赖安装,具体参考该文:点击打开 2.查看服务器环境 uname -a 3.去官网下载MySQL安装包 MySQL官网网址: ...

  8. [转]用apache反向代理解决单外网ip对应内网多个web主机的问题

    用apache反向代理解决单外网ip对应内网多个web主机的问题 转载一个有独立外网IP,需内网服务器对外发布的例子,是应用apache虚拟主机的. 来源地址:http://www.itshantou ...

  9. win10环境下安装Ubantu双系统(超详解)

    win10环境下安装Ubantu双系统 1.准备工作: 先去ubantu官网(https://www.ubuntu.com/download)去下载ubantu镜像.根据自己的实际情况选择32位的或者 ...

随机推荐

  1. Linux分区扩容

    lz在MAC上面使用Linux虚拟机,开始只建了一个分区,挂载在”/”目录下.现在硬盘空间不够了,所以lz就来给这个分区扩容. 首先,当然是要给虚拟机分配更多的硬盘空间喽(lz用的是VMware Fu ...

  2. 基础知识之 - C# Using的用法

    C#里面Using有两种用法: 1.作为指令. using+命名空间,导入其他命名空间中定义的类型,这样可以在程序中直接用命名空间中的类型,不必指定命名空间: 命名空间是.NET程序在逻辑上的组织结构 ...

  3. [转]Debugging into .NET Core源代码的两种方式

    本文转自:http://www.cnblogs.com/maxzhang1985/p/6015719.html 阅读目录 一.前言 二.符号服务器 三.项目中添加ASP.NET Core源代码 四.写 ...

  4. [转]MVC系列——MVC源码学习:打造自己的MVC框架(一:核心原理)

    本文转自:http://www.cnblogs.com/landeanfen/p/5989092.html 阅读目录 一.MVC原理解析 1.MVC原理 二.HttpHandler 1.HttpHan ...

  5. Redis的Publish/Subscribe

    Publish/Subscribe 从字面上理解就是发布(Publish)与订阅(Subscribe),在Redis中,你可以设定对某一个key值进行消息发布及消息订阅,当一个key值上进行了消息发布 ...

  6. 从零开始编译属于你的FFmpeg

    一.前提: 编译FFmpeg可以是初学者,尤其是对C语言项目,Linux编译不熟悉的的初学者的一道门槛. 我曾经找过很多博客,文章,有些能编译成功,有些则不能.编译通过,能够运行也是云里雾里的.其实最 ...

  7. poi学习

    需要节点  <dependency>  <groupId>org.apache.poi</groupId>  <artifactId>poi</a ...

  8. Form表单元素

    Form表单元素 action method input: name value type: text password button radio checkbox file submit reset ...

  9. jQuery 添加样式属性的优先级别

    jQuery类中添加多个属性 $('#five .a') .css({ color:'blue', border:'2px solid green', background:'blue' }); jQ ...

  10. jQuery源码分析系列(版本1.9 - 1.10)

    jQuery是我们常用的javascript库,我们应该不仅要会用它还要知道它的工作原理. 1.jQuery结构及$方法的工作原理 2.对回调函数操作的Callbacks对象 3.promise规范的 ...