Рейтинг:3

Я сбрасываю Ubuntu на WSL с помощью «Настройки> Приложения> Ubuntu> Сброс». Теперь все мои файлы в файловой системе WSL потеряны. Как я могу восстановить его?

флаг in

Я использую Ubuntu на WSL2 в Windows (Сведения о версии ОС). Я сбросил приложение Ubuntu, указав:

Настройки> Приложения> Приложения и функции> Ubuntu> Сброс

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

Можно ли восстановить данные, которые были в /home?

Спасибо за ваше время с этим вопросом.

Рейтинг:7
флаг vn

К сожалению, у меня нет для вас хороших новостей; только, возможно, предложение при переустановке, которое, как мы надеемся, предотвратит это снова.

Во-первых, Перезагрузить вариант на скриншоте, который вы разместили, говорит конкретно:

Если это приложение работает неправильно, сбросьте его. Данные приложения будут удалены.

Так что да, а Перезагрузить избавился от всех данных Ubuntu WSL (файловая система и данные реестра).

А Ремонт, с другой стороны, сохраняет дистрибутив WSL Ubuntu нетронутым.

Важная заметка: Эти параметры и формулировка, стоящая за ними в настройках, одинаковы для всех приложений Магазина. я знаю, что Удалить формулировка говорит:

Ваши документы не пострадают.

Однако то, как обрабатываются установки WSL, удаление делает удалить весь экземпляр. Документы являются частью файловой системы, которая удаляется при удалении.

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

Предотвращение удаления данных WSL при удалении и сбросе

Я серьезно думаю о том, чтобы сделать свое первое видео на YouTube в ближайшее время. При установке Ubuntu (или любого другого дистрибутива) в WSL первое, что я делаю, — это «отключаю» экземпляр от установки Store, «перемещая» его в собственный каталог.

По умолчанию дистрибутивы WSL устанавливаются в:

%UserProfile%\AppData\Local\Packages\<DistributionPackage>\

Это включает в себя виртуальную файловую систему:

  • WSL2: ..\<DistributionPackage>\LocalState\ext4.vhdx
  • WSL1: ..\<DistributionPackage>\LocalState\rootfs\

Для Ubuntu это <DistributionPackage> имя будет начинаться с Канонический и включить Убунту в имени (вместе с другими идентификаторами).

Стоит проверить, существует ли еще этот каталог. Если это так, ваши данные могут быть восстановлены. Однако я не верю, что это вероятно. Более вероятно, что если вы перезапустили Ubuntu.exe после сброса, что это новый установка то есть.

В любом случае, я рекомендую этот процесс для «отключения» установки Магазина, чтобы это не повторилось:

  • После того, как вы установили Ubuntu и настроили имя пользователя и пароль.

  • Выйти из Ubuntu

  • Из PowerShell:

    # Подтвердить имя дистрибутива
    wsl -l -v
    # Имя дистрибутива может быть "Ubuntu" или "Ubuntu-20.04" - соответствующим образом отредактируйте следующие строки:
    wsl --shutdown
    компакт-диск ~\Документы
    mkdirWSL\изображения
    mkdirWSL\экземпляры\MyUbuntu
    wsl --export Ubuntu WSL\images\ubuntu_clean.tar
    wsl --import MyUbuntu WSL\instances\MyUbuntu WSL\images\ubuntu_clean.tar --версия 2
    

    Обратите внимание, что большинство имен каталогов и файлов выше (и имя экземпляра) зависят от вас.

  • Теперь у вас должно быть две установки Ubuntu, как вы можете подтвердить с помощью wsl -l -v.

  • Запустите новый с wsl -d MyUbuntu

  • --импортэкземпляры ed не «запоминают» ваше имя пользователя по умолчанию (хотя пользователь все еще существует). Установите имя пользователя по умолчанию в этом экземпляре через /etc/wsl.conf файл за этот ответ. Конкретно:

    судо -е /etc/wsl.conf
    

    И добавьте следующие строки:

    [пользователь]
    по умолчанию=<имя пользователя>
    
  • Выйти из экземпляра

  • Опять же, из PowerShell:

    wsl --завершить MyUbuntu
    wsl --set-default MyUbuntu
    
  • Теперь экземпляр по умолчанию Моя Убунту. Это то, что будет запускаться всякий раз, когда вы запускаете WSL с wsl команда.

  • Удалите магазин Ubuntu. Вам не придется беспокоиться о том, что он снова будет сброшен.

Если вам нужно попробовать что-то в Ubuntu, что, по вашему мнению, может вызвать проблемы, сделайте это в новом временном экземпляре:

Опять же, в PowerShell:

компакт-диск ~\Документы\WSL
Экземпляры mkdir\UbuntuTest
wsl --export MyUbuntu images\current_ubuntu.tar
wsl --import UbuntuTest instances\UbuntuTest images\current_ubuntu.tar --версия 2
wsl -d UbuntuTest

Это отдельный экземпляр, в который вы можете установить, изменить конфигурацию, сходить с ума. Когда вы делаете с ним, выйдите и:

wsl --отменить регистрацию UbuntuTest

Это удалит этот тестовый экземпляр и оставит Моя Убунту нетронутый.

Заметим, конечно, что весь UbuntuTest экземпляр исчезнет, ​​поэтому убедитесь, что вы не создаете документы или данные, которые вам нужны в долгосрочной перспективе.

Vishnu 3333 avatar
флаг in
Большое спасибо за ваше время, создавая такой подробный ответ. Это действительно очень помогает. Как вы сказали, я действительно перезапустил Ubuntu.exe после сброса, так что, вероятно, это новая файловая система Ubuntu, которая находится в «% UserProfile%\AppData\Local\Packages\», но все же я попытался запустить восстановление файлов в этой папке с помощью Recuva, но не удалось восстановить какой-либо файл .vhdx или папку rootfs (может ли «сброс» действительно так эффективно удалить файл .vhdx? Как вы думаете, его можно восстановить?). Видео на YouTube, как вы упомянули, может привлечь хорошую аудиторию. Я попробую ваш метод удаления ссылок.
NotTheDr01ds avatar
флаг vn
@ Vishnu3333 Vishnu3333 Если бы вы действительно использовали WSL2, то это был бы `.vhdx`, и, по моему опыту, восстановление таких больших файлов довольно сложно. Раньше у меня был довольно хороший успех с Recuva, когда я использовал магнитные накопители, но на самом деле я не добился успеха с тех пор, как за последние несколько лет перешел на твердотельные накопители. Если экземпляр был WSL1 (я знаю, что вы сказали WSL2, но иногда нам просто везет), то вы, вероятно, захотите найти любое имя файла, которое вы можете вспомнить из экземпляра, в вентиляционном отверстии он отключился от каталога rootfs после удаления.

Ответить или комментировать

Большинство людей не понимают, что склонность к познанию нового открывает путь к обучению и улучшает межличностные связи. В исследованиях Элисон, например, хотя люди могли точно вспомнить, сколько вопросов было задано в их разговорах, они не чувствовали интуитивно связи между вопросами и симпатиями. В четырех исследованиях, в которых участники сами участвовали в разговорах или читали стенограммы чужих разговоров, люди, как правило, не осознавали, что задаваемый вопрос повлияет — или повлиял — на уровень дружбы между собеседниками.