Как восстановить удаленную установку Ubuntu в подсистеме Windows для Linux

Как восстановить удаленную установку Ubuntu в подсистеме Windows для Linux

У меня были Ubuntu 18.04 и Ubuntu20.04, и я хотел удалить Ubunto18.04. Однако я удалил Ubuntu20.04 с ошибкой. Есть ли способ восстановить файлы из Ubuntu 20.04?

решение1

Возможно, но с оговорками. Если WSL2, то, скорее всего, нет (но вы можете попробовать). Если WSL1, то вы, возможно, сможете восстановить некоторые отдельные файлы.

Во-первых, были ли данные, которые трудно воссоздать в экземпляре WSL, или вас беспокоит только потеря времени на пересоздание образа? Я могу сказать вам сейчас, что восстановление файлов займет много времени, поэтому, если у вас нет важных файлов, которые были утеряны, просто запланируйте установку нового экземпляра Ubuntu WSL и его перенастройку.

Если вам действительно необходимо восстановить важные данные, немедленно завершите работу Windows и прочитайте остальную часть статьи на своем телефоне или планшете.

Важно понимать, что удаление экземпляра WSL — это «настоящее» удаление соответствующих файлов — ничего не попадает в корзину (я проверил, чтобы убедиться).

Если вы использовали WSL1, то файловая система хранилась непосредственно на диске NTFS, и восстановление определенных файлов могло быть возможным. Насколько я понимаю, это лучше работает на магнитных дисках, но некоторые утилиты утверждают, что могут работать и с твердотельными дисками. Скажем так — мне пришлось попробовать это только на магнитном диске.

В любом случае, маловероятно, что вам удастся восстановить все изображение целиком. Цель здесь — просто восстановить любые трудновосстановимые файлы, которые вы могли там сохранить (например, в $HOME).

Вам понадобится утилита, специально разработанная для восстановления удаленных файлов. Одно предложение найденов этом ответе, но у меня нет опыта в этом. Вы также найдете ряд предложений в другихСуперпользовательские темы.

Вам следует рассмотреть возможность создания отдельного загрузочного USB-накопителя (с отдельного компьютера). Windows постоянно записывает данные на диск во время его использования, и любые записи файлов могут происходить в местах, где хранятся ваши удаленные данные.

Если возможно (а я уже давно этого не делал), вам следует поискать файлы, которые были удалены из C:\Users\youruser\AppData\Local\Packages\Canonical...\LocalState\. Опять же, для WSL1 каждый отдельный файл будет отображаться в файловой системе.

Для WSL2 это всего лишь один виртуальный диск с именем ext4.vhdx. Если вы можете восстановить его, то он может быть все еще поврежден. Если вам очень повезет и вы сможете восстановить его без ошибок (и вы не узнаете, пока не попробуете), то вы можете использовать его просто:

  • Переустановка Ubuntu 20.04 из Microsoft Store
  • Копирование восстановленного ext4.vhdxфайла обратно поверх вновь созданного.

Но более вероятно, что файл будет поврежден в какой-то степени. Если это так, то вымощьвсе еще можно восстановить файлы с него, восстановив vhdx. Это просто выходит за рамки моего опыта, к сожалению (или нет!). Из быстрого поиска видно, что большинство вариантов требуют покупки лицензии на программное обеспечение, и даже в этом случае они кажутся мне подозрительными (например, претендуют на то, чтобы называть себя продуктом "Microsoft", хотя на самом деле таковым не являются). И после восстановления образа он все еще может не загружаться как диск WSL, в таком случае вам нужно будет либо:

  • Установите Hyper-V (входит в состав Windows Pro или более поздней версии), создайте виртуальную машину Linux и смонтируйте vhdxтуда восстановленные файлы, чтобы увидеть, какие файлы можно восстановить.
  • Установите Windows 10 или Windows 11 Preview, в которой есть обновленный WSL с возможностью монтирования vhdx-файлов (насколько я понимаю).

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