You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

VirtualBox中Ubuntu22.04解压Win10共享文件夹嵌套Zip丢失子文件问题

解决VirtualBox共享文件夹中解压嵌套Zip丢失子文件的问题

问题现象

在Win10主机的VirtualBox Ubuntu22.04虚拟机中,直接解压共享文件夹内的嵌套Zip文件(如包含b.zip的a.zip)时,子Zip文件会丢失。执行命令:

unzip a.zip -d a_linux

后用diff -qr a_linux a_win10对比,发现b.zip缺失;但将a.zip复制到Ubuntu主目录后解压则正常。

可能原因

VirtualBox共享文件夹采用vboxsf文件系统,该文件系统不支持Linux本地文件系统的部分特性(如特殊权限、文件操作原子性),unzip在处理这类文件系统中的嵌套压缩包时,可能因临时文件创建或权限限制导致子文件无法正确提取。

解决方法

  • 方法1:先复制到本地目录再解压
    这是最直接的可行方案,将共享文件夹中的Zip文件复制到Ubuntu本地目录(如主目录、~/Downloads)后再执行解压:

    cp /path/to/shared/a.zip ~/
    cd ~/
    unzip a.zip -d a_linux
    
  • 方法2:指定unzip临时目录到本地文件系统
    unzip默认使用/tmp(本地ext4文件系统)作为临时目录,若环境变量被修改,可手动指定临时目录确保操作在本地文件系统完成:

    TMPDIR=/tmp unzip /path/to/shared/a.zip -d a_linux
    
  • 方法3:用7z工具替代unzip
    7z对不同文件系统的兼容性更好,安装后使用7z解压:

    sudo apt update && sudo apt install p7zip-full
    7z x /path/to/shared/a.zip -oa_linux
    
  • 方法4:调整共享文件夹挂载选项
    检查并修改共享文件夹的挂载参数,确保启用metadata及正确权限设置,可手动重新挂载:

    sudo umount /path/to/shared
    sudo mount -t vboxsf shared_folder_name /path/to/shared -o uid=$UID,gid=$GID,metadata
    

内容的提问来源于stack exchange,提问作者lucky1928

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.18 14:42:40