Hyper-v环境下创建Ubuntu虚拟机,配置Nvidia显卡直通,使用VLLM部署deepseek32B(一)环境配置
Hyper-V环境配置,虚拟机创建
1、在Hyper-V管理器中点击新建虚拟机,打开新建虚拟机向导

2、点击下一步,然后输入虚拟机名称,然后将虚拟机保存在你想要保存的目录下

3、选择第二代
4、分配内存,为虚拟机分配一个合适的内存,不要启用动态内存
5、配置网络,选择默认的,或者我们建立的网络链接
6、选择创建虚拟硬盘,设置大小
7、安装选项,选择安装介质,这边我们选择的是Ubuntu22.04 LTS系统安装镜像
8、然后点击完成创建虚拟机
9、我们后续为了存放数据和模型,所以我们这边重新挂载了一个数据盘(这边可以根据需求,也可以挂载一个大容量的盘,在分区的时候设置数据存放区)
我们找到刚才新建的虚拟机,然后右键点击设置,打开设置界面,然后添加我们刚才创建的硬盘

10、关闭安全启动
11、选择我们刚才创建的虚拟机,有机右键点击连接连接到虚拟机
12、点击启动,进入系统安装界面,选择Try or Install Ununtu Server,点击回车开始安装系统
13、语言选择English

14、选择安装类型,我们这边选择第一个
15、网络配置,我们这边直接在向导上进行配置,(也可以跳过,安装完成系统之后,在系统配置文件中配置网络)
选择IPV4
IPV4 Method选择:Manal
配置网络地址:
16、配置代理:这边可以配置代理地址,如果后续需要科学上网
17、这边配置镜像源地址,可以配置阿里云(https://mirrors.aliyun.com/ubuntu/)下载加速,
18、不安装更新
19、设置磁盘,选择系统安装的磁盘
20、检查磁盘分区,这边系统盘我们选择默认分区就行,然后将数据盘重新格式化成XFS文件格式,然后挂载点选择/data

21、设置名称和用户名和密码
22、是否升级Ubuntu Pro服务,选择默认跳过
23、选择安装ssh服务
24、选择预安装环境,如果不需要,直接选择Done
25、系统开始安装
26、选择Reboot Now
27、输入账号密码后登录系统
然后我们检查一下网络配置是否正确:
至此,虚拟机环境配置完成,
补充设置
系统更新
sudo apt update
sudo apt upgrade
安装ifconfig
sudo apt install net-tools
查看IP
ifconfig
重起
sudo reboot
查看当前计算机名称
hostname
编辑配置文件
sudo vi /etc/hostname
或者
sudo nano /etc/hostname
临时修改主机名
hostname <主机名>
永久修改主机名
hostnamectl set-hostname <主机名>
开启root用户登录:
给root用户设置密码:在当前普通用户界面下输入命令:
sudo passwd root
修改sshs配置
sudo nano /etc/ssh/sshd_config
在最下边添加
PermitRootLogin yes
然后按ctrl+o保存,按ctrl+x退出
重起sshd服务
sudo systemctl restart sshd
修改IP地址:
#编辑yaml配置文件
#首先查看配置文件
ls /etc/netplan
#然后编辑配置文件
sudo nano /etc/netplan/50-cloud-init.yaml
#应用配置生效
sudo netplan apply

修改服务器时间为北京时间
#!/bin/bash
# 设置Ubuntu系统时间为北京时间并启用24小时制(增强版)
# 自动处理 en_DK.UTF-8 locale 的生成,避免后续警告
set -e # 遇到错误立即退出
echo "========================================="
echo " Ubuntu 时区与时间格式配置脚本"
echo "========================================="
# ---------- 1. 设置时区为北京时间 ----------
echo ">>> [1/4] 设置系统时区为 Asia/Shanghai (北京时间)..."
sudo timedatectl set-timezone Asia/Shanghai
echo "✓ 时区已设置为: $(timedatectl show --property=Timezone --value)"
# ---------- 2. 启用网络时间同步 ----------
echo ">>> [2/4] 启用网络时间同步 (NTP)..."
sudo timedatectl set-ntp true
echo "✓ NTP 同步状态: $(timedatectl show --property=NTP --value)"
# ---------- 3. 确保 en_DK.UTF-8 locale 已安装 ----------
echo ">>> [3/4] 检查并生成 en_DK.UTF-8 locale (用于24小时制显示)..."
# 检查 locale 是否已生成
if locale -a 2>/dev/null | grep -q "^en_DK\.utf8"; then
echo "✓ en_DK.UTF-8 locale 已经存在,跳过生成步骤。"
else
echo "正在配置 locale.gen 文件..."
# 如果 /etc/locale.gen 中该行被注释,则取消注释
if grep -q "^# en_DK.UTF-8 UTF-8" /etc/locale.gen; then
sudo sed -i 's/^# en_DK.UTF-8 UTF-8/en_DK.UTF-8 UTF-8/' /etc/locale.gen
echo "已启用 en_DK.UTF-8 在 /etc/locale.gen 中。"
elif ! grep -q "^en_DK.UTF-8 UTF-8" /etc/locale.gen; then
# 如果该行完全不存在,则追加
echo "en_DK.UTF-8 UTF-8" | sudo tee -a /etc/locale.gen > /dev/null
echo "已将 en_DK.UTF-8 添加到 /etc/locale.gen。"
fi
echo "正在生成 locale..."
sudo locale-gen en_DK.UTF-8
echo "✓ en_DK.UTF-8 locale 生成完成。"
fi
# ---------- 4. 设置 LC_TIME 为 en_DK.UTF-8 (24小时制) ----------
echo ">>> [4/4] 配置系统环境变量 LC_TIME..."
# 确保 /etc/default/locale 文件存在
if [ ! -f /etc/default/locale ]; then
sudo touch /etc/default/locale
fi
# 更新或添加 LC_TIME 变量
if grep -q "^LC_TIME=" /etc/default/locale; then
sudo sed -i 's/^LC_TIME=.*/LC_TIME=en_DK.UTF-8/' /etc/default/locale
else
echo 'LC_TIME=en_DK.UTF-8' | sudo tee -a /etc/default/locale > /dev/null
fi
# 立即应用环境变量(对当前脚本后续命令无效,但对新登录会话有效)
export LC_TIME=en_DK.UTF-8
echo "✓ LC_TIME 已设置为 en_DK.UTF-8"
# ---------- 完成提示 ----------
echo ""
echo "========================================="
echo " 配置全部完成!"
echo "========================================="
echo "当前系统时间: $(date)"
echo "时区信息: $(timedatectl show --property=Timezone --value)"
echo ""
echo "⚠️ 注意: 请注销并重新登录,或重启系统,以使 24 小时制显示在所有应用中生效。"
echo " 重新登录后,可执行 'date' 命令验证时间格式 (应为 HH:MM:SS)。"
将上述脚本保存为一个新文件,如:set-time-beijing.sh
赋予执行权限:
chmod +x set-time-beijing.sh
运行脚本;
chmod +x set-time-beijing.sh
#脚本执行完成之后重起系统!
AtomGit 是由开放原子开源基金会联合 CSDN 等生态伙伴共同推出的新一代开源与人工智能协作平台。平台坚持“开放、中立、公益”的理念,把代码托管、模型共享、数据集托管、智能体开发体验和算力服务整合在一起,为开发者提供从开发、训练到部署的一站式体验。
更多推荐
所有评论(0)