Прекращена работа программы virtualbox headless frontend ldplayer

На некоторых компьютерах при запуске виртуальной машины VirtualBox возникает ошибка, в которой написано, что «Не удалось открыть сессию для виртуальной машины». У меня она выглядела так:

Если щёлкнуть на слово «Детали» в окне этой ошибки, то можно увидеть код этой ошибки — E_FAIL (0x80004005):

Особенно неприятно, если у вас уже была настроена рабочая виртуальная машина в VirtualBox, которой вы пользовались, а через некоторое время она просто перестала запускаться, выдавая ошибку E_FAIL (0x80004005) «Не удалось открыть сессию для виртуальной машины». В данной статье мы последовательно рассмотрим три решения данной проблемы с запуском виртуальной машины.

Первое решение

Заходим на диск С, далее в папку Users (Пользователи), затем выбираете того пользователя, под которым вы устанавливали VirtualBox (у меня это имя Саша), далее в папку VirtualBox VMs, и там должна быть папка с названием вашей виртуальной машины. В предыдущей статье мы создавали виртуальную машину с названием Win8.1, поэтому полный путь к необходимой папке будет выглядеть так: C:UsersСашаVirtualBox VMsWin8.1

(SOLVED) VirtualBox Headless Frontend has stopped working in LDPlayer

Как видно на скриншоте выше, у меня в этой папке лежат два файла с названием моей виртуальной машины «Win8.1»: «Win8.1.vbox» и «Win8.1.vbox-prev». Необходимо сначала скопировать оба файла в другое место на вашем компьютере (сделать резервные копии), а затем в исходной папке удалить файл «Win8.1.vbox», а файл «Win8.1.vbox-prev» переименовать в «Win8.1.vbox». Только не забывайте, что у вас будет своё имя виртуальной машины. После этого виртуальная машина должна запуститься без ошибки. Если же ошибка осталась, то просто верните скопированные файлы в исходную папку.

Иногда в указанной папке будут лежать не те файлы, которые я описывал выше, а с расширением xml – например, «Win8.1.xml-prev» и «Win8.1.xml-tmp». В этом случае достаточно переименовать файл «Win8.1.xml-prev» в файл «Win8.1.xml», и виртуальная машина должна запуститься без ошибок.

Это решение самое простое, и поэтому я рекомендую проверить его первым, но, к сожалению, данный способ не всегда срабатывает. Если это не помогло, то переходим ко второму решению.

Второе решение

Ещё одной причиной ошибки E_FAIL (0x80004005) может быть одно из обновлений операционной системы Windows KB3004394. Необходимо удалить это обновление, чтобы ваша виртуальная машина вновь смогла запуститься без ошибки.

Заходим в меню «Пуск» в левом нижнем углу рабочего стола Windows, и затем в правом столбце нажмите «Выполнить», как показано на рисунке:

Читайте также:
Как вставить картинку в программу компас

Откроется диалоговое окно, и в нём надо набрать на английском языке слово «cmd» и затем нажать ОК:

Откроется чёрный экран с командной строкой и мигающим курсором:

В нём нужно будет аккуратно набрать следующую команду:

wusa /uninstall /kb:3004394

и нажать Enter. Должно получиться что-то вроде такого:

Windows поищет указанное обновление на вашем компьютере, и если найдёт, то удалит. Обычно это помогает в том случае, если не помогло решение №1.

Virtualbox Headless Frontend Has Stopped Working LDplayer (Fixed)

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

Третье решение

Если первые два способа не помогли, то необходимо установить одну из стабильных версий программы VirtualBox (на данный момент это версии 4.3.12 и 4.3.10), предварительно удалив ту версию VirtualBox, с которой у вас установлена на данный момент (только не удаляйте сам файл виртуального жёсткого диска). В версиях 4.3.12 и 4.3.10 ошибки E_FAIL (0x80004005) не наблюдалось.

Скачать эти версии с официального сайта можно по следующим ссылкам:

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

Надеюсь, данная статья была для вас полезной. Если у вас появятся дополнительные вопросы, прошу задавать их в комментариях.

Источник: kompum.ru

VBoxHeadless is not headless on Windows => Fixed in SVN

I have been trying to run vboxheadless as a windows service (see ​ http://forums.virtualbox.org/viewtopic.php?f=6 ​ http://www.nick.rozanski.org.uk/logger. logger.dll can log to a file, the event log or to stdout/stderr. It seems to also have a linux version but i’m not sure if this helps.

Is it possible to add an option to redirect the stdout/stderr to a file or the event log?

История изменений (16)

comment:1 by Frank Mehnert , 14 лет ago

Open a headless session with VBoxManage startvm VM_NAME -type vrdp.

comment:2 by Rehan Khan , 14 лет ago

The problem with doing it that way is that vboxheadless is spawned by the vboxsvc process (as in is a child of vboxsvc). Both these processes are detached from the service wrapper (running under a svchost process I guess as a COM server) that started them so the service fails to start (not really, as vboxheadless is running, but windows service manager thinks it has failed).

In addition, even starting it using vboxmanage opens a console window as the machine sends some data to stdout (copyright notice and port number). It would be great if vboxheadless was able to be started either without it sending anything to stdout or being able to redirect stdout to a file or nul.

comment:3 by Rehan Khan , 14 лет ago

Sorry, the vboxsvc and vboxheadless processes run under a svchost process. The service wrapper and vboxmanage run as child processes of services.exe.

comment:4 by Rehan Khan , 14 лет ago

Just to clarify the original request. It is not the output of the virtual machine at question here. It is the output of the vboxheadless executable itself that is the problem.

Читайте также:
Какая программа лучше для прошивки андроида

comment:5 by Jessica Hamilton , 14 лет ago

I agree. I don’t use vbox as a service; just start it up in headless mode when I want the VM running.

Is it possible you could add an option to fork the VM? Say you still print the copyright and port number (if VRDP is enabled; I personally don’t use) to stdout as you currently do, then the parent process returns to the console?

Like vboxheadless —startvm «My VM» —vrdp off —fork. It’s silly to have to invent VBScripts to do this =/

comment:6 by rossmeissl , 13 лет ago

This is a hack, but you can use TrayIt to put the console window in the tray.

comment:7 by Justin J. Hayes , 13 лет ago

I’m also wondering if anyone has looked at addressing this recently? I’m using Virtual Box 3.2.8 and the same issue still occurs. I’ve tried running it inside GNU Screen under Cygwin, but I’m having trouble getting that to work too.

comment:8 by timob , 13 лет ago

I’ve found a workaround that seems to work. Use the «at» command to schedule a task. So for me this was:

c:> at 19:59 «c:Program FilesOracleVirtualBoxVBoxHeadless.exe» -s mars

It does not show up in GUI as running, but «vboxmanage list vms», lists the vm running.

in reply to: description comment:9 by KB , 13 лет ago

Another workaround, paste in vbs file:

Set objShell = WScript.CreateObject(«WScript.Shell») objShell.Run «»»C:Program FilesOracleVirtualBoxVBoxHeadless.exe»» — startvm Xubuntu64 —vrdp=off», 0

Note the delicious use of doublequotes.

comment:10 by trakos , 13 лет ago

Easy workaround: just change the subsystem byte to 0002, it won’t output anything then, but it also won’t open cmd.

You can use PE header patcher ( ​ http://www.fiberdownload.com/Transfer/PE-Header-Patcher/22856) — copy VBoxHeadless.exe to VBoxReallyheadless.exe, open it with PE header patcher, change the subsystem from windows console to windows GUI and click ‘save’. Then use the VBoxReallyheadless.exe instead of VBoxHeadless.exe.

You will have to use the original version of file to see the output again.

PS: Personally, I did it the hard way, without PE header patcher — just using hex editing (change the 324th — i.e. 144 in hex — byte from 0003 to 0002) 😉

comment:11 by Rom Walton , 12 лет ago

I work on the BOINC project ( ​ http://boinc.berkeley.edu) and we have begun work on integrating VirtualBox into the BOINC Desktop Grid Environment. We ran into this issue with multiple command line applications on Windows. Basically most applications are command line applications are compiled to be a part of the console subsystem on Windows, which automatically launches a conhost.exe process to display a console window regardless if you use it or not.

To work around this issue you just need to tell the linker that you are linking a windows application which uses the windows subsystem instead of the console subsystem.

I’m not quite familiar with the Vbox build system but adding the following flags to g++ during the link operation should do what ‘Trakos’ suggested with the hex editor modification.

Читайте также:
Программа для поднятия уровня звука

if OS_WIN32_MINGW vboxheadless_LDFLAGS +=-Wl,—subsystem,windows -mwindows endif if OS_WIN64_MINGW vboxheadless_LDFLAGS +=-Wl,—subsystem,windows -mwindows endif

Now depending on your build environment you may need to add an additional function called WinMain(), if you do need to specify WinMain() here is some quick and dirty code you can use to redirect to main(). Just add it after the main() function definition.

#ifdef RT_OS_WINDOWS // take a string containing some space separated words. // return an array of pointers to the null-terminated words. // Modifies the string arg. // Returns argc #define NOT_IN_TOKEN 0 #define IN_SINGLE_QUOTED_TOKEN 1 #define IN_DOUBLE_QUOTED_TOKEN 2 #define IN_UNQUOTED_TOKEN 3 int parse_command_line(char* p, char** argv) < int state = NOT_IN_TOKEN; int argc=0; while (*p) < switch(state) < case NOT_IN_TOKEN: if (isspace(*p)) < >else if (*p == »’) < p++; argv[argc++] = p; state = IN_SINGLE_QUOTED_TOKEN; break; >else if (*p == ‘»‘) < p++; argv[argc++] = p; state = IN_DOUBLE_QUOTED_TOKEN; break; >else < argv[argc++] = p; state = IN_UNQUOTED_TOKEN; >break; case IN_SINGLE_QUOTED_TOKEN: if (*p == »’) < *p = 0; state = NOT_IN_TOKEN; >break; case IN_DOUBLE_QUOTED_TOKEN: if (*p == ‘»‘) < *p = 0; state = NOT_IN_TOKEN; >break; case IN_UNQUOTED_TOKEN: if (isspace(*p)) < *p = 0; state = NOT_IN_TOKEN; >break; > p++; > argv[argc] = 0; return argc; > int WINAPI WinMain(HINSTANCE hInst, HINSTANCE hPrevInst, LPSTR Args, int WinMode) < LPSTR command_line; char* argv[100]; int argc; command_line = GetCommandLine(); argc = parse_command_line(command_line, argv); return main(argc, argv); >#endif

comment:12 by Frank Mehnert , 12 лет ago

Краткое описание: Решение: Состояние:
vboxheadless is not headless on windows → VBoxHeadless is not headless on Windows => Fixed in SVN
→ duplicate
new → closed

romw, thanks for the suggestion but actually your solution is not what we want to implement. The VBoxHeadless application should actually DO write to the current console if started from cmd.exe but should not open a separate window if started from VBoxSVC. The (hopefully) correct solution is implemented in r38618.

This fix will be included in the next maintenance release.

comment:13 by Frank Mehnert , 12 лет ago

Решение: Состояние:
duplicate
closed → reopened

Источник: www.virtualbox.org

Проблема с запуском виртуальной машины VirtualBox

Весь Интернет усыпан жалобами на проблему с запуском виртуальной машины Oracle VM VirtualBox. Проблема заключается в том, что после обновления на новую версию виртуальной машины, при попытке запуска, возникает следующая ошибка:

Проблема с запуском виртуальной машины VirtualBox

Ошибка заключается в том, что не удалось открыть сессию для виртуальной машины.

Сам текст ошибки выглядит следующим образом:

The virtual machine ‘Win7’ has terminated unexpectedly during startup with exit code 1 (0x1). More details may be available in ‘C:UsersTestVirtualBox VMsWin7LogsVBoxHardening.log’.

Код ошибки: E_FAIL (0x80004005)

На форумах советуют переименовать файлы, связанные с конфигурацией виртуальной машины, но это мало кому помогает, точнее никому не помогает. По этой причине, рекомендуется скачать ту версию Oracle VM VirtualBox, которая не содержит такой ошибки.

Итак, решение проблемы заключается в установке стабильно работающей версии Oracle VM VirtualBox 4.3.12, которая доступна для загрузки по этой прямой ссылке.

UPD: решение по запуску виртуальной машины на Windows 7.

Источник: volokh.info

Рейтинг
( Пока оценок нет )
Загрузка ...
EFT-Soft.ru