为什么压缩卷明明显示有许多空间却无法分出空余空间?

我最近在装双系统,需要压缩卷分配出一部分空间。显示我用450G的多余空间,却无法分出空间。总是显示不足。

这里联系到了我们大学学的操作系统。文件储存,导致了文件碎片化现象。导致450G空间里没有一块连续的大空间。足够给我装双系统。这里需要文件优化。

 

具体的示意图看这个:

具体的优化解决方案如下:以下方案引用自这个博客:https://blog.csdn.net/shentanyue/article/details/79452961

 

1、对所要压缩的磁盘进行磁盘优化,即碎片整理。打开”计算机“,在想压缩的分区上右击选择”属性“,在打开的对话框中选择”工具“页,点击“优化”,将文件存储优化。

2、在桌面上的“这台电脑”上右单击,选择“属性”,在左侧菜单中选择“系统保护”,在弹出框中选中要压缩的分区,点击“配置”,在弹出框中选择“禁用系统保护”后点击“确定”。

3、在“计算机”上右击,选择“属性”,在弹出框中选择左侧菜单“高级系统设置”,在弹出框的高级分页下,点击第一个性能框中的”设置“按钮,在弹出框中选择”高级”页,点击虚拟内存分页右下角的“更改”按钮。

在弹出的标题为“虚拟内存”的对话框中,取消“自动管理所有驱动器的分页文件大小”前面的勾,同时选择”无分页文件“,点击右侧的”设置“,后”确认“,根据提示,重启系统。(操作过程中鼠标左击了一下需要压缩的磁盘卷标,继而再点击“无分页文件”右侧的“设置”,后“确认”,最后重启系统)

重启后再次进入磁盘压缩界面,发现可压缩空间接近所有剩余空间,目标达成。

若仍不成功,调整需要压缩的盘符的权限,如下所示。

这样就不会再提示剩余磁盘空间不足。但这种方法的缺点是只能压缩当前盘符剩余空间的一半以下,意思就是有90GB的剩余空间,你只能压缩45GB以下的空间。
 

  • 7
    点赞
  • 45
    收藏
    觉得还不错? 一键收藏
  • 5
    评论
二值图片的压缩算法可以采用一种叫做RLE(Run-Length Encoding)的算法。该算法的基本思想是将连续的相同像素点序列记录下来,用一个计数器来表示连续的像素点个数,从而达到压缩的目的。下面是RLE压缩算法的MATLAB代码实现: ```matlab function compressed = rle_compress(binary_image) compressed = []; count = 0; current_pixel = binary_image(1); for i = 1:length(binary_image) if binary_image(i) == current_pixel count = count + 1; else compressed = [compressed; [current_pixel, count]]; current_pixel = binary_image(i); count = 1; end end compressed = [compressed; [current_pixel, count]]; end function decompressed = rle_decompress(compressed_image) decompressed = []; for i = 1:size(compressed_image, 1) decompressed = [decompressed, ones(1, compressed_image(i, 2)) * compressed_image(i, 1)]; end end ``` 其中,rle_compress函数接受一个二值图像的一维向量,返回一个元组矩阵,每行表示一个连续的像素点序列和该序列的长度。rle_decompress函数接受一个元组矩阵,返回一个解压后的二值图像的一维向量。 为了计算压缩后的空余空间,我们可以先用rle_compress函数对原图像进行压缩,然后计算压缩后的元组矩阵占用的空间和原图像占用的空间之差,即可得到压缩后的空余空间。下面是计算压缩后的空余空间的MATLAB代码实现: ```matlab function compression_ratio = calc_compression_ratio(binary_image) compressed = rle_compress(binary_image); bits_per_pixel = 8 * numel(class(binary_image)); compressed_size = sum(sizeof(compressed(:, 1)) * bits_per_pixel + sizeof(compressed(:, 2)) * 8); original_size = length(binary_image) * bits_per_pixel; compression_ratio = (original_size - compressed_size) / original_size; end function free_space = calc_free_space(binary_image) compressed = rle_compress(binary_image); bits_per_pixel = 8 * numel(class(binary_image)); compressed_size = sum(sizeof(compressed(:, 1)) * bits_per_pixel + sizeof(compressed(:, 2)) * 8); original_size = length(binary_image) * bits_per_pixel; free_space = original_size - compressed_size; end ``` 其中,calc_compression_ratio函数接受一个二值图像的一维向量,返回压缩比率。calc_free_space函数接受一个二值图像的一维向量,返回压缩后的空余空间。这两个函数都使用了rle_compress函数对图像进行压缩,并根据压缩后的元组矩阵和原图像的像素位数计算压缩后的空间占用和原图像的空间占用。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 5
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值