如何将本地文件移入虚拟机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脚本?必学全操作步骤与常用命令指南

    在Linux系统中,脚本是一种常见的自动化任务工具,通常由一系列命令组成,通过Shell解释器(如bash、sh等)执行,运行Linux脚本需要经过创建脚本、设置权限、选择执行方式等步骤,下面将详细说明整个过程,创建Linux脚本首先需要创建一个脚本文件,通常以.sh为后缀(如script.sh),虽然这不是强……

    2025年9月26日
    13200
  • linux 死锁如何调试

    在Linux系统中,死锁是指两个或多个进程因竞争资源而造成的一种互相等待的僵局,若无外力作用,这些进程都将无法向前推进,死锁调试是Linux系统维护和开发中的常见挑战,需要结合系统工具、日志分析及代码审查定位问题根源,本文将详细阐述Linux死锁的调试方法、工具使用及步骤分析,死锁的基本概念与必要条件死锁的产生……

    2025年9月26日
    12100
  • Linux系统下载软件有哪些方法?不同发行版如何操作?

    Linux系统作为开源操作系统,其软件安装方式与Windows、macOS存在显著差异,核心在于依赖管理和软件源机制,不同Linux发行版因包管理工具不同,安装方法也有所区别,总体可分为系统自带包管理器、源码编译、Snap/Flatpak跨平台包、第三方软件中心及二进制包等几类,本文将详细介绍各类方法的操作步骤……

    2025年8月31日
    11200
  • Linux vim如何执行命令与脚本?

    在Linux系统中,vim作为强大的文本编辑器,其“执行”涵盖多个维度,包括基础启动、命令执行、脚本加载、自动化操作等,掌握这些执行方式能显著提升编辑效率,基础启动与文件执行vim的执行始于启动命令,不同参数对应不同场景,最基础的是直接输入vim进入无文件编辑界面,或通过vim 文件名打开指定文件(若文件不存在……

    2025年10月4日
    11700
  • vbox如何让cdlinux使用无线网卡?

    在VirtualBox虚拟机中运行CDLinux时,若需使用无线网卡进行网络连接(如在线更新、远程维护或网络测试),需正确配置虚拟机网络模式及系统内无线参数,以下是详细操作步骤,涵盖VirtualBox设置、CDLinux驱动加载、无线网络连接及故障排查,确保虚拟机通过无线网卡正常联网,VirtualBox虚拟……

    2025年9月28日
    11900

发表回复

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

联系我们

400-880-8834

在线咨询: QQ交谈

邮件:HI@E.KD.CN

关注微信