Резервное копирование WSL без использования wsl --import или --export

Мне нужно переустановить окна на моем компьютере, но сохранить все файлы, но я не уверен, что он сохранит или удалит мои установленные дистрибутивы. Кроме того, я не могу открыть терминал и запустить wsl --import , потому что терминал зависает и окна по какой-то причине перестают работать. Есть ли способ сделать резервную копию WSL или я могу восстановить его после сброса?

Изменить: забыл упомянуть, что я использую WSL 2

И последнее, что я забыл добавить, когда я сменил компьютер, я сделал резервную копию WSL и импортировал Это, просматривая мои файлы, похоже, что у меня есть файл с именем ext4.vhdx, который был обновлен вчера. Может ли это быть моим дистрибутивом и означает ли это, что я могу его скопировать?

0
задан 6 July 2021 в 23:32

1 ответ

Да, при установке Windows обычно стираются пользовательские настройки (например, AppData ), и файлы WSL обычно устанавливаются там. Перед переустановкой Windows рекомендуется создать резервную копию дистрибутива. Как вы сказали, обычно это делается с помощью wsl --export / - import , но в вашем случае это нежизнеспособно.

Для WSL2

В WSL2 вся файловая система хранится в файле виртуального жесткого диска с именем ext4.vhdx . Вы можете найти его в % userprofile% \ AppData \ Local \ Packages \ CanonicalGroup ... \ LocalState \ ext4.vhdx . Часть ... будет зависеть от точной версии Ubuntu, которую вы установили из Магазина.

Создайте резервную копию этого файла перед переустановкой Windows. Убедитесь, что WSL вообще не запущен, с помощью команды wsl --shutdown (при условии, что вы все еще можете получить доступ к этой команде). Если вы не можете wsl --shutdown , по крайней мере, перезагрузите Windows перед резервным копированием файла, чтобы убедиться, что он не используется. Вы также можете запустить в безопасном режиме, если действительно хотите быть уверенным.

После переустановки вы должны восстановить с помощью:

  • Переустановки WSL (при желании не забудьте установить версию по умолчанию 2)
  • Переустановить Ubuntu из Microsoft Store
  • Копирование обратно в ext4.vhdx поверх только что установленного.

Если у вас Windows Professional или выше, также может быть целесообразно протестировать vhdx , создав новую виртуальную машину Ubuntu и подключив ее (или предпочтительно копию vhdx) в качестве диска.

Раньше я без проблем копировал vhdx из одной установки WSL поверх другой, но, конечно, нет никакой гарантии, что все будет работать идеально.

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

Для WSL1

Для других читателей, которые сталкиваются с этим и имеют установки WSL1 (возможно, в дополнение к WSL2), нет способа создать резервную копию и восстановить всю файловую систему, как в случае с WSL2.

Но вы можете и должны делать резервную копию % userprofile% \ AppData \ Local \ Packages \ CanonicalGroup ... \ LocalState \ rootfs . Он содержит всю файловую систему, поэтому любые важные файлы можно скопировать обратно в вашу новую установку. Однако было бы небезопасно восстанавливать всю файловую систему из этой резервной копии, так как разрешения пришлось бы сбрасывать вручную для каждого файла / каталога.

ПОЖАЛУЙСТА, ОБРАТИТЕ ВНИМАНИЕ, что вам НИКОГДА не следует использовать этот каталог в каких-либо тяжелых случаях, таких как необходимость восстановления файлов, когда установка WSL полностью прервана. Доступ к этим файлам через Windows может привести к повреждению установки WSL согласно Microsoft .

2
ответ дан 28 July 2021 в 11:21

Другие вопросы по тегам:

Похожие вопросы: