15%

Сэкономьте 15% на всех хостинговых услугах

Проверьте свои навыки и получите скидку на любой тарифный план

Используйте код:

Skills
Начать
01.11.2024

Как переместить файл на виртуальную машину в VirtualBox: полное руководство

Независимо от того, являетесь ли вы разработчиком, тестирующим приложения, системным администратором, управляющим изолированными средами, или опытным пользователем, запускающим несколько операционных систем, знание того, как эффективно передавать файлы между хост-машиной и виртуальной машиной (ВМ) VirtualBox, является важным навыком. В этом подробном руководстве мы рассмотрим все надежные доступные методы — от общих папок и перетаскивания до USB-устройств и сетевых передач — чтобы вы могли выбрать подход, который лучше всего подходит для вашего рабочего процесса.

Почему передача файлов на ВМ VirtualBox имеет значение

VirtualBox создает изолированную вычислительную среду, что именно делает ее ценной. Однако эта изоляция также означает, что гостевая ОС не может нативно получить доступ к файловой системе хоста без специальной конфигурации. Эффективные методы передачи файлов преодолевают этот разрыв, позволяя вам:

  • Обмениваться файлами конфигурации, скриптами и ресурсами проектов между средами
  • Тестировать развертывание программного обеспечения в изолированной ОС перед развертыванием в production
  • Перемещать данные между системами Windows и Linux без двойной загрузки
  • Прототипировать конфигурации серверов перед миграцией в среду VPS Hosting

Давайте подробно рассмотрим каждый метод.

Метод 1: Использование общих папок (рекомендуется)

Общие папки — это наиболее надежное и постоянное решение для постоянного обмена файлами между хостом и гостевой ОС VirtualBox. Этот метод требует установки VirtualBox Guest Additions внутри ВМ.

Шаг 1: Установка VirtualBox Guest Additions

Перед настройкой общих папок убедитесь, что Guest Additions установлены в вашей ВМ:

  1. Запустите виртуальную машину
  2. В строке меню VirtualBox нажмите Devices → Insert Guest Additions CD Image
  3. Следуйте инструкциям установщика внутри гостевой ОС
  4. Перезагрузите ВМ после установки

Шаг 2: Настройка общих папок в параметрах VirtualBox

  1. Откройте VirtualBox и выберите целевую ВМ из левой панели
  2. Нажмите кнопку Settings (значок шестеренки) на панели инструментов
  3. Перейдите в Shared Folders на левой боковой панели
  4. Нажмите значок папки со знаком плюс (+), чтобы добавить новую общую папку
  5. В диалоговом окне:
  • Folder Path: Нажмите на раскрывающееся меню и выберите Other, чтобы перейти к папке хоста, которую вы хотите поделить
  • Folder Name: Назначьте узнаваемое имя (это то, на что будет ссылаться гостевая ОС)
  • Auto-mount: Установите этот флажок, чтобы папка монтировалась автоматически при запуске ВМ
  • Make Permanent: Установите этот флажок, чтобы сохранить общую папку между сеансами ВМ
  1. Нажмите OK для сохранения

Шаг 3: Доступ к общей папке внутри гостевой ОС

Для гостевых систем Windows:

  • Откройте File Explorer
  • Посмотрите в разделе This PC или Network Locations общую папку (она обычно отображается как сетевой диск с префиксом vboxsvr)

Для гостевых систем Linux:

Общая папка автоматически монтируется в:

/media/sf_<folder_name>

Если вы получите ошибку “Permission denied”, ваша учетная запись пользователя должна быть добавлена в группу vboxsf:

sudo usermod -aG vboxsf your_username

Выйдите и снова войдите, чтобы изменение группы вступило в силу. Вы можете проверить с помощью:

groups your_username

Ручное монтирование (Linux):

Если автоматическое монтирование не включено, вы можете монтировать папку вручную:

sudo mount -t vboxsf shared_folder_name /mnt/shared

> Совет профессионала: Общие папки идеальны для рабочих процессов разработки, где вам нужен постоянный, в реальном времени доступ к файлам в разных средах. Если вы планируете масштабироваться за пределы локальных ВМ, рассмотрите развертывание на VPS с cPanel для полностью управляемой, готовой к production среды.

Метод 2: Использование перетаскивания

VirtualBox поддерживает встроенную функцию перетаскивания между хостом и гостевой ОС, что делает его самым быстрым вариантом для одноразовых передач файлов без дополнительной конфигурации.

Шаг 1: Включение перетаскивания

  1. Откройте VirtualBox и выберите вашу ВМ
  2. Нажмите Settings → General
  3. Перейдите на вкладку Advanced
  4. Найдите опцию Drag’n’Drop и установите одно из значений:
  • Host to Guest — передача файлов с хоста на ВМ только
  • Guest to Host — передача файлов с ВМ на хост только
  • Bidirectional — передача файлов в обе стороны
  1. Нажмите OK для применения

Шаг 2: Передача файлов через перетаскивание

  1. Запустите виртуальную машину
  2. На хост-системе найдите файл, который вы хотите передать
  3. Нажмите и перетащите файл прямо в окно ВМ VirtualBox
  4. Отпустите кнопку мыши — файл будет скопирован на рабочий стол гостевой ОС или в текущий каталог

Ограничения, о которых следует знать

  • Перетаскивание может быть ненадежным с большими файлами или определенными конфигурациями гостевой ОС
  • Некоторые дистрибутивы Linux могут требовать дополнительных процессов демона буфера обмена/перетаскивания
  • Этот метод лучше всего подходит для небольших, нечастых передач, а не для массовой миграции данных

Метод 3: Использование USB-устройств

USB-накопители и внешние жесткие диски обеспечивают аппаратный метод передачи, который работает независимо от конфигурации сети или папок.

Шаг 1: Включение USB-контроллера в VirtualBox

  1. Откройте VirtualBox, выберите вашу ВМ и нажмите Settings
  2. Нажмите на вкладку USB на левой боковой панели
  3. Установите флажок Enable USB Controller
  4. Выберите стандарт USB, соответствующий вашему устройству:
  • USB 2.0 (EHCI) — для стандартных USB-накопителей
  • USB 3.0 (xHCI) — для более быстрых USB 3.0 устройств (требует VirtualBox Extension Pack)
  1. Нажмите кнопку Add USB Filter (значок плюса с символом USB) и выберите подключенное USB-устройство из списка
  2. Нажмите OK для сохранения

> Примечание: Поддержка USB 3.0 требует бесплатного VirtualBox Extension Pack, который должен соответствовать вашей версии VirtualBox. Загрузите его с официального веб-сайта VirtualBox.

Шаг 2: Доступ к USB-устройству в гостевой ОС

  1. Подключите USB-устройство к хост-машине
  2. Запустите ВМ (или, если она уже запущена, перейдите в Devices → USB и выберите ваше устройство для подключения)
  3. Внутри гостевой ОС:
  • Гостевые системы Windows: USB-диск появится в File Explorer в разделе This PC
  • Гостевые системы Linux: Устройство может автоматически монтироваться, или вы можете монтировать его вручную:
sudo mkdir /mnt/usb
sudo mount /dev/sdb1 /mnt/usb

Замените /dev/sdb1 на фактический идентификатор устройства (используйте lsblk для его определения).

Метод 4: Сетевая передача файлов

Если ваш хост и ВМ находятся в одной сети — или могут достичь друг друга через IP — методы сетевой передачи предлагают мощные, масштабируемые опции для перемещения файлов, особенно больших наборов данных.

Шаг 1: Настройка сетевого адаптера

  1. Откройте VirtualBox, выберите вашу ВМ и перейдите в Settings → Network
  2. Выберите соответствующий режим адаптера:
  • Bridged Adapter: ВМ получает собственный IP в вашей локальной сети — лучше всего для прямого взаимодействия хоста и ВМ
  • NAT with Port Forwarding: ВМ использует IP хоста; требует правил переадресации портов для входящих соединений
  • Host-Only Adapter: Создает приватную сеть только между хостом и ВМ

Шаг 2: Передача файлов с использованием сетевых протоколов

#### Вариант A: SCP / SFTP (безопасная передача файлов)

SCP и SFTP — это наиболее безопасные и широко используемые методы передачи файлов по сети, особенно при работе с ВМ Linux.

Установка SSH-сервера на ВМ (Linux):

sudo apt update && sudo apt install openssh-server -y
sudo systemctl enable ssh
sudo systemctl start ssh

Передача файла с хоста на ВМ с использованием SCP:

scp /path/to/local/file.txt username@vm_ip_address:/path/to/destination/

Подключение через SFTP с использованием клиента GUI как FileZilla:

  • Host: IP-адрес ВМ
  • Protocol: SFTP
  • Port: 22
  • Username/Password: учетные данные ВМ

#### Вариант B: Samba File Sharing (совместимые с Windows общие ресурсы)

Samba идеальна, когда вам нужны общие ресурсы в стиле Windows, доступные как из Windows, так и из Linux ВМ.

Установка Samba на хост Linux:

sudo apt install samba -y

Настройка общего ресурса в /etc/samba/smb.conf:

[SharedFiles]
   path = /home/username/shared
   browseable = yes
   read only = no
   guest ok = yes

Перезагрузка Samba:

sudo systemctl restart smbd

Получите доступ к общему ресурсу из ВМ, перейдя в host_ipSharedFiles в Windows File Explorer, или смонтировав его в Linux:

sudo mount -t cifs //host_ip/SharedFiles /mnt/samba -o guest

#### Вариант C: FTP-сервер

Для быстрых передач без SSH вы можете установить легкий FTP-сервер на хосте и использовать FTP-клиент внутри ВМ.

sudo apt install vsftpd -y
sudo systemctl start vsftpd

> Примечание безопасности: Всегда предпочитайте SFTP или SCP обычному FTP, так как FTP передает учетные данные в открытом виде. Для production-сред рассмотрите обновление до Dedicated Server с надлежащей сетевой изоляцией и правилами брандмауэра.

Метод 5: Использование буфера обмена VirtualBox для небольших текстовых данных

Для небольших фрагментов текста, значений конфигурации или команд функция общего буфера обмена — это самый быстрый вариант.

Включение общего буфера обмена

  1. Перейдите в Settings → General → Advanced
  2. Установите Shared Clipboard на Bidirectional
  3. Запустите ВМ и используйте стандартное копирование-вставку (Ctrl+C / Ctrl+V) между хостом и гостем

Это особенно полезно для копирования SSH-ключей, переменных окружения или коротких скриптов без создания рабочего процесса передачи файлов.

Сравнение всех методов передачи файлов

МетодЛучше всего подходит дляТребует Guest AdditionsСкоростьСложность
Общие папкиПостоянный, постоянный доступДаБыстроНизкая
ПеретаскиваниеБыстрые, одноразовые передачиДаСреднееОчень низкая
USB-устройстваБольшие файлы, автономная передачаНетБыстроНизкая
SCP / SFTPБезопасные, скриптовые передачиНетБыстроСреднее
SambaСовместимые с Windows общие ресурсыНетСреднееСреднее
Общий буфер обменаТолько текст/небольшие данныеДаМгновенноОчень низкая

15%

Сэкономьте 15% на всех хостинговых услугах

Проверьте свои навыки и получите скидку на любой тарифный план

Используйте код:

Skills
Начать