如何将本地文件移入虚拟机Linux系统?

在虚拟化环境中,将本地文件传输到Linux虚拟机是日常开发、运维或学习中的常见需求,根据虚拟机软件类型(如VMware、VirtualBox)、文件大小及使用场景(图形界面/命令行),可选择不同的传输方法,本文将详细介绍几种主流操作方式,涵盖准备工作、具体步骤及注意事项,帮助用户高效完成文件传输

如何把本地文件移入到虚拟机linux

使用共享文件夹(推荐,适合频繁传输)

共享文件夹虚拟机软件提供的便捷功能,通过安装“增强工具”(VMware Tools/VirtualBox Guest Additions),可实现主机与虚拟机之间的文件夹双向映射,支持拖拽、命令行访问,适合频繁传输文件的场景。

适用场景

Windows主机与Linux虚拟机之间频繁传输文件,需支持图形化操作和命令行调用。

准备工作

  1. 虚拟机软件准备:确保虚拟机已安装对应增强工具(VMware需安装VMware Tools,VirtualBox需安装Guest Additions)。
  2. Linux系统准备:虚拟机需正常运行图形界面(如GNOME、KDE),且用户具有sudo权限。

操作步骤(以VMware为例)

  1. 启用共享文件夹功能

    在VMware Workstation中,选中虚拟机→右键“设置”→“选项”→“共享文件夹”→勾选“总是启用”→点击“添加”,选择主机需共享的本地文件夹,设置名称(如“host_share”)和权限(“只读”或“完全控制”)。

  2. 安装VMware Tools

    • 虚拟机开机后,在VMware菜单栏点击“虚拟机”→“安装VMware Tools”(若已安装可跳过)。
    • 在Linux虚拟机内会自动挂载VMware Tools安装包(通常为VMwareTools-x.x.x-xxxx.tar.gz),复制到临时目录并解压:
      cp /media/$(whoami)/VMware Tools/*.tar.gz /tmp/  
      cd /tmp  
      tar -zxvf VMwareTools-*.tar.gz  
    • 进入解压目录,运行安装脚本(默认路径为vmware-install.pl):
      cd vmware-tools-distrib  
      sudo ./vmware-install.pl -d  # -d参数使用默认配置,一路回车即可  
    • 安装完成后重启虚拟机:sudo reboot
  3. 访问共享文件夹

    • 重启后,共享文件夹会自动挂载到/mnt/hgfs目录(VMware默认路径),可通过cd /mnt/hgfs进入,查看或操作主机共享的文件。
    • 若需自定义挂载路径,可在/etc/fstab中添加条目(如hgfs /mnt/host hgfs defaults 0 0)。

VirtualBox操作差异

  • 安装Guest Additions:虚拟机运行后,点击“设备”→“安装增强功能”,Linux内会自动挂载光盘,执行:
    sudo mount /dev/cdrom /mnt  
    cd /mnt  
    sudo ./VBoxLinuxAdditions.run  
  • 访问共享文件夹:默认挂载路径为/media/sf_共享文件夹名(如/media/sf_host_share)。

注意事项

  • 增强工具版本需与虚拟机软件版本匹配(如VMware Workstation 16需安装16.x版本的Tools)。
  • 共享文件夹权限不足时,可通过sudo chown -R $USER:$USER /mnt/hgfs修改所有者。

拖拽/复制粘贴(适合小文件快速传输)

若虚拟机已安装增强工具且运行图形界面,可直接通过拖拽或复制粘贴传输小文件,操作简单直观。

如何把本地文件移入到虚拟机linux

适用场景

传输小型文件(如文档、图片、配置文件),无需复杂配置。

操作步骤

  1. 确保虚拟机处于活动窗口:拖拽或复制粘贴需虚拟机窗口为当前焦点。
  2. 直接拖拽:主机选中文件→按住鼠标左键拖至虚拟机桌面或指定文件夹,松开即可完成传输。
  3. 复制粘贴:主机选中文件→Ctrl+C复制→虚拟机目标窗口→Ctrl+V粘贴。

注意事项

  • 部分虚拟机软件(如旧版VMware)可能不支持拖拽特定格式文件(如二进制可执行文件),建议优先使用共享文件夹。
  • 大文件(如超过500MB)拖拽可能因缓存不足导致失败,建议改用命令行或共享文件夹。

命令行传输(SCP/FTP,适合无图形界面或大文件)

若虚拟机无图形界面或需远程传输文件,可通过SSH的SCP协议或FTP服务实现高效传输。

适用场景

Linux虚拟机无图形界面、大文件传输、跨网络远程传输。

准备工作

  1. 虚拟机网络配置:确保虚拟机与主机处于同一局域网(如NAT模式或桥接模式),获取虚拟机IP地址(通过ip aifconfig查看)。
  2. 开启SSH服务:虚拟机需安装并运行SSH服务(默认安装,若未安装可执行sudo apt install openssh-server并启动sudo systemctl start ssh)。

操作步骤(SCP为例)

SCP(Secure Copy)基于SSH协议,支持加密传输,适合命令行操作。

  • 从主机传输到虚拟机
    scp 本地文件路径 用户名@虚拟机IP:虚拟机目标路径  
    # 示例:将主机C:test.txt传输到虚拟机/home/user/目录(用户名为user,虚拟机IP为192.168.1.100)  
    scp "C:test.txt" user@192.168.1.100:/home/user/  
  • 从虚拟机传输到主机(反向操作):
    scp 用户名@虚拟机IP:虚拟机文件路径 本地目标路径  
    # 示例:将虚拟机/home/user/test.txt传输到主机D:文件夹  
    scp user@192.168.1.100:/home/user/test.txt "D:文件夹"  

传输目录(需加-r参数)

scp -r 本地目录路径 user@虚拟机IP:虚拟机目标路径  
# 示例:传输主机D:project目录到虚拟机/home/user/  
scp -r "D:project" user@192.168.1.100:/home/user/  

注意事项

  • 虚拟机IP需固定(可通过DHCP保留或配置静态IP),避免重启后IP变化导致传输失败。
  • 防火墙需开放SSH端口(默认22),虚拟机内执行sudo ufw allow 22(若使用ufw防火墙)。

网络共享(Samba,适合局域网多设备共享)

若需在局域网内多设备(如Windows、Mac、Linux)间与虚拟机共享文件,可配置Samba服务,实现类似Windows网络邻居的访问方式。

适用场景

局域网内多设备与虚拟机共享文件,需跨平台访问。

准备工作

  • 虚拟机安装Samba服务:sudo apt install samba
  • 确定需共享的目录(如/home/share),并设置权限:sudo chmod 777 /home/share(生产环境建议限制权限)。

操作步骤

  1. 配置Samba

    如何把本地文件移入到虚拟机linux

    • 编辑Samba配置文件:sudo nano /etc/samba/smb.conf
    • 在文件末尾添加以下内容:
      [share]  
      comment = Shared Folder  
      path = /home/share  
      browseable = yes  
      guest ok = yes  
      writable = yes  
    • 保存退出(Ctrl+OEnterCtrl+X),重启Samba服务:sudo systemctl restart smbd
  2. 主机访问共享文件夹

    • Windows主机:在文件管理器地址栏输入\虚拟机IPshare(如\192.168.1.100share),即可访问虚拟机共享目录。
    • Linux主机:安装Samba客户端后,通过smbclient //虚拟机IP/share -U guest访问,或直接在文件管理器输入smb://虚拟机IP/share

注意事项

  • 共享目录权限需同时满足Linux系统权限(chmod)和Samba配置权限(writable = yes)。
  • 局域网内所有设备需与虚拟机在同一网段,否则无法访问。

根据实际场景选择传输方法:

  • 频繁传输/图形化操作:优先使用共享文件夹(需安装增强工具)。
  • 小文件快速传输:拖拽或复制粘贴(需虚拟机运行图形界面)。
  • 无图形界面/远程传输:SCP命令(需开启SSH服务)。
  • 局域网多设备共享:Samba服务(需配置共享目录和权限)。

相关问答FAQs

问题1:共享文件夹提示“权限拒绝”,如何解决?
解答:首先检查虚拟机设置中共享文件夹权限是否为“完全控制”;若权限正常,在Linux内执行以下命令修改文件夹所有者:

# VMware默认路径
sudo chown -R $USER:$USER /mnt/hgfs  
# VirtualBox默认路径  
sudo chown -R $USER:$USER /media/sf_共享文件夹名  

若仍无效,可能是增强工具安装不完整,建议重新安装增强工具后重启虚拟机。

问题2:拖拽文件到虚拟机时文件丢失或失败,如何处理?
解答:首先确认虚拟机已安装增强工具(VMware Tools/Guest Additions),若未安装需先安装;若已安装,尝试关闭虚拟机后重新启动;检查文件大小是否超过虚拟机拖拽限制(通常2GB以下);若为Linux主机,可能需安装gvfs-fuse支持(sudo apt install gvfs-fuse);若仍失败,改用SCP或共享文件夹方法传输,避免拖拽导致的缓存问题。

原创文章,发布者:酷番叔,转转请注明出处:https://cloud.kd.cn/ask/19225.html

(0)
酷番叔酷番叔
上一篇 6小时前
下一篇 6小时前

相关推荐

  • 安装Linux Mint难不难?

    准备工作检查系统要求最低配置:2GB 内存、20GB 存储空间、1024×768 分辨率显示器推荐配置:4GB 内存、100GB SSD、双核处理器(可流畅运行 Cinnamon 桌面环境)备份重要数据使用外部硬盘或云存储备份个人文件(如文档、照片)记录原系统的软件许可证密钥(如 Windows 激活码)下载……

    2025年8月3日
    1000
  • Linux下如何解压zip文件?详细命令操作步骤有哪些?

    Linux系统下处理zip文件是日常运维和开发中的常见需求,虽然Windows系统默认支持zip格式,但Linux环境通常需要借助特定工具完成解压操作,本文将详细介绍Linux下解压zip文件的多种方法,包括基础命令、参数使用、常见问题处理及工具对比,帮助用户高效解决zip文件解压需求,unzip工具——解压z……

    2025年8月22日
    800
  • 如何退出Linux提示符

    遇到特定提示符时,通常表示处于GRUB菜单、固件界面或自定义Shell,按Esc键是常见退出方法,具体操作因环境而异。

    2025年7月14日
    2500
  • Linux hosts文件如何配置?

    hosts文件的位置无论何种Linux发行版,hosts文件均位于 /etc/hosts,这是Linux系统的标准路径,适用于:Ubuntu/DebianCentOS/RHEL/FedoraArch LinuxopenSUSE等可通过命令验证:ls -l /etc/hosts输出示例:-rw-r–r– 1……

    2025年6月20日
    3600
  • Ubuntu还是Debian升级最安全?

    准备工作:安装依赖确保系统已安装编译工具和DBus依赖库:sudo apt install build-essential git autoconf automake libtool \ libexpat1-dev libsystemd-dev libglib2.0-dev# Fedora/CentOS/RHE……

    2025年7月25日
    1500

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

联系我们

400-880-8834

在线咨询: QQ交谈

邮件:HI@E.KD.CN

关注微信