Проверьте этот связанный пост ... Здесь
Сначала я попытался бы снова создать MBR и сначала загрузиться в ОС Windows. Затем попробуйте переустановить Ubuntu.
sudo позволяет запускать команды в вашей собственной учетной записи пользователя с привилегиями root. su позволяет вам переключать пользователя так, чтобы вы действительно вошли в систему под учетной записью root.
sudo -s запускает оболочку с привилегиями root. sudo -i также получает среду корневого пользователя.
Чтобы увидеть разницу между su и sudo -s, сделайте cd ~, а затем pwd после каждого из них. В первом случае вы попадете в домашний каталог root, потому что вы root. Во втором случае вы будете в своем собственном домашнем каталоге, потому что сами обладаете привилегиями root.
Здесь больше обсуждается этот точный вопрос.
Этот ответ является обманом моего ответа на обман этого вопроса, поставленный здесь на канонический ответ, чтобы люди могли его найти!
Основное различие между sudo -i и sudo -s :
sudo -i дает вам корневую среду, т. е. ваш ~/.bashrc игнорируется. sudo -s дает вам среду пользователя, поэтому ваш ~/.bashrc соблюдается.Вот пример, вы можете видеть, что у меня есть приложение lsl в моем каталоге ~/.bin/, доступное через sudo -s, но недоступное с sudo -i. Обратите внимание также, что приглашение Bash изменяется так же, как с sudo -i, но не с sudo -s:
dotancohen@melancholy:~$ ls .bin
lsl
dotancohen@melancholy:~$ which lsl
/home/dotancohen/.bin/lsl
dotancohen@melancholy:~$ sudo -i
root@melancholy:~# which lsl
root@melancholy:~# exit
logout
dotancohen@melancholy:~$ sudo -s
Sourced .bashrc
dotancohen@melancholy:~$ which lsl
/home/dotancohen/.bin/lsl
dotancohen@melancholy:~$ exit
exit
Хотя sudo -s удобен для предоставления вам среды, с которой вы знакомы, Этот ответ является обманом моего ответа на обман этого вопроса, поставленный здесь на канонический ответ, чтобы люди могли его найти! по двум причинам:
Наглядное напоминание о том, что вы находитесь в «корневой» сессии. Корневая среда гораздо реже будет отравлена вредоносными программами, такими как строка изгоев в .bashrc.su запрашивает пароль пользователя «root».
sudo запрашивает ваш собственный пароль (а также проверяет, разрешено ли вам запускать команды с правами root, которые настроены через /etc/sudoers - по умолчанию всем учетным записям пользователей, принадлежащим к группе «admin», разрешено использовать sudo).
sudo -s запускает оболочку как root, но не меняет ваш рабочий каталог , sudo -i имитирует вход в корневую учетную запись: ваш рабочий каталог будет /root, а root .profile и т. д. будут получены, как при входе в систему.
В Ubuntu или связанной системе я не очень много использую для su в традиционном, суперпользовательском смысле. sudo обрабатывает этот случай намного лучше. Однако su отлично подходит для того, чтобы стать другим пользователем в разовых ситуациях, когда настройка sudoers будет глупой.
Например, если я исправляю свою систему с live CD / USB, я буду часто монтируйте мой жесткий диск и другие необходимые вещи и chroot в систему. В этом случае моя первая команда обычно:
su - myuser # Note the '-'. It means to act as if that user had just logged in.
Таким образом, я работаю не как root, а как обычный пользователь, а затем использую sudo, если это необходимо.