Добавить в корзинуПозвонить
Найти в Дзене
anykey

Резервное копирование и восстановление WSL

При работе с WSL на Windows 10 перед какими либо изменениями в Linux иногда нужно сделать резервную копию виртуальной машины, чтобы если что-то пошло не так - восстановиться на предыдущую версию Для резервного копирования необходимо запустить Windows Powershell от имени администратора, и сразу посмотрим список дистрибутивов WSL Мы видим что в системе у нас установлена Ubuntu-20.04, сделаем ее резервную копию Для резервного копирования нужно выполнить следующую команду, первым параметром указываем имя подсистемы Lunux, вторым - путь куда сохраним резервную копию с расширением tar wsl --export Ubuntu-20.04 D:\wslbackup\ubuntuwsl.tar После этого в указанной папке появиться резервная копия системы Для восстановления системы используется команда wsl --import, но она не позволяет восстановить систему в уже существующую и при попытке импортировать выдаст ошибку. Поэтому чтобы восстановить систему с тем-же именем, сначала нужно удалить предыдущую (осторожно, убедитесь что у Вас осталась резерв

При работе с WSL на Windows 10 перед какими либо изменениями в Linux иногда нужно сделать резервную копию виртуальной машины, чтобы если что-то пошло не так - восстановиться на предыдущую версию

Для резервного копирования необходимо запустить Windows Powershell от имени администратора, и сразу посмотрим список дистрибутивов WSL

Мы видим что в системе у нас установлена Ubuntu-20.04, сделаем ее резервную копию

Для резервного копирования нужно выполнить следующую команду, первым параметром указываем имя подсистемы Lunux, вторым - путь куда сохраним резервную копию с расширением tar

wsl --export Ubuntu-20.04 D:\wslbackup\ubuntuwsl.tar

После этого в указанной папке появиться резервная копия системы

-2

Для восстановления системы используется команда wsl --import, но она не позволяет восстановить систему в уже существующую и при попытке импортировать выдаст ошибку. Поэтому чтобы восстановить систему с тем-же именем, сначала нужно удалить предыдущую (осторожно, убедитесь что у Вас осталась резервная копия). Для этого выполним команду

wsl --unregister Ubuntu-20.04

Как видно из скриншота в системе не осталось виртуальных машин Linux

-3

Теперь можно приступить к восстановлению системы, выполним команду

wsl --import Ubuntu-20.04 c:\ubuntu D:\wslbackup\ubuntuwsl.tar

Первым параметром указываем имя виртуальной машины - оставляем такое-же как и было ранее, вторым параметром место установки (по Вашему желанию), третьим - место расположения архива

Посмотрим список дистрибутивов

-4

Система восстановилась и была назначена по умолчанию, т.к. она всего одна. Попробуем запустить систему, для этого я использую Windows Terminal.

Система запустилась, но по умолчанию учетная запись root

-5

Вернемся к учетной записи пользователя, который создавался при первом запуске Ubuntu, у меня она называлась anykey. Для этого посмотрим ее id следующей командной

id -u anykey

Команда показала что у пользователя id равен 1000

Перейдем в редактор реестра Windows по следующему пути

Компьютер\HKEY_CURRENT_USER\SOFTWARE\Microsoft\Windows\CurrentVersion\Lxss

Если у Вас несколько систем, то в папке Lxss будет несколько подпапок, найдем нужную по параметру DistributionName

-6

В данной ветке реестра изменим параметр DefaultUid на тот который мы узнали ранее командой id -u. Обратите внимания, параметр надо указывать десятичный

-7

Проверим запуск восстановленной системы Ubuntu

-8

Все отлично, система запустилась как и прежде с пользователем, созданным при установке

#wsl #backup