Hyper-V+Ubuntu18.04的VHDX文件压缩

本文介绍了如何在Hyper-V环境下为运行Ubuntu 18.04的虚拟机压缩VHDX动态扩展磁盘。Ubuntu 14.04及更高版本支持TRIM命令,当文件被删除时,操作系统会通知磁盘释放空间。为了成功压缩,需要清除所有已删除块的数据,因为操作系统仅标记这些块为已删除,而不实际擦除。文章提供了快慢两种方法进行Hyper-V Ubuntu VM的Trimming和压缩操作。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

If you configured your Hyper-V virtual machines with dynamically expanding virtual disks you will find that the VHDX files backing the virtual disks always grow in size, they never shrink. This article shows how to do it for Ubuntu Linux VMs.

  1. Faster Trimming & Compacting of Hyper-V Ubuntu VMs

Ubuntu running in a Hyper-V virtual machine has been supporting the trim command since version 14.04. The OS issues trim commands when files are deleted to tell the disk that the blocks occupied by the files can be used elsewhere. The hypervisor cannot know when blocks are ready to be reused unless the VM tells it.

# To tell the hypervisor which blocks can be reused issue the following command:
s
### 配置 Hyper-V 中 Ubuntu 18.04 复制粘贴共享功能 在 Hyper-V 上运行的 Ubuntu 18.04 虚拟机中,默认情况下并不支持主机与客户操作系统之间的剪贴板共享。要实现这一功能,需通过特定的方法进行配置。 #### 安装并更新系统软件包 确保虚拟机中的所有软件包都是最新的版本非常重要。可以通过执行以下命令来完成此操作: ```bash sudo apt update && sudo apt upgrade -y ``` #### 安装 OpenSSH Server 和 VcXsrv 为了能够更方便地管理远程桌面会话,并可能间接改善复制粘贴体验,建议先安装 SSH server 及 X Window System 的客户端工具集之一——VcXsrv Windows X Server: ```bash sudo apt install openssh-y wget https://sourceforge.net/projects/vcxsrv/files/latest/download -O vcxsrv_installer.exe wine vcxsrv_installer.exe ``` 请注意,上述 `vcxsrv` 的下载链接可能会随时间变化而改变;如果遇到问题,请访问官方网站获取最新版。 #### 启用 Integration Services 功能 Hyper-V 提供了一组称为集成服务的功能,这些服务增强了来宾操作系统与宿主环境间的交互能力。对于 Linux 发行版来说,这意味着可以利用开源项目如 **Linux ICR** 来增强兼容性和性能表现[^1]。 具体到 Ubuntu 18.04 LTS, 这里介绍一种方法来激活必要的内核模块和服务: 1. 打开终端; 2. 编辑 GRUB 文件以加载额外参数: ```bash sudo nano /etc/default/grub ``` 3. 修改 `GRUB_CMDLINE_LINUX_DEFAULT` 行如下所示(添加 `hv_kvp_daemon_start=ifneeded hv_log_level=3` 参数): ```plaintext GRUB_CMDLINE_LINUX_DEFAULT="quiet splash hv_kvp_daemon_start=ifneeded hv_log_level=3" ``` 4. 更新 grub 并重启计算机使更改生效: ```bash sudo update-V 整合特性,但这还不足以直接提供跨平台的剪贴板同步。 #### 设置 RDP 剪贴板重定向 为了让 Windows 主机上的应用程序能同 Ubuntu VM 实现无缝的数据交换,最可靠的方式或许是借助 Microsoft Remote Desktop Protocol(RDP),即允许用户连接至远端桌面的同时也提供了良好的文件传输机制以及双向剪贴板支持。 按照下面步骤操作即可开启该选项: 1.Hyper-V Manager 中选中目标虚拟机实例; 2. 点击 "Settings..." -> "Integration Services"; 3. 对于每一个想要启用的服务打勾确认,特别是“Guest Service Interface”一项; 4. 关闭设置对话框后等待几秒钟让改动应用完毕; 5. 接着回到 Ubuntu 终端界面下输入下列指令启动相关守护进程: ```bash sudo systemctl start hv-kvp-daemon.service sudo systemctl enable hv-kvp-daemon.service ``` 最后一步是为了确保每次开机都能自动加载 KVP(Kernel Version Package) 插件从而维持良好通信状态。 尽管如此,仍然缺少一个重要的环节—实际的图形化RDP解决方案。考虑到这一点,推荐采用 xrdp 解决方案作为桥梁连接两方世界。 #### 安装和配置 XRDP XRDP 是一款开源软件,它使得可以从任何地方安全地登录到 Linux 桌面环境中去。其工作原理是充当本地显示服务器前面的一个代理层,进而实现了完整的远程控制权限授予过程。 遵循下方指南快速部署一套稳定可用的基础架构吧! 1. 添加官方 PPA(个人包档案库)源以便获得最新版本的支持: ```bash sudo add-apt-repository ppa:xrdp-dev/xrdp-next sudo apt-get update ``` 2. 开始正式安装程序及其依赖项: ```bash sudo apt-get install xrdp xfce4 -y ``` 这里选择了轻量级桌面环境 XFCE4 ,当然也可以替换为自己偏好的 DE 。不过需要注意的是某些较重型的选择可能导致资源消耗过大影响整体效率。 3. 创建一个新的策略规则用于放通防火墙端口: ```bash sudo ufw allow 3389/tcp comment 'Allow RDP' ``` 4. (可选)编辑 `/etc/xrdp/startwm.sh` 文件指定默认使用的窗口管理器: ```bash echo "/usr/bin/startxfce4" | sudo tee -a /etc/xrdp/startwm.sh > /dev/null ``` 至此准备工作全部结束啦!现在只需返回 Hyper-V 控制面板重新启动一次虚拟机便大功告成咯~随后就可以尝试使用 mstsc 或者其他任意第三方 RDP 客户端来进行验证了哦~
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值