Hyper-V在Windows 11部署本地Ubuntu虚拟机

    挣扎在生信泥潭的兄弟们都知道,目前生信分析所用的大部分软件/package/环境/pipline都是基于Linux系统建立的,因此跳入生信泥潭的第一步便是建立一个Linux环境并开始学习。鉴于本人的谨慎(怕搞乱实验室Linux Server且Server offline)、懒惰(懒得在自己的电脑上安装双系统)以及不想付费上班(拒绝昂贵且不报销的云服务器),便考虑利用在本地计算机上建立一个Ubuntu虚拟机进行生信学习以及脚本测试。

    选择Hyper-V建立虚拟机有两个主要考虑:一是其为开源项目,个人使用无需考虑付费以及知识产权问题;二是之后需要在本地Windows 11系统中安装Docker,而如果需要使用Docker的高级设置则需Hyper-V支持。


Part 1 启用/安装Hyper-V

1.1 检查部署条件

    命令提示符(cmd)中查看系统信息,末尾处会直接显示是否符合Hyper-V的要求:

systeminfo

    如要求全部为“是”则可以直接向后进行,如图:

图片

    如项目“在固件中启用虚拟化”显示为“”,则需要在UEFI(或BIOS)中修改设置以启动虚拟化,由于不同品牌主板的设置方法不同,故在此便不再详述,可以参考:在Windows 11电脑上启用虚拟化 - Microsoft 支持(https://support.microsoft.com/zh-cn/windows/%E5%9C%A8windows-11%E7%94%B5%E8%84%91%E4%B8%8A%E5%90%AF%E7%94%A8%E8%99%9A%E6%8B%9F%E5%8C%96-c5578302-6e43-4b4b-a449-8ced115f58e1)

1.2 启用Hyper-V

  • Windows 11 专业版/企业版/教育版: 

    • 从可选功能中启用

      “启用或关闭 Windows 功能”——勾选“Hyper-V”复选框——确定

    • 命令提示符中启用

DISM /Online /Enable-Feature /All /FeatureName:Microsoft-Hyper-V
  • Windows 11 家庭版:

    新建一个.txt文件,填入以下内容:

pushd "%~dp0"dir /b %SystemRoot%\servicing\Packages\*Hyper-V*.mum >hyper-v.txtfor /f %%i in ('findstr /i . hyper-v.txt 2^>nul') do dism /online /norestart /add-package:"%SystemRoot%\servicing\Packages\%%i"del hyper-v.txtDism /online /enable-feature /featurename:Microsoft-Hyper-V -All /LimitAccess /ALLpause

    保存后修改其文件名(后缀)为批处理脚本“Hyper-V_install.bat”,右键管理员模式运行,等待并重启计算机后Hyper-V将自动安装并自启动服务。

    Hyper-V界面如图所示:


Part 2 建立Ubuntu 20.04虚拟机

2.1 建立虚拟机

    直接点击右侧操作栏中的“快速创建...”按钮,进入快速创建界面。

    此处可根据自己熟悉的Linux发行版进行选择,为之后与实验室服务器Linux版本相同,此处直接选择“Ubuntu 20.04 LTS”。如在这里没有自己需要的发行版,则可以在对应发行版的官网下载镜像文件,选择“本地安装源”进行安装。其它选项可执行默认选项,最后点击创建虚拟机。

2.2 启动虚拟机

    启动虚拟机,进入Ubuntu桌面版系统并进行初次启动设置。

    【注意】此处需要建立第一个用户(有root权限),设置用户名时如有大小写混用情况(Abb),则在桌面版显示时区分大小写(Abb),而在建立用户文件夹或SSH登陆时,用户名全部为小写(abb),如若在SSH连接时填写大小写混用用户名,则会依据无该用户名处理,导致无法连接。

    如点击虚拟机窗口上的“基本会话”按钮,则会进入Ubuntu图形操作界面:

图片

2.3 安装SSH并检查SSH配置文件

    安装SSH:

sudo apt-get install openssh-server # 安装SSHsudo systemctl status ssh # 查看SSH状态sudo systemctl start ssh # 启动SSHsudo systemctl enable ssh # 开机自启SSH

    查看SSH状态无误:

    确认SSH配置:

cat /etc/ssh/sshd_config
# 返回信息中查找以下内容Port 22AddressFamily anyListenAddress 0.0.0.0# 确保SSH服务监听在所有IP地址上(即0.0.0.0)

    确保SSH服务器允许密码验证:

sudo nano /etc/ssh/sshd_config
# 返回信息中查找以下内容,如设置不同,可修改为以下内容:PasswordAuthentication yesPermitRootLogin yes  # 如果你尝试使用root用户登录# 修改后关闭进程并重启SSH服务sudo systemctl restart ssh

2.4 配置防火墙​​​​​​​

sudo ufw status # 查看防火墙状态sudo ufw allow 22 # 确保端口22开放sudo ufw allow ssh # 确保SSH通过防火墙sudo ufw enable # 启用防火墙sudo ufw reload # 修改后重载防火墙

2.5 获取虚拟机IP地址​​​​​​​

sudo apt install ifconfig # 安装ipconfigifconfig

    虚拟机地址在项目“eth0”后,即:172.29.169.116

    【注意】重启本地Windows 11后,Hyper-V虚拟机的IP地址将变化,初步查询建立固定IP的方法,考虑到需要修改的设置过多,选择暂维持目前查询IP并建立连接的方法。在Hyper-V管理器下部状态栏中可以查询到IP地址:


Part 3 命令行及文件传输

3.1 设置MobaXterm

    “MobaXterm 是一个功能强大的远程终端工具,集成了丰富的网络工具和 Unix 命令。其主要作用是为用户提供一个便捷的远程连接环境,支持 SSH、RDP、VNC 等多种协议,并具有 X11 转发功能。优势包括简便易用的图形界面、内置的 SFTP 文件传输、支持多标签会话以及强大的终端功能,适合系统管理员和开发者进行高效的远程管理和开发工作。”

    在本地Windows 11环境中安装MobaXterm,安装完成后打开MobaXterm程序,点击“Session”并填写虚拟机IP、用户名及端口:

    【注意】虚拟机IP需每次重启本地Windows系统后更新。

    设置完成后即可在MobaXterm中登录:

3.2 设置FileZilla

    “FileZilla 是一个开源的文件传输协议(FTP)客户端,广泛用于上传和下载文件。其主要作用是通过 FTP、FTPS 和 SFTP 协议在本地计算机和远程服务器之间传输文件。FileZilla 的优势包括用户友好的图形界面、支持跨平台使用、稳定可靠的传输性能、多语言支持以及对大文件和断点续传的良好处理能力,使其成为网站管理员和开发者管理网站文件的理想工具。”

    虽然MobaXterm集成了SFTP以进行文件传输,但其并没有断点续传等进阶功能,故选择FileZilla作为文件传输任务的承担者。

    在Windows 11环境中安装FileZilla并启动,“文件”——“站点管理器”:

    “新站点”以新建站点信息,“协议”选择SFTP,“主机”填写虚拟机IP地址,用户名及密码填入登录Ubuntu 20.04的用户名及密码,点击“确定”保存设置。点击“连接”则连入本地虚拟机。

    【注意】虚拟机IP需每次重启本地Windows系统后更新。


Final 完成

    经过以上步骤便获得一个Ubuntu 20.04 LTS虚拟机系统,可以在该Ubuntu系统上部署各种生物信息学软件以进行学习/测试。

个人操作记录,仅供参考!

    

  • 44
    点赞
  • 23
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值