Ответы пользователя по тегу VirtualBox
  • VirtualBox и USB устройство?

    @rPman
    Смени virtualbox на qemu/kvm, он поддерживает проброс pci устройства, пробросить весь usb контроллер материнки

    Шансов что все заработает больше с ним
    Ответ написан
    Комментировать
  • VirtualBox как правильно настроить сеть?

    @rPman
    Скорее всего ip адрес детектировался через WebRTC технологию браузера, она работает по udp и минует прокси. Так же, если прокси http, они могут добросовестно сообщать ip клиента, в соответствующих заголовках. Еще есть dns leak, dns так же должно резолвиться через прокси (соответствующая настройка в браузере).

    Правильно - использовать vpn, поднимать внутри виртуалки (просто), либо снаружи на хост системе или в ее локальной сети и настраивать маршрутизацию (сложно).

    Еще вариант, можно отключить webrtc в браузере, тогда и виртуалка не понадобится, использовать разные профили браузера (например firefox -P) либо профили пользователя операционной системы. Правда остаются другие способы получения слепка машины пользователя (информация о железе, установленные шрифты, расширения браузера и т.п.), в этом случае лучше конечно остаться в виртуалках.
    Ответ написан
    Комментировать
  • Как отобразить окно активной машины virtualbox?

    @rPman
    Проблема странная, в virtualbox есть режим headless но в него нужно входить специальной командой из консоли, только тогда появится пункт меню но до выключения, меня появляется при попытке закрыть окно с машиной или по правой кнопоке меню Стоп.

    Как частное решение именно в твоем случае, я рекомендую включить rdp доступ к машине, и подключаться с помощью клиента удаленного доступа (штатная утилита windows)
    Ответ написан
  • В VirtualBox вылазиет ошибка после запуска exe приложения, как решить?

    @rPman
    Не существует драйверов для windows гостя с полноценной поддержкой 3d-акселератора.
    Есть какие то кастрированные потуги, например при установки гостевых дополнений (те что проприетарные и требуют отдельной загрузки) можно отметить чекбоксик что желаете экспериментальную поддержку directx 3d но на практике там мало что работает и самое главное ничего не работает в windows 10, майкрософт что то как следует сломало и перестало работать даже то что раньше работало.

    Та же ситуация с другими системами виртуализации.

    Для qemu есть spice, механизм универсального проброса функций 3d ускорителя по сети, но на сколько это работоспособно я не знаю, кажется плохо.

    Наилучшее на текущий момент решение - проброс всего PCI контроллера с видеокартой (всем что оно предлагает, там и звуковая карта для hdmi и еще какие то устройства), virtualbox так не умеет, пробуй с qemu. Вот посмотри тут есть список устройств которые вроде бы будут работать так

    https://ubuntu.com/server/docs/gpu-virtualization-...
    https://wiki.gentoo.org/wiki/GPU_passthrough_with_...

    p.s. совет, сначала настрой windows машину не внутри виртуалки а на реальном железе с пробрасываемой видеокартой, установив драйвера заранее и только потом переноси ее в виртуальную машину, когда то давно установщик драйверов в windows не могу их установить если видеокарта биосом уже была инициализирована (получается двойная попытка).
    Ответ написан
  • Как соединить виртуальную машину с сетью основной, чтобы другие компьютеры в локальной сети могли соединяться с ним?

    @rPman
    В настройках сетевых устройств сменить тип NAT на Сетевой мост, в этом случае машина будет получать ip адрес по тем же правилам что и любая другая машина в твоей сети
    Ответ написан
    Комментировать
  • Как перенести виртуальную машину с qemu в virtualbox?

    @rPman
    штатная утилита qemu-img умеет конвертировать во все разумные форматы и сетевые протоколы, включая само собой virtualbox
    Supported formats: blkdebug blklogwrites blkverify bochs cloop compress copy-before-write copy-on-read dmg file ftp ftps gluster host_cdrom host_device http https iscsi iser luks nbd null-aio null-co nvme parallels preallocate qcow qcow2 qed quorum raw rbd replication ssh throttle vdi vhdx vmdk vpc vvfat

    qemu-img convert -f qcow2 source-vm.qcow2 -O vdi dest-vm.vdi
    Ответ написан
    2 комментария
  • Почему растет размер виртуального диска?

    @rPman
    Так как информации мало, могу предположить.

    При создании виртуальной машины были созданы динамические диски (или использовалась аналогичная технология у LVM), когда создаваемый диск большого размера физически занимает меньше места, именно столько, сколько записей было сделано виртуальной машиной. Точно так же будет вести себя диск, размещенный в файле с поддержкой sparse files - когда кластеры, занимаемые файлом, пока в них не была произведена запись, не занимают реально место (только в метаданных информация о них)

    Но именно в контексте дисков виртуальных машин этот подход имеет недостаток - место на диске увеличивается но не уменьшается, т.е. когда виртуальная машина удаляет файл, с реальным местом на диске ничего не происходит, и при создании нового файла (по другому адресу) реальное место на диске будет продолжать тратиться, и возможна ситуация, когда постоянно создавая и удаляя файл внутри виртуальной машине, место, которое занимает диск будет увеличиваться до реального размера диска, выбранного при создании машины (на самом деле это зависит от файловой системы на диске внутри виртуальной машины, планирование выбора следующего места для нового файла не гарантирует, что это будет новое а не место удаленного файла, например cow-файловые системы типа zfs/btrfs/xfs этому более подвержены).

    Погуглил, оказывается VIrtualBox или Hyper-v поддерживают trim как раз для освобождения места, ну и конечно есть команды для вакуумирования этого освободившегося места, ищи в документации твоей виртуальной машины.
    Ответ написан
    Комментировать
  • Как подключить беспроводной сетевой адаптер в Virtualbox?

    @rPman
    VirtualBox умеет пробрасывать только usb устройства, и то если повезет.
    Проброс pci устройств можно настроить на linux используя kvm, и там тоже только если повезет
    Ответ написан
    Комментировать
  • Проблема с выделением ресурсов виртуалке, как исправить?

    @rPman
    В настройках виртуальной машины смени тип контроллера диска и сетевой карты на virtio-iscsi и для сетевой карты virtio-net, это устройства, работающие без симуляции настоящего, работающие через драйвера и на максимальной скорости

    Для гостя windows почему то штатные guest-additions не устанавливают драйвера для этих устройств, по крайней мере последние версии. Нужно искать в сторонних местах (по ссылке выше например)
    Ответ написан
  • Как запустить образ Windows 2000.vdi через Limdo PC Emulator?

    @rPman
    Загрузись в консоль восстановления эту win2k (можно и с компьютера в той же virtualbox) ее многие заранее ставили на диск рядом благо это десятки мегабайт всего, ну или загрузись с установочного диска, и отключи сервисы связанные с драйверами дискового контроллера, который был установлен в этой ос и включи штатный майкрософтовский (в принципе можно попытаться это сделать в safe mode, иначе драйвера автоматом включатся назад).

    К сожалению на память назвать их не смогу, но если загрузиться в ос и включить отображение скрытых устройств, это можно понять просто по названию и описанию.

    99% проблем с переносом windows между железом (а у тебя это virtualbox -> qemu, причем почти наверняка стоят дополнения ОС не совместимые с qemu, их лучше предварительно удалить) - это проблемы именно с дисковым контроллером, так же операционка не любит смену '1 ядерная машина' <-> 'многоядерная', там для этого разные драйвера/ядра использовались, но ошибка кажется будет другой.
    Ответ написан
    Комментировать
  • Как перенаправить звонок в виртуальную машину?

    @rPman
    Попробуй установить приложение на реальном железе, завершить регистрацию, а затем перенести в виртуальное окружение через backup/restore (к сожалению доступно только гугловское), при наличии root файлы приложения можно будет тупо скопировать
    Ответ написан
    Комментировать
  • Linux установлена на HDD, как сделать виртуальный образ vhd этого диска, чтоб всё работало?

    @rPman
    vhd можно создавать и монтировать в windows (к сожалению не доступно в home ревизиях, но народ как то это взламывал) прямо в интерфейсе Управление дисками, т.е. создаешь точно такого же размера диск динамический (он не будет занимать место пока не начнется запись) и делаешь копию через клонирование диска с помощью windd или аналогичных утилит.

    Далее этот диск можно использовать внутри виртуальной машины VirtualBox и на сколько я знаю есть поддержка у kvm. При необходимости диск можно конвертировать в любой другой формат, просто создав временную виртуальную машину с этим диском и новым, в новом формате, и склонировать любыми инструментами (например clonezilla).

    В подавляющем большинстве случаев, склонированный диск будет работать а система загружаться в virtualbox (с оговорками EFI, так как оно требует настройку либо инструментами биоса, у virtualbox оно эксперементальное, либо сторонними утилитами, смотреть какой там загрузчик, какая ос и т.п.)
    Ответ написан
    Комментировать
  • Почему команды man и sudo не найдены?

    @rPman
    видно что у тебя только security патчи в списке репозиториев
    например смотри сюда, твой /etc/apt/sources.list должен содержать что то типа такого:
    deb http://deb.debian.org/debian bullseye main
    deb-src http://deb.debian.org/debian bullseye main
    
    deb http://deb.debian.org/debian-security/ bullseye-security main
    deb-src http://deb.debian.org/debian-security/ bullseye-security main
    
    deb http://deb.debian.org/debian bullseye-updates main
    deb-src http://deb.debian.org/debian bullseye-updates main

    посмотри каких строк у тебя нет и добавь (можно еще non-free-firmware добавить)

    после жми apt update и уже тогда apt install xxx
    Ответ написан
  • Как запустить программу с GUI на гостевой машине в VirtualBox?

    @rPman
    Безрамочный режим? у virtual box есть 'режим интеграции' (в гостевой ОС должны быть установлены virtual box additionals), в этом режиме все меню и окно virtualbox будут скрыты

    К сожалению они все еще будут показаны пока идет загрузка ОС, но можно попробовать схитрить и запускать в скрытом режиме, а затем через какое то время его показывать, я не нашел как это сделать из командной строки, но если кликнуть в интерфейсе на машину она будет показана, значит команда есть. Если машину, находящуюся в режиме headless сделать savestate а затем ее снова startvm, то она выйдет из режима headless, это конечно криво но работоспособно.

    Гостевое приложение будет работать как хост приложение, пока пользователь не нажмет системные кнопки типа ctrl+esc или alt+tab (это кстати меняется), так же при попытке переместить окно будет виден след фона гостевой ОС
    Ответ написан
  • Как сделать клон Ubuntu в VirtualBox?

    @rPman
    linux переносится очень просто, средств миллион, в данном случае виртуальная машина должна восприниматься как еще один компьютер в сети а значит и вопрос значится как склонировать linux с одной машины на другую

    Например clonezilla, в данном случае необходимо промежуточное хранилище, кому то это покажется неудобным, но как частный случай можно сделать некоторые каталоги игнорируемыми, и скопировать их позже по сети, запустив одновременно две машины - оригинальную и склонированную в виртуалке

    Либо можно все сделать вручную без каких либо инструментов из linux, запущенного с отдельного носителя (например установочный liveusb linux), этот вариант требует большего понимания что делать но он может быть проще чем clonezilla (парадокс да) и не требует промежуточного хранилища:
    * Запускаешь на обоих машинах linux (сеть должна быть настроена в виртуалке например - сетевой мост с локальной сетью, тогда ip будет выдавать роутер автоматически).
    * Выбираешь одну из машин как рабочую (например целевая виртуальная), за которой будешь сидеть и ставишь там nbd-client (а на другой nbd-server), на второй (например реальная машина) прописываешь в /etc/nbd-server/config
    [generic]
    allowlist = true
    [sda]
      exportname = /dev/sda
    [sdb]
      exportname = /dev/sdb
    # и так для каждого диска в машине

    * перезапускаешь nbd-server и все
    service nbd-server restart
    * на основной
    sudo modprobe nbd
    sudo nbd-client -name sda ip-адрес-мащины-nbd-server /dev/nbd0
    # и так для каждого диска, поменяв например sdb и /dev/nbd1

    все! теперь у тебя на одной машине подключены по сети диски другой

    * Если размеры дисков одинаковы то можно тупо скопировать их с помощью
    dd if=/dev/nbd0 of=/dev/sda bs=1024k status=progress

    эта команда скопирует с сетевого nbd0 на локальный sda (можно поменять местами как тебе требуется)
    после этого ничего делать не надо будет (исключение efi загрузчик, на сколько я знаю virtualbox только недавно научился его, еще в бете 7 версия, а так смена efi на legacy mbr потребует вручную запустить grub) и все будет работать.

    * Если размеры дисков и разделов разные, но свободного места хватает (например с большего на меньший диск) то можно так же с помощью clonezilla все склонировать, выбрав режим device-to-device

    А можно вручную создать нужную структуру разделов, например исправив детские ошибки, допущенные при установке исходной машины (например убрать LVM тома) и вручную же скопировать раздел с помощью partclone (его использует clonezilla)
    Ответ написан
    Комментировать
  • Есть ли возможность создавать виртуальные машины virtualbox с предустановленными параметрами?

    @rPman
    у virtualbox очень продвинутый инструмент командной строки по работе с виртуалками (доступно все что есть в gui плюс еще немного) - VBoxManage
    а внутри виртуалки все то же самое что с реальными машинами, уже отвечали - ансибл вполне хорош.
    Ответ написан
    Комментировать
  • Как на virtualbox создать сеть между сервером и клиентом?

    @rPman
    В настройках виртуальных машин, там где настраивается сетевой адаптер, настраиваешь либо 'Сетевой мост' с реальным сетевым адаптером хост машины, либо выбираешь 'Внутренняя сеть' и создаешь новую, она будет доступна только тем сетевым машинам где выбрана (таких независимых сетей может быть много).

    При использовании внутренней виртуальной сети нужно понимать что роутера в ней по умолчанию нет (когда как хост машина наверняка уже сидит в сети с таким роутером (а это dns сервер и интернет?)
    Ответ написан
    Комментировать
  • Можно разместить виртуальный диск (vdi) на SD карте?

    @rPman
    Какая операционная система?

    Если windows.
    Можно, но будет медленно, можно слегка ускорить чтение и запись, за счет понижения надежности (при аварийном выключении хост машины можно потерять данные), включив принудительное кеширование, есть отдельно настройка в свойствах устройства (свойства диска, закладка устройства, включить принудительное кеширование записи) и есть опция в настройках виртуальной машины - в настройках контроллера диска включить кеширование.

    Если список устройств (диски флешки) на машине меняется редко, то рекомендуется использовать флешку не как хранилище файла vdi а использовать прямой доступ к устройству, к сожалению в VirtualBox это можно делать только из командной строки, создав дисковое устройство с помощью команды
    vboxmanage internalcommands createrawvmdk -filename маленький_файл.vmdk -rawdisk \\.\PhysicalDrive0
    тут \\.\PhysicalDrive0 это имя диска (не раздела), с его номером, порядок дисков смотреть в менеджере дисков. Порядок дисков меняется при подключении новых флешек, так что это придется отслеживать.
    Ответ написан
  • Как можно создать и редактировать файл VMDK в Python?

    @rPman
    у тебя 2 задачи:
    1. работа с файловой системой в raw образе (инструментарий зависит от выбранного типа файловой системы fat/ntfs/iso/ext4/...)
    2. конвертация raw образа в vmdk

    с этим справится утилита qemu-img из проекта qemu
    qemu-img create -f raw image.img 4G 
    # тут можно смонтировать файловую систему в linux с помощью mount
    qemu-img convert -f raw image.img -O image.vmdk
    # а тут в windows с помощью diskpart

    либо от virtualbox - VBoxManage

    нет нужды делать все самому, создаешь монтируешь

    python у тебя тут исключительно как инструмент запуска внешних команд
    Ответ написан
    1 комментарий
  • Как снятый образ с сервера с помощью disk2vhd запустить в VirtualBox?

    @rPman
    Самый универсальный способ, не зависящий от типа виртуальной машины и железа (перенос в любую сторону) - это создание и восстановление копии данных изнутри виртуальной машины.

    Делаешь livecd/liveusb чего то типа clonezilla (можно linux зпустить с liveusb и в нем как приложение), загружаешься с нее на исходной машине, полученную копию куда то складываешь, например по сети (она будет размера занятого пространства на дисках, можно включить сжатие), затем создаешь виртуальную машину с пустыми дисками, и загружаешься в ней с clonezilla, указываешь источник данных куда сохранил образы и восстанавливаешь (после этот бакап можно удалить)

    p.s. clonezilla кажется не умеет работать с динамическими дисками windows (софтварный рейд), в остальных случаях все ок

    можно пользоваться другими средствами резервного копирования, которые это понимают, при необходимости
    Ответ написан