Wine перестал работать. Как переустановить без потери данных

Wine перестал работать. Как переустановить без потери данных

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

Могу ли я просто сделать резервную копию "drive_c" и "dosdevices" внутри папки .wine, затем полностью удалить каталог .wine (rm -rf ~/.wine), снова установить Wine, а затем просто поместить резервные папки обратно в каталог? Смогу ли я нормально запускать программы?

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

У меня Ubuntu 12.04. Wine работал нормально около недели назад, а потом по непонятной причине перестал работать.

Если я запускаю winecfg.exe, процесс запускается (согласно команде top), но на экране ничего не появляется. Он просто занимает 100% одного из моих ЦП. То же самое происходит, если я запускаю Winetricks или пытаюсь запустить .exe-программу в wine. Процесс появляется в top, занимает ЦП, но ничего не происходит.

Если запустить Wine через терминал, то результаты будут следующими:

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.

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

решение1

У меня Ubuntu 12.04.4 LTS x86_64 с ядром 3.11.0-24-generic, wine-1.7.18. Я решил эту проблему, добавив echo 1 > /proc/sys/abi/ldt16 в строку /etc/rc.localbefore exit 0. После перезагрузки я могу устанавливать программы win16.

решение2

Я исправил это. Я не знаю, что пошло не так, но я скопировал-вставил весь каталог .wine в качестве резервной копии. Затем я удалил весь каталог .wine, переустановил Wine и вернул ТОЛЬКО папки drive_c и dosdevices.

Теперь работает отлично!

Я не знаю, имеют ли эти ответы отношение к моей проблеме или помогли бы мне, если бы я их попробовал, но то, что я сделал, сработало отлично.

Просто сделайте резервную копию и переустановите.

решение3

Скорее всего, вы пытаетесь запустить 16-битный исполняемый файл Windows на недавно обновленном 64-битном ядре Linux.

Поддержка для16-битные сегменты были приостановленыв 64-битных системах Linux из-за проблем безопасности.

Этот вопрос недавно был широко обсужденобсуждается на форуме WineHQи былсообщено как об ошибке.

На данный момент нет надежного обходного пути. Вам придется ждать обновления Wine или ядра.

Тем не менее, 32-разрядные системы Linux не подвержены уязвимости.

решение4

Просто запустите

$ echo 1 > /proc/sys/abi/ldt16

и затем запустите свое приложение через wine. Это временно включает поддержку 16 бит в ядре.

Связанный контент