使用VNC远程安装CentOS 7操作系统

by 无若

数据中心一般都不在本地,如果希望重新安装系统,难道还要跑到数据中心...
所以必须要有一种方式来远程解决这个问题。

目前CentOS 7主要使用的引导方式是grub2,这与过去的grub1差别其实是很大的。

1. 确定你的网卡名称,IP等相关信息

# 查看 IP地址及网卡信息
[root@localhost /]# ip a
1: lo: <LOOPBACK,UP,LOWER_UP> mtu 65536 qdisc noqueue state UNKNOWN
link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00
inet 127.0.0.1/8 scope host lo
valid_lft forever preferred_lft forever
inet6 ::1/128 scope host
valid_lft forever preferred_lft forever
2: enp3s0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc pfifo_fast state UP qlen 1000
link/ether 00:21:70:5c:a5:6f brd ff:ff:ff:ff:ff:ff
inet 192.168.17.131/24 brd 192.168.17.255 scope global enp3s0
valid_lft forever preferred_lft forever
inet6 fe80::221:70ff:fe5c:a56f/64 scope link
valid_lft forever preferred_lft forever

# 查看网关

[root@localhost /]# ip route show
default via 192.168.17.254 dev enp3s0 proto static metric 100
192.168.17.0/24 dev enp3s0 proto kernel scope link src 192.168.17.131 metric 100

从这里我们可以得到如下信息:

设备名称: enp3s0

IP地址:192.168.17.131

网关地址:192.168.17.254

2. 下载 CentOS 的 bootstrap 文件

yum install wget
cd /boot
wget http://mirror.centos.org/centos/7/os/x86_64/isolinux/vmlinuz -O vmlinuz-7
wget http://mirror.centos.org/centos/7/os/x86_64/isolinux/initrd.img -O initrd-7.img

3. 添加grub启动条目

查看/boot/grub2/grub.cfg,找到如下代码部分:

menuentry 'CentOS Linux (3.10.0-327.22.2.el7.x86_64) 7 (Core)' --class centos --class gnu-linux --class gnu --class os --unrestricted $menuentry_id_option 'gnulinux-3.10.0-327.el7.x86_64-advanced-5abaf349-18ce-4481-8e31-f29b0120827f' {

        load_video
set gfxpayload=keep
insmod gzio
insmod part_msdos
insmod xfs
set root='hd0,msdos1'
if [ x$feature_platform_search_hint = xy ]; then
search --no-floppy --fs-uuid --set=root --hint-bios=hd0,msdos1 --hint-efi=hd0,msdos1 --hint-baremetal=ahci0,msdos1 --hint='hd0,msdos1' 3ee40dd3-d836-4aa5-b145-9fbc2541b151
else
search --no-floppy --fs-uuid --set=root 3ee40dd3-d836-4aa5-b145-9fbc2541b151
fi
linux16 /vmlinuz-3.10.0-327.22.2.el7.x86_64 root=/dev/mapper/centos-root ro crashkernel=auto rd.lvm.lv=centos/root rd.lvm.lv=centos/swap rhgb quiet LANG=en_US.UTF-8
initrd16 /initramfs-3.10.0-327.22.2.el7.x86_64.img
}

然后把这一段拷贝到/etc/grub.d/40_custom中做如下修改:

#!/bin/sh
exec tail -n +3 $0
# This file provides an easy way to add custom menu entries. Simply type the
# menu entries you want to add after this comment. Be careful not to change
# the 'exec tail' line above. menuentry 'NetInstall' {
load_video
set gfxpayload=keep
insmod gzio
insmod part_msdos
insmod xfs
set root='hd0,msdos1'
if [ x$feature_platform_search_hint = xy ]; then
search --no-floppy --fs-uuid --set=root --hint-bios=hd0,msdos1 --hint-efi=hd0,msdos1 --hint-baremetal=ahci0,msdos1 --hint='hd0,msdos1' 3ee40dd3-d836-4aa5-b145-9fbc2541b151
else
search --no-floppy --fs-uuid --set=root 3ee40dd3-d836-4aa5-b145-9fbc2541b151
fi
linux16 /vmlinuz-7 inst.vnc inst.vncpassword=12345678 inst.headless ip=192.168.17.131::192.168.17.254:255.255.255.0::enp3s0:none nameserver=114.114.114.114 inst.repo=http://mirror.centos.org/centos/7/os/x86_64/ inst.lang=en_US inst.keymap=us
initrd16 /initrd-7.img
}

此处解释一下格式:

inst.vnc #启用vnc

inst.vncpassword=12345678 # vnc 登陆密码(至少是8个及其以上的字符)

inst.headless

ip=192.168.17.131::192.168.17.254:255.255.255.0::enp3s0:none

# ip=ip::网关:子网掩码::设备名称:none

nameserver=114.114.114.114 # DNS地址

inst.repo=http://mirror.centos.org/centos/7/os/x86_64/

# yum源地址

inst.lang=en_US

# 默认语言

inst.keymap=us

# 键盘模式

# 配置/etc/default/grub

打开 /etc/default/grub

修改 GRUB_DEFAULT=0 为 GRUB_DEFAULT=saved

# 再检查一次,所有配置

4. 重建配置,使配置生效

# 重建grub配置

grub2-mkconfig -o /boot/grub2/grub.cfg

# 列出所有启动条目

awk -F\' '$1=="menuentry " {print $2}' /etc/grub2.cfg

# 下一次启动使用NetInstall,仅使用一次

grub2-reboot NetInstall

# 重启系统

reboot

5. 使用VNC安装CentOS系统 

其他资料都提到等待一分钟左右,个人实验等待了约10分钟,这主要取决于网速。

下载 tightVNC (http://www.tightvnc.com/download.php)

密码就是上面设置的 12345678

成功进入CentOS的安装界面

注意:这里使用的是外部的yum源,很多情况下网络是封闭的,那么就必须搭建一台内网的yum源服务器,具体可以参考

http://www.cnblogs.com/gleaners/p/5735472.html

参考:

http://www.danpros.com/2016/02/how-to-install-centos-7-remotely-using-vnc

使用VNC远程安装CentOS 7操作系统的更多相关文章

  1. 安装Centos 7操作系统

    一.安装前准备 VMware workstation.CentOS-7-x86_64 系统镜像. 二.开始新建虚拟机 选择典型-下一步  选择稍后安装操作系统-下一步  选择LINUX-CentOS ...

  2. 安装vnc远程连接CentOS桌面

    1.查看本机是否有安装vnc(centOS5默认有安装vnc) rpm -q vnc vnc-server 如果显示结果为: package vnc is not installedvnc-serve ...

  3. 使用vmware workstation安装centos 7操作系统

    安装步骤 1.点击创建虚拟机,进入新建虚拟机向导,选择自定义,典型:相当于去电脑 旗舰店里店员推荐的是一样,推荐的比一定好,自定义:是手动操作的,没有linux基础最好选择自定义.点击下一步. 2.虚 ...

  4. 使用PXE+VNC方式安装CentOS 7

    U盘坏了,用个下面的方法安装 安装配置dhcp yum -y install dhcp tftp-server 修改如下,网段改为你自己的网段 vim /etc/dhcp/dhcpd.conf sub ...

  5. Win7 VNC远程连接Centos桌面

    一,安装Linux桌面: yum -y groupinstall Desktop yum -y groupinstall "X Window System" yum -y grou ...

  6. centOS学习part3:远程工具VNC的安装与配置

    0 上一篇(http://www.cnblogs.com/souvenir/p/3875484.html)我们介绍了通过yum安装JDK的实例,初步见识了yum命令的强大.本章我们将继续使用yum命令 ...

  7. (亲测成功)在centos7.5上安装kvm,通过VNC远程连接并创建多台ubuntu虚拟机(ubuntu server版本)

    在centos7.5上安装kvm,通过VNC远程连接并创建多台ubuntu虚拟机 前提:服务器端安装桌面版的centos系统 CentOS Linux release 7.5.1804 (Core) ...

  8. 基于CentOS搭建VNC远程桌面服务

    系统要求:CentOS 7.2 64 位操作系统 安装.启动 VNC VNC 远程桌面原理 名词解释: Xorg:在 Linux 用户中非常流行,已经成为图形用户程序的必备条件,所以大部分发行版都提供 ...

  9. Centos7 VNC远程桌面服务安装配置

    1.服务器版本 CentOS Linux release 7.7.1908 (Core) 首先系统安装了GUI界面 # ln -sf /lib/systemd/system/graphical.tar ...

随机推荐

  1. 『动善时』JMeter基础 — 52、使用JMeter测试Dubbo接口

    目录 1.Dubbo介绍 2.准备测试Dubbo接口的环境 3.Dubbo Sample界面详解 4.Dubbo Sample组件的使用 (1)测试计划内包含的元件 (2)使用zookeeper协议请 ...

  2. AcWing 102. 最佳牛围栏

    农夫约翰的农场由 N 块田地组成,每块地里都有一定数量的牛,其数量不会少于1头,也不会超过2000头. 约翰希望用围栏将一部分连续的田地围起来,并使得围起来的区域内每块地包含的牛的数量的平均值达到最大 ...

  3. docker安装和配置nginx

    配置nginx docker配置nginx 本机ip是192.168.0.200 docker pull nginx 配置nginx主机 vi /root/docker/nginx/nginx01.c ...

  4. 可执行jar包在windows server2008下的自启动

    最近要部署项目的服务端在windows server2008下面,所以把项目打包成可执行的jar包,然后希望它能开机自启动,毕竟每次都在cmd下输入java -jar xxx.jar才能启动太繁琐了. ...

  5. linux 之管道命令与重定向

    一.Linux重定向 重定向能够实现Linux命令的输入输出与文件之间重定向,以及实现将多个命令组合起来实现更加强大的命令.这部分涉及到的比较多的命令主要有: 涉及到的比较多的命令主要有: cat:连 ...

  6. XCTF getit

    一.查壳 是linux的文件.没加壳 二.拖入ida 分析一下逻辑,发现就是t的值就是flag. 写个exp就出来了. 三.exp分享 s='c61b68366edeb7bdce3c6820314b7 ...

  7. JUnit5的条件测试、嵌套测试、重复测试

    条件测试 JUnit5支持条件注解,根据布尔值判断是否执行测试. 自定义条件 @EnabledIf和@DisabledIf注解用来设置自定义条件,示例: @Test @EnabledIf(" ...

  8. ESP32-任务看门狗笔记

    看门狗机制用于监控嵌入式系统运行并在发生不可知的软硬件故障时将系统复位.系统正常运行时,看门狗定时器溢出之前会被重置计数值,也就是"喂狗".定时器溢出意味着无法"喂狗&q ...

  9. 将gitlab内置node_exporter提供外部prometheus使用

    目录 修改gitlab的配置 重新初始化配置 gitlab服务已经包含了node_exporter服务,但是配置文件限制了9100端口的访问,所以主机信息不能直接被外部的prometheus收集 修改 ...

  10. Windows内核开发-2-开始内核开发-2-内核开发入门

    Windows内核开发-2-开始内核开发-2- 第一个驱动程序: 直接采用vs2019中的Empty WDM Driver 模块创建: 初始的项目文件夹中有一个Driver Files里面会有一个.i ...