Как переместить файл на виртуальную машину в VirtualBox: полное руководство
Независимо от того, являетесь ли вы разработчиком, тестирующим приложения, системным администратором, управляющим изолированными окружениями, или опытным пользователем, запускающим несколько операционных систем, знание того, как эффективно передавать файлы между хост-машиной и виртуальной машиной VirtualBox (VM), является важным навыком. В этом подробном руководстве мы рассмотрим все надежные доступные методы — от общих папок и перетаскивания до USB-устройств и сетевых передач — чтобы вы могли выбрать подход, который лучше всего подходит для вашего рабочего процесса.
Почему передача файлов на виртуальные машины VirtualBox имеет значение
VirtualBox создает изолированную вычислительную среду, что именно делает ее ценной. Однако эта изоляция также означает, что гостевая ОС не может получить доступ к файловой системе хоста без явной конфигурации. Эффективные методы передачи файлов преодолевают этот разрыв, позволяя вам:
- Обмениваться файлами конфигурации, скриптами и ресурсами проектов между средами
- Тестировать развертывание программного обеспечения в изолированной ОС перед развертыванием в production
- Перемещать данные между системами Windows и Linux без двойной загрузки
- Прототипировать конфигурации серверов перед миграцией в среду VPS Hosting
Давайте подробно рассмотрим каждый метод.
Способ 1: Использование общих папок (рекомендуется)
Общие папки — это наиболее надежное и стабильное решение для постоянного обмена файлами между хостом и гостевой ОС VirtualBox. Этот метод требует установки VirtualBox Guest Additions внутри виртуальной машины.
Шаг 1: Установка VirtualBox Guest Additions
Перед настройкой общих папок убедитесь, что Guest Additions установлены в вашей виртуальной машине:
- Запустите виртуальную машину
- В меню VirtualBox нажмите Devices → Insert Guest Additions CD Image
- Следуйте инструкциям установщика внутри гостевой ОС
- Перезагрузите виртуальную машину после установки
Шаг 2: Настройка общих папок в параметрах VirtualBox
- Откройте VirtualBox и выберите целевую виртуальную машину из левой панели
- Нажмите кнопку Settings (значок шестеренки) на панели инструментов
- Перейдите в раздел Shared Folders на левой боковой панели
- Нажмите значок папки со знаком плюс (+), чтобы добавить новую общую папку
- В диалоговом окне:
- Folder Path: Нажмите на раскрывающееся меню и выберите Other, чтобы выбрать папку хоста для совместного доступа
- Folder Name: Присвойте узнаваемое имя (это то, на что будет ссылаться гостевая ОС)
- Auto-mount: Установите этот флажок, чтобы папка монтировалась автоматически при запуске виртуальной машины
- Make Permanent: Установите этот флажок, чтобы сохранить общую папку между сеансами виртуальной машины
- Нажмите 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 для полностью управляемой, готовой к производству среды.
Способ 2: Использование перетаскивания
VirtualBox поддерживает встроенную функцию перетаскивания между хост-системой и гостевой ОС, что делает это самым быстрым вариантом для разовых передач файлов без дополнительной настройки.
Шаг 1: Включение перетаскивания
- Откройте VirtualBox и выберите вашу ВМ
- Нажмите Settings → General
- Перейдите на вкладку Advanced
- Найдите опцию Drag’n’Drop и установите одно из значений:
- Host to Guest — передача файлов только с хоста на ВМ
- Guest to Host — передача файлов только с ВМ на хост
- Bidirectional — передача файлов в обе стороны
- Нажмите OK для применения
Шаг 2: Передача файлов через перетаскивание
- Запустите виртуальную машину
- На хост-системе найдите файл, который нужно передать
- Нажмите и перетащите файл прямо в окно VirtualBox ВМ
- Отпустите кнопку мыши — файл будет скопирован на рабочий стол гостевой ОС или в текущий каталог
Ограничения, о которых следует знать
- Перетаскивание может быть ненадежным при работе с большими файлами или определенными конфигурациями гостевой ОС
- Некоторые дистрибутивы Linux могут требовать дополнительные процессы демонов буфера обмена/перетаскивания
- Этот метод лучше всего подходит для небольших нечастых передач, а не для массовой миграции данных
Метод 3: Использование USB-устройств
USB-флешки и внешние жесткие диски обеспечивают аппаратный метод передачи, который работает независимо от конфигурации сети или папок.
Шаг 1: Включение USB-контроллера в VirtualBox
- Откройте VirtualBox, выберите вашу VM и нажмите Settings
- Нажмите на вкладку USB в левой боковой панели
- Установите флажок Enable USB Controller
- Выберите стандарт USB, соответствующий вашему устройству:
- USB 2.0 (EHCI) — для стандартных флешек
- USB 3.0 (xHCI) — для более быстрых USB 3.0 устройств (требует VirtualBox Extension Pack)
- Нажмите кнопку Add USB Filter (значок плюса с символом USB) и выберите подключенное USB-устройство из списка
- Нажмите OK для сохранения
> Примечание: Поддержка USB 3.0 требует бесплатного VirtualBox Extension Pack, который должен соответствовать вашей версии VirtualBox. Загрузите его с официального сайта VirtualBox.
Шаг 2: Доступ к USB-устройству в гостевой ОС
- Подключите USB-устройство к хост-машине
- Запустите VM (или, если она уже запущена, перейдите в Devices → USB и выберите ваше устройство для подключения)
- Внутри гостевой ОС:
- Гостевые системы Windows: USB-диск появится в File Explorer под This PC
- Гостевые системы Linux: Устройство может автоматически смонтироваться, или вы можете смонтировать его вручную:
sudo mkdir /mnt/usb
sudo mount /dev/sdb1 /mnt/usbЗамените /dev/sdb1 на фактический идентификатор устройства (используйте lsblk для его определения).
Метод 4: Передача файлов по сети
Если ваш хост и VM находятся в одной сети — или могут достичь друг друга через IP — методы передачи по сети предлагают мощные, масштабируемые варианты для перемещения файлов, особенно больших наборов данных.
Шаг 1: Настройка сетевого адаптера
- Откройте VirtualBox, выберите вашу VM и перейдите в Settings → Network
- Выберите подходящий режим адаптера:
- Bridged Adapter: VM получает собственный IP в вашей локальной сети — лучший вариант для прямого взаимодействия хост-VM
- NAT with Port Forwarding: VM использует IP хоста; требует правил переадресации портов для входящих соединений
- Host-Only Adapter: Создает приватную сеть только между хостом и VM
Шаг 2: Передача файлов с использованием сетевых протоколов
Вариант A: SCP / SFTP (безопасная передача файлов)
SCP и SFTP — наиболее безопасные и широко используемые методы передачи файлов по сети, особенно при работе с Linux VM.
Установите SSH сервер на VM (Linux):
sudo apt update && sudo apt install openssh-server -y
sudo systemctl enable ssh
sudo systemctl start sshПередайте файл с хоста на VM с помощью SCP:
scp /path/to/local/file.txt username@vm_ip_address:/path/to/destination/Подключитесь через SFTP с помощью GUI клиента как FileZilla:
- Host: IP адрес VM
- Protocol: SFTP
- Port: 22
- Username/Password: учетные данные VM
Вариант B: Samba File Sharing (совместимые с Windows общие ресурсы)
Samba идеален, когда вам нужны сетевые общие ресурсы в стиле Windows, доступные как из Windows, так и из Linux VM.
Установите 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Получите доступ к общему ресурсу из VM, перейдя к host_ipSharedFiles в Windows File Explorer, или смонтируйте его в Linux:
sudo mount -t cifs //host_ip/SharedFiles /mnt/samba -o guestВариант C: FTP сервер
Для быстрых передач без SSH вы можете установить легкий FTP сервер на хост и использовать FTP клиент внутри VM.
sudo apt install vsftpd -y
sudo systemctl start vsftpd> Примечание безопасности: Всегда предпочитайте SFTP или SCP обычному FTP, так как FTP передает учетные данные в открытом виде. Для production окружений рассмотрите возможность обновления на Dedicated Server с надлежащей сетевой изоляцией и правилами брандмауэра.
Метод 5: Использование буфера обмена VirtualBox для небольших текстов/данных
Для небольших фрагментов текста, значений конфигурации или команд функция общего буфера обмена — это самый быстрый вариант.
Включение общего буфера обмена
- Перейдите в Settings → General → Advanced
- Установите Shared Clipboard на Bidirectional
- Запустите VM и используйте стандартное копирование-вставку (Ctrl+C / Ctrl+V) между хостом и гостевой ОС
Это особенно полезно для копирования SSH ключей, переменных окружения или коротких скриптов без создания рабочего процесса передачи файлов.
Сравнение всех методов передачи файлов
| Метод | Лучше всего для | Требует Guest Additions | Скорость | Сложность |
|---|---|---|---|---|
| Общие папки | Постоянный, непрерывный доступ | Да | Быстро | Низкая |
| Перетаскивание | Быстрые, разовые передачи | Да | Средняя | Очень низкая |
| USB устройства | Большие файлы, автономная передача | Нет | Быстро | Низкая |
| SCP / SFTP | Безопасные, автоматизированные передачи | Нет | Быстро | Средняя |
| Samba | Совместимые с Windows общие ресурсы | Нет | Средняя | Средняя |
| Общий буфер обмена | Только текст/небольшие данные | Да | Мгновенно | Очень низкая |
Устранение распространенных проблем
Общая папка не видна в гостевой системе Linux
- Подтвердите, что Guest Additions установлены и актуальны
- Добавьте пользователя в группу
vboxsf:sudo usermod -aG vboxsf $USER - Перезагрузите VM после изменения групп
Перетаскивание не работает
- Переустановите Guest Additions внутри VM
- Убедитесь, что процесс VirtualBox имеет достаточные разрешения на хосте
- Попробуйте перезагрузить сервис
VBoxClientвнутри гостевой системы Linux:
VBoxClient --draganddropUSB-устройство не обнаружено
- Установите VirtualBox Extension Pack (требуется для USB 2.0/3.0)
- На хостах Linux добавьте пользователя в группу
vboxusers:
sudo usermod -aG vboxusers $USERОшибка передачи по сети
- Проверьте IP-адрес VM с помощью
ip addr(Linux) илиipconfig(Windows) - Проверьте правила брандмауэра на хосте и гостевой системе
- Убедитесь, что выбран правильный режим сетевого адаптера (Bridged наиболее надежен для прямого взаимодействия)
Выход за пределы VirtualBox: когда переходить на реальный сервер
VirtualBox — отличный инструмент для локальной разработки и тестирования, но он имеет присущие ему ограничения — зависит от вашего физического оборудования, не обеспечивает избыточность и не доступен удаленно без дополнительной настройки. Когда ваш проект перерастает локальную виртуализацию, пришло время рассмотреть облачную или выделенную инфраструктуру.
AlexHost предлагает широкий спектр решений для размещения, соответствующих каждому этапу вашего проекта:
- VPS Hosting — масштабируемые виртуальные частные серверы с полным доступом root, идеальны для разработчиков, переходящих от локальных ВМ к производству
- Dedicated Servers — производительность bare-metal для ресурсоемких рабочих нагрузок
- Shared Web Hosting — экономичное размещение для веб-сайтов и небольших приложений
- Domain Registration — защитите свой домен вместе с инфраструктурой размещения
- SSL Certificates — защитите свои веб-приложения надежным шифрованием SSL/TLS
Заключение
Передача файлов на виртуальную машину VirtualBox проста, если вы понимаете доступные методы и их компромиссы. Вот краткое резюме:
- Используйте Shared Folders для постоянного, частого доступа к файлам между хостом и гостевой системой
- Используйте Drag and Drop для быстрой, случайной передачи небольших файлов
- Используйте USB Devices когда сетевой доступ недоступен или для передачи больших файлов
- Используйте SCP/SFTP или Samba для безопасной передачи по сети — особенно в многовиртуальных или командных средах
- Используйте Shared Clipboard для мгновенного копирования текста и небольших фрагментов данных
Овладение этими методами значительно улучшит ваш рабочий процесс виртуализации. И когда вы будете готовы перейти от локальной виртуальной машины к реальной серверной среде, VPS Hosting и VPS Control Panels AlexHost обеспечат идеальный следующий шаг — предоставляя вам мощь выделенной среды с гибкостью облака.
на всех хостинговых услугах