如何将本地文件移入虚拟机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)
酷番叔酷番叔
上一篇 2025年8月29日 00:40
下一篇 2025年8月29日 00:53

相关推荐

  • linux下qt如何打开文件夹路径

    Linux 下,Qt 中可以使用 QDesktopServices::openUrl()

    2025年8月14日
    3300
  • Linux如何查看MBR诊断启动问题?

    方法1:使用 dd + hexdump(推荐)步骤:sudo dd if=/dev/sda bs=512 count=1 | hexdump -Cif=/dev/sda:指定磁盘(如sda、sdb),切勿误操作写入(of)!bs=512 count=1:精确读取MBR的512字节,hexdump -C:以十六进……

    2025年7月15日
    4800
  • linux 如何上传jdk

    Linux 中,可通过下载 JDK 安装包后使用 tar 命令解压

    2025年8月10日
    3400
  • Linux如何清除系统密码?

    在Linux系统中,清除用户密码(包括root用户)通常用于忘记密码时的应急恢复或特定场景下的无密码登录需求,但操作需谨慎,避免因权限问题导致系统异常,以下是几种常见场景下的清除方法及注意事项,系统已启动时清除普通用户密码若当前系统可正常登录(如拥有root权限或其他sudo权限用户),可直接通过passwd命……

    2025年9月10日
    2500
  • Linux系统如何修改锁屏壁纸?

    在Linux系统中,修改锁屏壁纸的方法因桌面环境的不同而存在差异,常见的桌面环境如GNOME、KDE Plasma、XFCE、MATE、Cinnamon等,各有专属的工具和配置路径,本文将详细介绍主流桌面环境下修改锁屏壁纸的具体步骤,同时提供命令行方法和通用工具,帮助用户灵活完成设置,GNOME桌面环境(Ubu……

    2025年8月24日
    2900

发表回复

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

联系我们

400-880-8834

在线咨询: QQ交谈

邮件:HI@E.KD.CN

关注微信