Я установил Linux Bash на Windows 10 (доступно от Microsoft), но я забыл свой пароль.
Я искал решение, но я нахожу только предложения, которые предполагают выполнение каких-либо действий перед загрузкой системы, например, доступ к режиму восстановления, но в этом случае это не сработает, так как эта Ubuntu является просто приложением в системе Windows и не не имеет собственного процесса загрузки.
Как мне сбросить пароль?
bash
и запишите свое имя пользователя Linux (оно не обязательно должно совпадать с именем пользователя Windows), см. Как я могу узнать свое имя пользователя? В командной строке администратора Windows ( Super + X , A ]) измените пользователя по умолчанию на root:
ubuntu config --default-user root
Если вы используете Ubuntu 18.04 в WSL, команда была изменена на ubuntu1804
, поэтому
ubuntu1804 config --default-user root
Используйте Команда passwd
в Bash для изменения пароля пользователя (пользователя, пароль которого вы хотите сбросить):
passwd your_username
Измените пользователя по умолчанию обратно на обычного пользователя в командной строке Windows
ubuntu config --default-user your_username
Если вы используете Ubuntu 18.04 в WSL, команда была изменена на ubuntu1804
, поэтому
ubuntu1804 config --default-user your_username
Посмотрите полное видео, чтобы восстановить свой пароль Подсистема Windows Linux https://youtu.be/dTR232yvDCE
Примечание 1. В видео используется не Ubuntu, а Kali Linux. Отсюда разница в команде.
Примечание 2: Если вы все еще используете исходную подсистему Ubuntu, поставляемую с Anniversary Update, используйте команду lxrun . Рекомендуется выполнить обновление до версии подсистемы, распространяемой через Microsoft Store.)
Изменить Это больше не работает, если у вас установлен дистрибутив WSL, установленный в магазине.
Чтобы добавьте к ответу Tmu вот сценарий Powershell ( gist ), который автоматизирует процесс (включая автоматическое определение текущего имени пользователя по умолчанию)
# Resets the password for the default LXSS / WSL bash user
$lxssUsername = (Get-ItemProperty HKCU:\SOFTWARE\Microsoft\Windows\CurrentVersion\Lxss).DefaultUsername
lxrun /setdefaultuser root
bash -c "passwd $lxssUsername"
lxrun /setdefaultuser $lxssUsername
В Windows PowerShell ( Super + X , i ) вы можете войти в корневую учетную запись Ubuntu с помощью
wsl --user root
Затем измените пароль, как обычно, то есть для текущего пользователя (который является root) на
passwd
или для другого пользователя с
passwd username
, который интерактивно запрашивает у вас новый пароль (дважды). Права администратора Windows не требуются.
Если в WSL установлено более одного дистрибутива,затем вы можете указать имена установленных дистрибутивов с помощью
wsl -l
, а затем использовать имя дистрибутива, чтобы указать, в какой дистрибутив вы хотите войти, например, чтобы войти в Ubuntu 20.04:
wsl -d Ubuntu-20.04 --user root
Для тех из вас, кто потерял пароль root, то, что сработало для меня, обновлялся до Ubuntu 18.04 LTS через Магазин Windows. Обратите внимание, в магазине Windows есть два разных варианта:
Чтобы проверить текущую версию, запустите следующее от имени любого пользователя:
В командной строке введите:
cat /etc/*release
Вы должны увидеть строку в выводе, которая гласит:
DISTRIB_RELEASE=16.01
Если вы это видите, то определенно обновите до 18.04 , и вам будет предложено создать новые учетные данные UNIX .
Вышеупомянутое не сработало. Даже после смены пользователя по умолчанию, Bash всегда открывался с моим пользователем.
Вместо этого я сделал это, что сработало:
Отредактируйте этот файл (в блокноте или блокноте ++):
% localappdata% \ lxss \ rootfs \ etc \тень
Найдите своего обычного пользователя, например:
user1: $ jsdjksadgfhsdf.saflsdf.sadf.safd: 17299: 0: 99999: 7 :::
и просто удалите часть хэша (часть ниже)
$ jsdjksadgfhsdf.saflsdf.sadf.safd
вы увидите другой хеш - я надеюсь :) поэтому он должен выглядеть так:
user1 :: 17299: 0: 99999: 7 :::
Сохраните файл
Снова запустите Bash с правами root и установите пароль
sudo bash
passwd <имя-пользователя>
Теперь вы можете установить новый пароль, не вводя предыдущий.
Мне нужно было сбросить пароль также в моей Windows 10, у меня есть WLS 1
1- Проверьте свое имя linux / ubuntu, указав папку:
%userprofile%\AppData\Local\Microsoft\WindowsApps
В моем случае Я нашел Ubuntu1604.exe , поэтому я буду использовать имя ubuntu1604 как имя для следующего шага.
2- Откройте CMD с правами администратора и запустите (вы ничего не получите взамен):
ubuntu1604 config --default-user root
3- Запустите WSL, убедитесь, что у вас есть права root, или запустите whoami (вам нужно быть root) и изменить свой пароль с помощью:
passwd [your-linux-username]
4- Закройте WSL и вернитесь в окно CMD и верните свое имя пользователя linux по умолчанию:
ubuntu1604 config --default-user [your-linux-username]
5- Снова запустите WSL / Ubuntu / AnotherLinux, проверьте и наслаждайтесь.