Вино таинственно перестало работать. Я решил просто полностью удалить и переустановить вино, но прежде чем я это сделаю, я хочу убедиться, что я не потеряю ни одного из множества файлов и программ, которые я сохранил и установил на Wine в прошлом. [!d0 ]
Могу ли я просто создать резервную копию «drive_c» и «dosdevices» внутри фрейма .wine, а затем полностью удалить каталог .wine (rm -rf ~ / .wine), снова установить винт, а затем просто перевернуть резервную копию папки обратно в каталог?
Кроме того, поскольку я уже пишу это, я мог бы добавить то, что я знаю о том, что пошло не так с Вином.
Я на Ubuntu 12.04. Вино отлично работало неделю назад и таинственным образом перестало работать.
Если я запустил winecfg.exe, процесс выполняется (согласно верхней команде), но на экране ничего не появляется. Он просто занимает 100% одного из моих процессоров. То же самое происходит, если я запускаю Winetricks или пытаюсь запустить программу .exe в вине. Процесс появляется сверху, занимает процессор, но ничего не происходит.
Если я запускаю вино через терминал, результаты выглядят следующим образом:
user@computer:~/Downloads/SpaceEngine 0.97/system$ wine SpaceEngine.exe
modify_ldt: Invalid argument
modify_ldt: Invalid argument
modify_ldt: Invalid argument
modify_ldt: Invalid argument
modify_ldt: Invalid argument
err:seh:raise_exception Exception frame is not in stack limits => unable to dispatch exception.
Я попробовал обновить вино, но это ничего не делало. Таким образом, можно просто стереть установку и начать заново. Итак, как я могу быть уверен, что не потеряю данные?
Я на Ubuntu 12.04.4 LTS x86_64 с ядром 3.11.0-24-generic, wine-1.7.18. Я решил эту проблему, добавив echo 1 > /proc/sys/abi/ldt16 в /etc/rc.local до строки exit 0. После перезагрузки я могу установить программы win16.
Скорее всего, вы пытаетесь запустить 16-разрядный исполняемый файл Windows на недавно обновленном 64-битном ядре Linux.
Поддержка 16-разрядных сегментов была приостановлена на 64-разрядных Linux-системах из-за проблема с безопасностью.
Этот вопрос недавно был широко 16-разрядные сегменты были приостановлены и были зарегистрированы как ошибка.
На данный момент существует нет отказоустойчивого обходного пути. Вам придется ждать обновления вин или ядра.
Тем не менее, 32-разрядные системы Linux не затрагиваются.
Просто запустите
$ echo 1 > /proc/sys/abi/ldt16
, а затем запустите приложение через вино. Это временно разрешает поддержку 16 бит в ядре.