Большинство людей, приходящих к этому из поисковой системы, вероятно, задаются вопросом: «Почему я получаю эту ошибку?»:
warning: File system `ext2' doesn't support embedding.
warning: Embedding is not possible. GRUB can only be installed in this setup by using blocklists. However, blocklists are UNRELIABLE and their use is discouraged..
error: will not proceed with blocklists.
Потому что вы это сделали, например:
grub- установить / dev / sda1
вместо
grub-install / dev / sda
Т.е. пытался установить в раздел вместо MBR.
Как показывают другие ответы, самое простое решение — просто запустить reset
.
Что же касается причины? Обычно это происходит, когда выcat
(или иным образом выводите )двоичный файл или данные на свой терминал.
Текст — это просто текст, и он не обрабатывается терминалом специально, но есть также некоторые специальные символы, которые не являются текстом и используются для таких действий, как перемещение курсора, очистка экрана, изменение цвета, прекращение эха. выход и т. д.
Когда вы выводите двоичные данные (, а не текст ), терминал увидит эти специальные управляющие символы и попытается интерпретировать их по мере поступления. Вы можете заметить, что экран очищается, мигает или прыгает вокруг -, это все из-за того, что эти управляющие символы соблюдаются. Вы можете поэкспериментировать, запустив head /dev/urandom
в новом терминале, чтобы понять, что я имею в виду.
В большинстве случаев, если ваш терминал в любом случае ведет себя странно, просто запустите reset
, чтобы исправить это, просто повторив все специальные символы, необходимые для установки терминала в базовый режим по умолчанию -, например. есть код stop echoing input
, а также код start echoing input
. Двоичные данные случайным образом включают первое, поэтому вы не можете видеть, что вы печатаете, а reset
будет включать последнее (среди других ), что исправит это.
Если reset
(, предложенный в другом ответе ), не работает, попробуйте:
stty sane
может сопровождаться
tput rs1
У меня определен следующий псевдоним (Думаю, я нашел его где-то в stackoverflow):
alias fixtty='reset; stty sane; tput rs1; clear; echo -e "\033c"'