15

Моя проблема в том, что мне приходится переустанавливать или переустанавливать Windows из-за некоторых проблем, но я потратил много времени на настройку WSL для разработки и не хочу ее терять.

Есть ли способ резервного копирования всего WSL с его настройками и установленными модулями, плагинами, пользователями и т.д. И восстановления его после сброса или переустановки Windows? Я много искал эту тему, но не смог найти никакой полезной информации.

В противном случае, если нет способа сделать резервную копию, сброс Windows 10 полностью удалит WSL?

2 ответа2

11

Как сделать резервную копию?

Существует множество способов, но одной из распространенных практик является использование tar для создания архива файлов, которые вы хотите сделать резервную копию (для того, чтобы переустановить все, когда вы воссоздаете свою среду). Написание простого скрипта backup.sh должно упростить многократное резервное копирование по регулярному расписанию.

Что делать бекап?

Большая часть вашей конфигурации хранится в конфигурационных файлах Linux .___, часто в вашей папке ~/. Вы также можете сделать резервную копию вашего /etc/ssh/ssh_config и других подобных системных файлов конфигурации, хотя будьте осторожны со сложными файлами конфигурации, которые содержат специфичные для экземпляра ключи / данные / и т.д.

Вы можете сгенерировать свой список пакетов apt, используя dpkg-query -f '${binary:Package}\n' -W и найти его в файле, который вы также можете сделать резервную копию.

Где сделать резервную копию?

Затем вы можете скопировать эти архивы tar в другое место. Мы рекомендуем копировать в папку, доступную для Windows (например, /mnt/c/backups), из которой вы можете скопировать ее в OneDrive, DropBox, внешний жесткий диск, FTP где-то еще и т.д.

НТН.

2

Для резервного копирования и восстановления полного дистрибутива WSL linux вы можете попытаться (1) создать .tar.gz с вашей файловой системой и (2) восстановить копию с помощью некоторых инструментов установщика, доступных в Интернете:

  • LxRunOffline имеет опции для дублирования и установки пользовательских дистрибутивов Linux. Вы можете установить дистрибутив из файла .tar.gz .
  • WSL-DistroLauncher позволяет установить дистрибутив из rootfs.tar.gz .
  • WSLInstall, еще один установщик Linux для WSL.

Создание резервной копии

На основании отчета о проблеме вы можете создать резервную копию, используя tar в WSL. Обратите внимание, что вы должны игнорировать некоторые папки (например, /mnt) в копии.

# cd /
# tar vzcpf /mnt/c/tmp/ubuntu_`date +%Y%m%d_%H`.tar.gz --exclude=/proc --exclude=/dev --exclude=/mnt --exclude=/media --exclude=/lost+found  --exclude=/tmp --exclude=/sys  --exclude=/run / > /mnt/c/tmp/ubuntu_`date +%Y%m%d_%H`.log 2> /mnt/c/tmp/ubuntu_`date +%Y%m%d_%H`.error

Вы должны создать или переместить позже файл резервной копии в правильную подпапку /mnt/c . В этом примере файлы создаются в /mnt/c/tmp .


Восстановление с помощью lxRunOffline

Используя lxRunOffline, вы можете установить полученный tar как новый дистрибутив в WSL с помощью командной строки Windows.

# lxrunoffline install -n <distro name> -d <installation folder> -f <file>
C:\wsl> lxrunoffline install -n mybackup -d c:\wsl\mybackup -f c:\tmp\ubuntu_20180729_00.tar.gz

Для запуска резервного копирования вы можете использовать тот же lxRunOffline

# lxrunoffline run -n <distro name> -w
C:\wsl> lxrunoffline run -n mybackup  -w

Восстановление с помощью DistroLauncher

Есть много программ запуска для дистрибутивов Linux, основанных на примере Microsoft. Я думаю, что вы можете попробовать версию Yuk7.

Вы должны скачать дистрибутив и файл launcher.exe . Чтобы использовать тот же файл дистрибутива, который упоминался выше, вы должны переименовать файл резервной копии в rootfs.tar.gz а в программе запуска - имя дистрибутива, которое вы хотите. Позже вы должны запустить лаунчер от имени администратора (я получил ошибки при запуске его как обычный пользователь)

c:\wsl> ren launcher.exe mybackup.exe
c:\wsl> ren .\ubuntu_20180729_00.tar.gz rootfs.tar.gz
c:\wsl> .\mybackup.exe

При первом запуске программы запуска она устанавливает и запускает дистрибутив. В следующий раз он запустит дистрибутив Linux.

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .