Win10 开启 Hyper-V 安装 CentOS 7 minimal
日常使用的 PC 环境一般都是 Windows 环境,如果需要偶尔使用 Linux 环境,一般情况下,大家的选择是安装虚拟机 VMWare 或者 Virtual Box。
但如果只是轻度使用,而你恰好使用的又是 Win10 ,在不需要纯粹 Linux 环境的情况下,其实可以选择 bash on win10 (bash on win10 的安装方法此处不表)
,其基本可以提供接近 Linux 的环境。
但是 bash 环境毕竟不是纯粹的 Linux 环境,如果要在工作中使用难免会遇到一些问题,这时候就不得不选择虚拟机了。而虚拟机的选择,除了上面提到的 VMWare 和 Virtual Box,其实还有一种 Windows 原生提供的虚拟技术——Hyper-V,可以选择。
Hyper-V 可以在 Win7 及以上的桌面系统上运行,网上有一大堆文章可以介绍其各种优点,比如轻量,又或者可以直接与底层交互,等等……
但是我选择它主要是因为我不喜欢虚拟机那种窗口里面套一个桌面的感觉,而 Hyper-V 由于是 Windows 原生支持的虚拟技术,我可以把虚拟机完全丢到后台执行,然后直接使用 ssh 连接虚拟机,就像开启了一个 Linux terminal 一样,在 Windows 下就可以直接使用原生 Linux。而且 VMWare 和 Virtual Box 每次关机前都需要对虚拟机做保存操作,而 Hyper-V 关机的时候则不需要任何操作便可自动保存工作状态,而且可以设置为自动启动,就可以跟随宿主机关机开机,完全不需要额外操作。
当然网上也会有各种文章说它哪里哪里不好,比如有人吐槽它系统支持不够全面,或者在 SSD 磁盘上无法完全发挥出 SSD 的性能,以及图形化界面的支持简直是渣渣,等等……但是这些缺点并不在我的关注列表,所以倒是不影响我的选择。
此处记录一下我在开启 Hyper-V 安装 Linux 环境时遇到的一些问题,算是一篇笔记吧。
我的 PC 环境是 Win10 ,需要专业版或企业版才支持开启 Hyper-V ,我在家里自己的电脑是自己安装的系统,装的是专业版,所以可以直接开启 Hyper-V。而公司的电脑由于是笔记本,购买的时候原生系统是 Win10 家庭版,不支持 Hyper-V ,所以只能在网上找秘钥升级到专业版或企业版,然后再开启 Hyper-V。!!注意,网上找到的秘钥升级系统后是非激活状态,如果你没有手段激活自己的系统,又很在意不愿意使用非激活系统,请不要随意尝试。!!
这里说一下 Win10 下的一个小技巧,按快捷键
Win
+s
,或者你在任务栏开启了 Cortana ,可以直接点击 Cortana 打开搜索栏,这里可以直接输入想运行的程序的名字,完成快速启动。对于有桌面洁癖,不愿意放很多快捷方式,或者嫌软件路径太繁琐的时候可以灵活使用这种方式。
打开 Cortana 搜索 Hyper-V ,由于默认没有安装 Hyper-V ,这时搜索栏出现的应该是 启用或关闭 Windows 功能。打开 启用或关闭 Windows 功能,对于 Win10 来说,在一级目录树下就可以看到 Hyper-V ,勾选它,然后确定,系统会自动安装并提示你重启。
重启完成后按刚才的办法搜索 Hyper-V ,现在可以看到 Hyper-V 管理器,打开管理器,右侧可以新建虚拟机。
此时就可以选择要安装的系统了,我选择的是 CentOS 7 minimal ,因为我使用 ssh 连接不需要图形界面,而且 Hyper-V 对 Linux 的图形界面支持也并不好,不像 VMWare 和 Virtual Box 那样的黑科技可以做到桌面大小随窗口大小自适应,所以干脆就最小化安装了。
去官网下载好 ISO 映像,在 Hyper-V 管理器 下新建虚拟机,填好各种参数,其中名称随意,虚拟机存储位置自行选择,虚拟机代数我选的第二代,内存默认,网络先不连接,虚拟硬盘新建一个,然后在安装选项中选择从可启动的 CD/DVD-ROM 安装操作系统
,再选择刚才下好的 ISO 映像,点击完成。
由于刚才的网络没有连接,所以先为虚拟机创建一张网卡。在 Hyper-V 管理器 页面,右侧选择 虚拟交换机管理器,然后 新建虚拟网络交换机 ,设置好名字,并选择外部网络,网卡选择实体网卡,然后确定,新建网卡完成。然后在 Hyper-V 管理器 右击虚拟机,选择 设置 打开设置页面,在左侧选 网络适配器 项,右侧 虚拟交换机 选择刚才新建的网卡,然后确定。
双击新建的虚拟机,然后启动虚拟机安装系统。安装的时候遇到一个问题,刚开启的时候屏幕提示
PXE Network Boot using IPv4 ( ESC to cancel )
Performing DHCP Negotiation.......
稍后屏幕跳转,提示
Virtual Machine Boot Summary
1. SCSI DVD (0,1) The image's hash and certificate are not allowed (DB).
2. Network Adapter (00155D0A6500) DHCP failed.
3. SCSI Disk (0,0) No UEFI-compatible file system was found.
No operating system was loaded. Press a key to retry the boot sequence...
Note: Configuration changes may require the virtual machine to be reset.
映像无法启动,安装失败。
强制关闭虚拟机,打开虚拟机 设置 页面,在左侧选 安全 项,关闭右侧的 启用安全启动 然后重新启动,问题解决。
系统的安装基本傻瓜操作,大部分都按默认配置就好,设置好用户,安装完成后重启,并在虚拟机的 设置 页面取消掉 SCSI 控制器 - DVD驱动器 的映像文件,就可以顺利进入系统。
由于是最小安装,系统没有图形化界面,且网络不通。登录用户,打开网卡配置文件,设置好网卡,再重启网络
打开网卡配置文件
sudo vi /etc/sysconfig/network-scripts/ifcfg-eth0
然后找到
NOBOOT
将no
改为yes
,保存退出后重启网卡sudo service network restart
由于最小安装没有
ifconfig
,可以使用ip addr
查看网络状态,是否获取到 IP ,然后ping www.baidu.com
看网络是否通畅。
如果要使用ifconfig
,可以安装网络工具sudo yum install net-tools
安装成功后,就可以使用
ifconfig
了。
至此,虚拟系统就可以正常使用了。但是最小安装的虚拟系统不支持鼠标,不可与 Windows 互通粘贴板,且窗口大小固定不可调节,而我希望的是可以在 Windows 下无缝使用,所以我还需要开启 ssh 服务,然后才能在 Windows 下使用 ssh 连接,无缝使用。
首先修改 yum 的安装源为国内镜像,可以提高 yum 安装时的下载速度,这里随便从网上找一段复制粘贴过来了(没有 wget
工具可以使用 sudo yum install wget
来安装):
以下片段截取自修改CentOS默认yum源为国内yum镜像源
1、首先备份系统自带yum源配置文件/etc/yum.repos.d/CentOS-Base.repomv?/etc/yum.repos.d/CentOS-Base.repo?/etc/yum.repos.d/CentOS-Base.repo.backup
2、下载ailiyun的yum源配置文件到/etc/yum.repos.d/
wget?-O?/etc/yum.repos.d/CentOS-Base.repo?http://mirrors.aliyun.com/repo/Centos-7.repo
3、运行yum makecache生成缓存
yum?makecache
4、这时候再更新系统就会看到以下mirrors.aliyun.com信息
yum?-y?update
已加载插件:fastestmirror,?refresh-packagekit,?security 设置更新进程Loading?mirror?speeds?from?cached?hostfile *?base:?mirrors.aliyun.com *?extras:?mirrors.aliyun.com *?updates:?mirrors.aliyun.com
然后安装 openssh :
查找工具
yum search ssh
已加载插件:fastestmirror Loading mirror speeds from cached hostfile * base: mirrors.aliyun.com * extras: mirrors.aliyun.com * updates: mirrors.aliyun.com ================================================ N/S matched: ssh =================================================fence-agents-ilo-ssh.x86_64 : Fence agent for HP iLO devices via SSH ksshaskpass.x86_64 : A KDE version of ssh-askpass with KWallet support libssh.x86_64 : A library implementing the SSH protocol libssh-devel.x86_64 : Development files for libssh libssh2.i686 : A library implementing the SSH2 protocol libssh2.x86_64 : A library implementing the SSH2 protocol libssh2-devel.i686 : Development files for libssh2 libssh2-devel.x86_64 : Development files for libssh2 libssh2-docs.noarch : Documentation for libssh2 openssh.x86_64 : An open source implementation of SSH protocol versions 1 and 2 openssh-askpass.x86_64 : A passphrase dialog for OpenSSH and X openssh-clients.x86_64 : An open source SSH client applications openssh-keycat.x86_64 : A mls keycat backend for openssh openssh-ldap.x86_64 : A LDAP support for open source SSH server daemon openssh-server.x86_64 : An open source SSH server daemon openssh-server-sysvinit.x86_64 : The SysV initscript to manage the OpenSSH server. pam_ssh_agent_auth.i686 : PAM module for authentication with ssh-agent pam_ssh_agent_auth.x86_64 : PAM module for authentication with ssh-agent sshpass.x86_64 : Non-interactive SSH authentication utility ansible.noarch : SSH-based configuration management, deployment, and task execution system jsch.noarch : Pure Java implementation of SSH2 openssh-cavs.x86_64 : CAVS tests for FIPS validation python-paramiko.noarch : SSH2 protocol library for python python-paramiko-doc.noarch : Docs and demo for SSH2 protocol library for python 名称和简介匹配 only,使用“search all”试试。
查看列表,需要安装的应该是 openssh ,这里也不管服务端还是客户端了,一次都装了吧
sudo yum install openssh openssh-server openssh-clients
然后启动 ssh 服务
systemctl start sshd
在 Windows 下使用 ssh 客户端连接虚拟机
我在 Windows 下使用的是 cmder ,一个模拟了 Linux 命令行的终端ssh -l 用户名 虚拟机IP
连接成功,提示输入密码,输入密码后操作正常,实现在 Windows 下无缝使用 Linux 终端
最后打开虚拟机的 设置 页面,在左侧的 自动启动操作 标签下,选择自动启动,并根据需要设置延迟多久启动。这样,只要不主动关闭虚拟机,虚拟机就可以随着 Win10 宿主机关机开机,无缝体验。
至于 ssh 的证书登录以及 Linux 与 Windows 的文件交互后面再慢慢折腾吧。
最后说一下笔记本在使用 Hyper-V 的时候遇到的坑,由于笔记本没有有线网卡,使用的是
Intel(R) Dual Band Wireless-AC 8265
的无线网卡,Hyper-V 在使用无线网卡创建虚拟网卡的时候会自动在无线网卡与虚拟网卡之间建立一个网桥,然后只要虚拟网卡是开启状态,网速就会奇慢无比,关闭虚拟机,禁用虚拟网卡后网速又可以恢复。这个问题在网上查了好久,看到有说法是需要关掉物理网卡的什么校验,但是也有人发帖物理网卡里面并没有这些功能,我尝试着找了一下,确实没有找到与校验有关的功能,反倒是在家里的有线网卡上找到了这几个配置。本来都有点想要放弃了,但是想着要不死马当成活马医吧,改几个配置试一下,然后在网卡的 属性 -> 配置 -> 高级 里面恰好看到了两个属性 唤醒幻数据包 以及 唤醒模式匹配 ,突然想起来安装系统还是创建网卡的时候隐约好像有看到过一句与网络唤醒什么之类的有关的一个提示,将这两个关掉后果然网速恢复。不太清楚里面到底发生了什么,反正问题解决了就好。
原文地址:https://www.cnblogs.com/Toonter/p/10556034.html