1. 程式人生 > >Win10 開啟 Hyper-V 安裝 CentOS 7 minimal

Win10 開啟 Hyper-V 安裝 CentOS 7 minimal

更新 黑科技 參數 esc pda 為我 auth 虛擬機安裝 rom

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

然後找到 NOBOOTno 改為 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.repo

mv?/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 在使用無線網卡創建虛擬網卡的時候會自動在無線網卡與虛擬網卡之間建立一個網橋,然後只要虛擬網卡是開啟狀態,網速就會奇慢無比,關閉虛擬機,禁用虛擬網卡後網速又可以恢復。這個問題在網上查了好久,看到有說法是需要關掉物理網卡的什麽校驗,但是也有人發帖物理網卡裏面並沒有這些功能,我嘗試著找了一下,確實沒有找到與校驗有關的功能,反倒是在家裏的有線網卡上找到了這幾個配置。本來都有點想要放棄了,但是想著要不死馬當成活馬醫吧,改幾個配置試一下,然後在網卡的 屬性 -> 配置 -> 高級 裏面恰好看到了兩個屬性 喚醒幻數據包 以及 喚醒模式匹配 ,突然想起來安裝系統還是創建網卡的時候隱約好像有看到過一句與網絡喚醒什麽之類的有關的一個提示,將這兩個關掉後果然網速恢復。不太清楚裏面到底發生了什麽,反正問題解決了就好。

Win10 開啟 Hyper-V 安裝 CentOS 7 minimal