Portable VirtualBox позволяет вам эмулировать полную компьютерную систему внутри существующей установки без фактической установки множества пакетов. В некоторых случаях вы могли просто распаковать архив и начать работу. Это значительно упрощает настройку по сравнению с полной установкой программного обеспечения, а также позволяет перенести ваш эмулированный компьютер VirtualBox в компьютер в любом месте, где есть компьютер, на котором запущено соответствующее системное программное обеспечение.
Время от времени вы можете столкнуться с ошибкой драйвера ядра от Portable VirtualBox, которая возникает из-за неправильно настроенного пакета. Возможно, это звучит очень нелогично, потому что эта портативная установка вообще не должна связываться с пакетами.
Исправление ошибок ядра VirtualBox
Прежде чем продолжить, убедитесь, что вы имеете дело с тем, как VirtualBox взаимодействует с ядром, а не с тем, что, скажем, связано с самим ядром Linux или NT. Вы получите сообщение об ошибке, которое конкретно указывает, что вы страдаете от «VirtualBox — Ошибка времени выполнения» и что программное обеспечение «Не может получить доступ к драйверу ядра!». Если вы получаете реальную панику, которая останавливает вашу операционную систему, то вы на самом деле имеете дело с чем-то совершенно не связанным с VirtualBox.
В зависимости от того, какая у вас операционная система, вы можете использовать один из нескольких инструментов, используемых для проверки службы. Вы можете попробовать использовать ServiWin VBoxDrv под Windows или просто попробовать top, htop или busybox top под Linux. В любом случае вы можете обнаружить, что сервис никогда не останавливается или не превращается в процесс зомби. Ваш следующий шаг здесь — попробовать PSEXEC-s, но вы обнаружите, что в большинстве случаев это ничего не делает.
Попытка новой установки Portable VirtualBox может исправить ситуацию, и это достаточно просто сделать. Просто скопируйте файлы с карты памяти USB или любого другого носителя, который вы использовали для хранения переносимых каталогов, в новый каталог и повторите попытку. Если это помогает, то вы просто что-то потеряли в своей старой директории и можете переместить любые VXD-файлы в новую.
Вы можете что-то упустить, если ни один из этих процессов на самом деле не работает для вас. В этом случае вы можете пропустить общий заголовок или что-то в этом роде. Вы можете восстановить их с помощью:
sudo apt-get установить dkms
sudo apt-get -y установить linux-headers-generic linux-headers-lbm — #. #. # — ## — generic
Замените окто-типы правильными цифрами для текущих общих заголовков Linux, с которыми вы работали. Эти цифры меняются с каждым обновлением, что отражает характер обновлений Linux. Естественно, если Windows 7 x86_64 или что-то подобное было на самом деле вашей операционной системой, то это не сработает изначально, но стоит попробовать, если вы работаете изнутри управляемой среды apt-get. Это может также решить эту ошибку для пользователей Microsoft Windows 10, у которых есть дополнительные файлы Ubuntu, установленные внутри Windows. В этом случае apt-get в большинстве случаев все равно будет работать нормально.
Этот тип ошибки часто вызывается потерей некоторых файлов, возможно, из-за чрезмерно усердной процедуры обновления или, возможно, из-за повреждения файловой системы. Такого рода вещи происходят, когда питание отключается во время записи в файловую систему. В любом случае, sudo apt-get install –reinstall linux-headers — #. #. #. ## — generic может также помочь с правильными номерами версий, заменив символы # на самые последние версии снова.
Если эти команды также вызывают какую-либо форму ошибки, вместо этого сформулируйте их как:
sudo apt-get удалить linux-заголовки — #. #. #. ##
sudo apt-get установить linux-headers — #. #. #. ## — generic
Хотя это может выглядеть довольно радикально, так как удаляет существующие заголовки Linux и заменяет их свежими копиями, на самом деле это не затрагивает какие-либо файлы конфигурации, что помогает сохранить вашу установку без изменений. Это просто обновляет заголовки, которые уже были там. Если вы работаете с каким-либо портативным компьютером, обязательно подключите зарядное устройство, прежде чем делать это. Потеря питания во время операций такого типа не приведет к полной загрузке файловой системы, но она доставит вам много головной боли.
Если вы работаете с Ubuntu или совместимой системой, вы можете открыть диспетчер пакетов Synaptic из меню Система — Администрирование. Выберите меню «Правка» и затем выберите «Исправить сломанные пакеты». Обратите особое внимание на нижнюю часть окна. Это где строка состояния, и это будет действовать как единственный вывод, который вы получите об этом процессе. Вы не найдете ни одного диалогового окна или всплывающего окна, которое могло бы помочь вам.
Если у вас есть только терминальный доступ, вы можете запустить sudo apt-get -f install, чтобы выполнить то же самое. В любом случае, это должно убедиться, что у вас есть все необходимые файлы. Как только вы все проверили, вы должны перезагрузить систему, чтобы убедиться, что все загружено из ее последней копии.
Поскольку для этого требовалась замена пакетов заголовков, то сейчас самое время обновить систему до полного пакета. Вы можете сделать это, запустив sudo apt-get update, а затем sudo apt-get upgrade, чтобы убедиться, что каждый пакет, установленный в вашей системе, в данный момент обновляется. Это на самом деле полезно делать периодически при запуске любой версии VirtualBox, так как это также помогает снизить любые риски безопасности, связанные с совместным использованием двух операционных систем.
После того, как VirtualBox Portable снова заработает идеально, вы можете найти, что это идеальное время для резервного копирования всего каталога. Вам не нужно делать ничего особенного, так как переносимая версия не создает много других файлов в другом месте вашей системы, кроме того, где вы ее установили, хотя вы можете посмотреть в своем домашнем каталоге, чтобы увидеть, есть ли любые важные файлы конфигурации в подкаталоге там. Это также не является необходимым шагом, но использование этого момента сейчас может помочь предотвратить появление ошибок ядра VirtualBox в будущем.