Uefi как удалить запись о второй системе
Я установил Ubuntu 18.04, используя опцию «Что-то еще . » на ноутбуке с одним жестким диском, поставляемым с Windows 10. Во время установки я удалил все разделы, кроме EFI раздела. Затем я создал / корневой раздел файловой системы и /home раздел. Все прошло хорошо.
За исключением того, что у меня есть дополнительная запись Windows в меню загрузки UEFI, которую получает Grub. Я могу вручную отредактировать, /etc/default/grub чтобы скрыть теперь не существующую опцию загрузки Windows, но я хочу избавиться и от записи в системе EFI. Как мне избавиться от этого последнего рудиментарного остатка Windows?
Чтобы удалить бесполезную загрузочную запись Windows в UEFI, сначала вам нужно ее найти. Это можно сделать прямо из основной ОС Ubuntu. Нет необходимости загружаться с живого USB / DVD. Установленная Ubuntu уже имеет необходимую утилиту командной строки.
Откройте терминал, нажав Ctrl + Alt +, T а затем введите:
Введите пароль при появлении запроса и нажмите Etner . Курсор не будет двигаться, и вы не увидите звездочек (*****). Это нормально в терминале Ubuntu. Вы увидите некоторые результаты, такие как:
Обратите внимание, я получил две записи, отличные от Windows, 0 для «Dell» и 1 для «Диспетчер загрузки Windows». Поскольку я удалил все оригинальные разделы, кроме EFI, я больше не могу загружать «Dell» или «Windows Boot Manager». Я мог бы удалить и то 0 и другое 1 . Но для этого ответа я покажу, как удалить только запись диспетчера загрузки Windows .
Примечание: записи, которые вы хотите удалить, могут отличаться от этого примера. Используйте вывод, полученный с вашего компьютера, а не приведенный выше пример, чтобы решить, какие записи вы хотите удалить.
Теперь, когда вы знаете, что хотите удалить запись 1 (в этом примере), в терминале введите:
Обратите внимание, что 1 в команде выше. Эта команда удалит запись:
Мы почти закончили. Этот последний шаг гарантирует, что UEFI не будут восстановлены записи, которые мы только что удалили. Для этого вам нужно удалить папку, соответствующую записи, которую вы удалили в предыдущих шагах.
Теперь вы найдете имя и местоположение папки для удаления. Используйте следующую команду, чтобы получить список всех папок в EFI подпапке раздела:
Вы увидите некоторые результаты, такие как:
Чтобы удалить Windows папку, используйте следующую команду:
Чтобы убедиться, что папка была удалена, используйте sudo ls /boot/efi/EFI команду еще раз.
На этом этапе при загрузке ноутбука grub все равно будет отображаться меню выбора различных ОС, даже если у вас установлена только Ubuntu. Отредактируйте файл /etc/default/grub с помощью следующей команды. Вы можете использовать любой другой редактор, если хотите.
Сделайте так, чтобы две строки выглядели так:
Если строка GRUB_TIMEOUT_STYLE=hidden не существует, добавьте строку, как указано выше.
Когда закончите, сохраните и выйдите из редактора с помощью Ctrl + X , а затем Y и Enter .
Последний шаг - обновить grub с помощью следующей команды:
Теперь ноутбук должен загружать Ubuntu напрямую, без отображения меню grub. Если вам нужно в будущем перейти в режим восстановления, нажмите «В Esc то время как ноутбук загружается, чтобы открыть меню grub».
Надеюсь это поможет
ESP должен быть уже установлен /boot/efi , я не вижу причин для установки ESP где-либо еще. sudo ls /boot/efi/EFI и sudo rm -r /boot/efi/EFI/Windows должен это сделать.
efibootmgr может быть глючит в некоторых реализациях. В этих системах вам, возможно, придется использовать bcfg оболочку UEFI v2.
@ user68186 Я подумал добавить ответ, но вики Arch действительно объясняет его лучше, чем когда-либо, и у меня больше нет доступа к машине, на которой я могу легко это примерить, так что в лучшем случае это будет краткое изложение вики.
Откройте Терминал. cd /boot/efi/EFI , Удалить папку Microsoft sudo rm -R Microsoft . Вы также можете удалить папку Boot - sudo rm -R Boot .
Чтобы удалить запись из Windows , grub2, sudo gedit /boot/grub/grub.cfg . Найдите пункт меню, Диспетчер загрузки Windows (или аналогичное описание имени) и удалите строки вплоть до закрывающей фигурной скобки, а затем сохраните.
Работа выполнена. Начать сначала.
Несколько проблем с этим ответом: во-первых, только удаление папки может быть недостаточно. Смотрите комментарий @Silversonic к ответу . Во-вторых, не следует использовать sudo напрямую с графическими программами, так gedit как это может испортить пользовательские настройки. Лучше использовать sudo -i сначала, чтобы открыть root оболочку, если вы хотите использовать gedit с sudo . В-третьих, прямое редактирование grub.cfg не рекомендуется. Рекомендуется отредактировать /etc/default/grub и тогда sudo update-grub .
Это достаточно. С этим проблем нет. Это работает на 100%. Я делал это несколько раз, и это всегда срабатывало каждый раз. Не имеет значения, используете ли вы sudo -i, затем gedit или sudo gedit. Последнее не портит ваши пользовательские настройки. Откуда ты это взял? Вы можете с легкостью редактировать grub.cfg, если знаете, что делаете, и сначала можете сделать резервную копию grub.cfg, если не уверены. Вы педантичны. Если вы уже знаете все ответы, то зачем задавать вопрос в первую очередь .
@PaulBenson Я не могу комментировать остальное, но задавать вопрос, на который вы знаете ответ, а затем отвечать на вопросы не только разрешено, но и активно поощряется .
Пробовал тут разные дистрибутивы, чтоб узнать кто и как живёт - в общем, у меня в загрузочном меню UEFI сейчас осталась пара лишних систем - manjaro, opensuse и ещё кто-то.
Как их удалить из этого списка? manjaro и opensuse ставились на другой хард - он сейчас не подключён вообще, а системы в списке есть.
Просмотреть список записей EFI загрузчика
Кстати, в дополнение к вышесказанному - EFI может сама удалять такие записи, если они небутабельны, автоматически.
Не всегда. Но часто EFI может удалять записи, если диск с esp был отключен, причём даже рабочие.
efibootmgr – глюкодром. Увы, приходится использовать виндовые утилиты, либо быть готовым перепрошивать BIOS программатором или через какой-нибудь экстренный рекавери, если такой вообще есть. Обычно с ним всё хорошо, но иногда он всё очень сильно портит.
Напоследок, самая безобидная NVRAM-related атака, которую может совершить на ваш ничего не подозревающий BIOS штатная Linux'овая утилита efibootmgr. В зависимости от фазы луны и интенсивности космических лучей, иногда при очередном обновлении ядра у нее получается не только добавить очередную переменную BootXXXX, но и удалить после этого несколько соседних, а если лучи в этот раз особенно высокоэнергитические — то и вообще все. После этого процентов примерно 30 реализаций UEFI авторства Phoenix или Insyde впадают в полный ступор — еще бы, фаза BDS закончилась, а загружаться больше не с чего. При этом все возможности выйти из ступора, вроде BIOS Setup, тоже были среди тех самых BootXXXX, и пользователь вынужден либо воспользоваться подсистемой Crisis Recovery (это если он может в RTFM) или нести систему в сервис. За последние пару лет лично сталкивался с этой атакой четырежды на трех принципиально разных системах. Стабильность, как говорится, признак мастерства.
Но осталась ещё одна запись, которую я не знаю как удалить. В boot menu у меня находится 2 записи.
С первой всё понятно, но что касается второй? Как это удалить? Буду очень благодарен за помощь в нубском вопросе
Зайти в BIOS и отредактировать загрузочные опции. Если в BIOS нет такоко меню, то выбросить это железо к чертям и заменить на нормальное.
Gigabyte Z370. Дороговато обошлась эта материнка, чтобы я мог сейчас себе позволить её выбросить и заменить на что-то другое)
Так ты проверил для начала меню в BIOS?
отключи csm/legacy boot, с ним больше пунктов создаётся
Да, там нет кнопки «удалить», можно только запретить
Возможно, как заметил анонимус выше, ты не можешь ее удалить, потому что она не добавлена как UEFI загрузочная опция, а просто считывается MBR. Выключи legacy режим и проверь еще раз.
Так а в чем проблема? По ссылке все написано же. Грузишься с лайва, пишешь в терминале sudo efibootmgr он вернет список существующих записей. Дальше удаляешь так sudo efibootmgr -b 5 -B Только вместо 5 поставь тот номер, который тебе надо удалить.
В принципе, если материна не косячная, можно поудалять хоть все. Базовые загрузочные записи типа жестких дисков все равно потом восстановятся. Главное - загрузчики ОС не стирай, если нужны. Они восстановлены не будут.
Через sudo efibootmgr -b 5 -B удалить недостаточно. Встроенное ПО EFI восстанавливает запись в BootOrder. Нужно также удалять каталог нужной записи. В случае с удалениями записей линукс-дистрибутивов, которые у меня там были, было всё просто. Я просто нашёл папки ubuntu и debian по пути cd root/mnt/efipart/EFI , но сейчас у меня остались там только две папки - Boot и Windows Manager и я сомневаюсь, что Boot - это та самая запись из моего скрина - (P0): KINGSTON SA400S37240G
Действительно помогло отключение поддержки CSM в биосе. Загрузочная запись исчезла. Всем большое спасибо за помощь!
uefi сканирует диски при перезагрузке и добавляет записи заново
(P0): KINGSTON SA400S37240G - это загрузочная запись самого диска. Она будет создаваться пока данный жесткий диск вообще подключен. Неважно, есть на нем что-то или нет. Максимум что можно сделать - это скрыть эту запись, чтоб она просто не показывалась в меню загрузки. Но зачем? Она тебе сильно мешает?
В этой статье будет рассказано как удалить не используемые или не нужные записи в загрузчике Efi linux. Таким же способом можно почистить загрузчик любой операционной системы windows.
Вы ставите несколько операционных систем. Удаляете их и ставите другие снова.
В результате остаются старые записи о загрузке операционных систем которых уже нет. Приходит момент когда вы задумываетесь — как удалить не нужные записи.
Если вы используете для выбора загрузки, операционных систем, загрузчик Grub то установив утилиту Grub Customizer вы отредактируете не только загрузочные записи но и сам внешний вид. Достаточно поставить его на одну из установленных операционных систем Linux вашего компьютера.
Подробно о установке Grub Customizer вы можете почитать в этой статье.
Если вы хотите просто отредактировать загрузчик Efi linux, то вы сможете это сделать в любой операционной системе linux на вашем компьютере с помощью нескольких команд.
Для редактирования воспользуемся пакетом efibootmgr. Как правило он по умолчанию уже присутствует в большинстве операционных систем linux.
Для редактирование efi Linux установим пакет efibootmgr
Для установки efibootmgr введите команду в терминале
Смотрим меню efi linux
Для того, чтоб посмотреть все записи в вашем загрузочном меню efi linux вводим команду
Если у вас не используется efi то вам напишут, что efi не используется
Если на вашем компьютере используется загрузка efi вы увидите список с загрузочными записями операционных систем и их вариантов запуска.
Запись каждого загрузочного пункта системы в efi содержит свой номер
Теперь нам остается лишь определится — какая запись вам более не нужна и ввести команду для ее удаления
sudo efibootmgr — утилита efibootmgr запущенная от sudo
—bootnum номер_записи — указываем свой номер записи для удаления в виде цифр
—delete-bootnum — опция удаления
Например:
Нам нужно удалить 4 пункт в записи обозначенный как 0004*
Наша запись будет выглядеть так
Для удаления нескольких записей.
Чтоб удалить несколько записей вам необходимо проделать процедуру повторно, указывая каждый раз нужную запись для удаления. Повторяем так, пока не удалите все лишние записи, которые являются не рабочими в вашем компьютере.
Если у вас windows и нет установленного linux
Если в данный момент у вас нет установленной операционной системы Linux или вы хотите отредактировать запись efi windows.
Вариант описанный выше тоже Вам подойдет. Все. что вам нужно, это скачать операционную систему Linux, сделать загрузочный диск или флешку с ней.
Загрузить ПК с флешки в linux live режиме. Потом запустить терминал и проделать все те же пункты описанные выше.
В результате не понадобится даже устанавливать Linux, а efi раздел бует почищен.
File :\EFI\Microsoft\Boot\BCD
Error code: 0xc000014CГ
Необходимо восстановить файлы загрузочной области UEFI.
Самый надежный способ, может показаться очень сложным для простого пользователя, но если все делать по пунктам как будет описано ниже, то все получится даже у простого пользователя.
Для восстановления загрузчика нам понадобится загрузочная флешка или диск с любым Windows не ниже версии 8. Но теоретически возможно и с windows 7 (не проверялось).
Внимание! Вначале внимательно читайте, осознайте, что вы делаете, прочитайте несколько раз, а потом делайте.
Если проявите терпение и внимание то у вас все получится.
Вставляем диск в привод или подключаем флешку и загружаемся с него. Как загрузиться с носителя описано в начале этой статьи.
Здесь нажимаем далее
Здесь выбираем Восстановление системы
Затем выбираем по очереди: Диагностика — Дополнительные параметры — командная строка
После того как откроется командная строка набираем команду для запуска утилиты Diskpart:
Посмотрим список дисков в системе
Выберем свой жесткий диск, если он один то это как правило disk 0.
Посмотрим какие разделы есть на выбранном диске
после этой команды откроется такой список ваших разделов на выбранном диске
Раздел который нам нужен содержит загрузочный раздел размером 100мб, файловую систему Fat32.
(если его нет и у вас несколько дисков, то возможно вы выбрали не тот диск).
В моем случае это диск 3 (Том 3) — выделен красной рамкой на картинке выше.
select volume 3
Чтоб работать с ним дальше, присвоим этому разделу свободную букву диска. Например K
assign letter K:
Выходим из утилиты Diskpart
Переходим в директорию самого загрузчика (K— буква которую мы присвоили ранее)
cd /d K:\efi\microsoft\boot\
Перезапишем загрузочный сектор на диске:
На всякий случай переименуем старую конфигурацию загрузчика
Теперь последний шаг, создадим новую конфигурацию загрузчика
bcdboot C:\Windows /s K: /l ru-ru /f ALL
Пояснение: C:\Windows — путь где установлена ваша windows, если установлена на другом диске то смените букву диска.
K — буква раздела на который копируются файлы загрузки операционной системы (мы ее присваивали ранее)
/l ru-ru — определяет принадлежность языка вашей операционной системы, в данном случае русский. По умолчанию используется английский.
/f ALL -в сочетании с командой /s это указывает тип встроенного ПО целевого системного раздела. («UEFI», «BIOS» или «ALL»).
Теперь набираем несколько раз exit , нажимаем enter, пока не закроется окно командной строки.
Читайте также: