Grub не видит Linux

Обновлено: 21.11.2024

Я купил новый ноутбук для тестирования дистрибутива на распродаже в Черную пятницу в прошлом месяце (не увлекайтесь, это стоило мне 200 фунтов стерлингов и много головной боли), но я установил на него Ubuntu 22.04 только в эти выходные — и мгновенно попал в затруднительное положение.

Понимаете, обычно, когда я устанавливаю Ubuntu вместе с Windows в качестве системы с двойной загрузкой, Ubuntu добавляет загрузчик GRUB — замечательно — и заполняет этот загрузчик ссылками на любые другие операционные системы, такие как Windows (или технически загружается в менеджер загрузки Windows) — тоже круто.

За исключением того, что этого больше не происходит при установке Ubuntu 22.04.

Вместо этого после завершения установки Jammy и перезагрузки я смог загрузить только Ubuntu. Для загрузки Windows мне нужно использовать меню диспетчера загрузки. Хотя вялое нажатие клавиши F10 не совсем сложно, это менее чем желательно.

Так что же происходит?

Проверка ОС отключена в GRUB

При установке Ubuntu 22.04 у меня появилось меню GRUB без опции диспетчера загрузки Windows.

Это меня поразило. Я ожидал одного. И я хотел один.

Было ли это особенность Windows 11? Я должен был использовать расширенный менеджер разделов для установки Ubuntu 22.04? Или это был знак, что вселенная на меня настроилась?!

Э, ничего подобного.

Обычно омг! Комментатор OstroLK упомянул проблему (и решение) в разделе комментариев к нашему сообщению о капитальном ремонте Ubuntu Orange. Теперь, если бы я не увидел этот комментарий, скорее всего, я бы нажимал клавишу F10 вместо того, чтобы писать это.

Остро пишет: «Если вы выполняете мультизагрузку с другими системами Linux и Windows, вы можете столкнуться с проблемой, когда вы когда-нибудь обновите/обновите Ubuntu (возможно, и с другими системами Linux), она перестанет «видеть «другие дистрибутивы и Windows».

Именно моя проблема.

Причина? Функция OS_prober по умолчанию отключена в GRUB 2.06, версии, включенной в Ubuntu 22.04. Это вышестоящее изменение, предназначенное для противодействия потенциальным проблемам безопасности с функцией обнаружения ОС (она монтирует разделы для проверки других ОС, этим можно воспользоваться и т. д.).

Итак, на данный момент Ubuntu 22.04 (или, точнее, GRUB в Ubuntu 22.04) не обнаруживает никакую другую операционную систему ни во время, ни после установки. Джулиан Андрес Клоде из Ubuntu признает, что это «…немного спорно, и результат не обязательно отвечает интересам наших пользователей».

Одним из обходных путей (на данный момент) является добавление GRUB_DISABLE_OS_PROBER=false в /etc/default/grub следующим образом:

OS Prober включен

Нажмите "Сохранить", затем запустите sudo update-grub, чтобы он сделал свое дело.

Наконец, перезагрузите компьютер и вуаля: меню GRUB с вещами в нем:

Как и должно быть

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

И наоборот, отсутствие загрузочного меню GRUB со ссылками на загрузку других установленных ОС является серьезным недостатком по сравнению с прошлым поведением

Сложная ситуация. Разработчики Ubuntu рассматривают возможность повторного включения os-prober («тьфу»); запускать os-prober только один раз во время установки (как это делают другие дистрибутивы Linux); или даже создать новый модуль GRUB, «который просматривает параметры загрузки UEFI и создает подменю, затем устанавливает BootNext и перезагружает компьютер при выборе элемента».

Простых вариантов не существует, поэтому будет интересно посмотреть, как это будет выглядеть перед выходом Ubuntu 22.04 следующей весной. Возможность иметь функциональную двойную загрузку имеет большое значение как для многих существующих, так и для многих потенциальных пользователей.

Тем временем, если вы установите Ubuntu и обнаружите, что в вашем меню GRUB меньше нескольких операционных систем, я надеюсь, что этот небольшой совет поможет вам так же, как и мне!

Вы загрузили Ubuntu Linux одновременно с Windows, но при перезагрузке вы не видите экран Grub, позволяющий выбирать между Windows и Linux. Вместо этого он загружается прямо в Windows.

Или, возможно, у вас была работающая система с двойной загрузкой, но вы обновили Windows, и теперь ваша система загружается прямо в Windows. Обычного меню grub нигде нет. Он просто загружался в Windows 10 при каждом запуске.

Я столкнулся с обоими сценариями в моем долгом путешествии с Linux и компьютерами. Я также видел людей, паникующих по этому поводу. Некоторые пользователи даже думают, что их раздел Linux был удален, и они потеряли свои данные. Уверяю вас, это не так.

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

Если вы тоже не можете загрузиться в Grub и постоянно перезагружаете Windows 10, вот несколько шагов, которые вы можете предпринять для устранения неполадок и устранения проблемы.

Внимательно прочитайте весь текст, иначе вы можете пропустить что-то важное. Кроме того, параметры загрузки выглядят по-разному для разных систем. Скриншоты могут выглядеть иначе.

Способ 1: переместить Grub вверх по порядку

Одна из причин, по которой система с двойной загрузкой автоматически загружается в Windows, заключается в том, что диспетчер загрузки Windows имеет приоритет в порядке загрузки.

Вам необходимо получить доступ к настройкам загрузки. Перезагрузите систему. Когда компьютер загружается и показывает логотип производителя, быстро нажмите клавиши F10/F12 или F2, чтобы получить доступ к меню загрузки или настройкам.

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

В некоторых системах на вкладке загрузки отображается меню загрузки с возможными вариантами загрузки. Если вам повезет, он покажет параметры загрузки следующим образом:

Если вы видите параметры загрузки Windows и Linux, а загрузка Windows выполняется выше Linux, вам необходимо изменить порядок загрузки.

Вы должны увидеть возможность доступа к настройкам загрузки. Доступ к нему. Здесь укажите вариант загрузки Linux. Выберите его и переместите вверх по порядку с помощью клавиши F5. После этого нажмите F10, чтобы сохранить и выйти. Полезные сочетания клавиш всегда отображаются в меню загрузки.

Если вам повезет, это должно решить вашу проблему. Если через несколько недель или месяцев проблема возникает снова после обновления Windows, вы можете использовать тот же метод здесь.

А если в меню загрузки нет пункта Ubuntu/Linux?

Способ 2. Добавьте загрузочную запись Linux в настройки загрузки

Еще одна распространенная проблема, с которой сталкиваются многие люди, — это отсутствие записи Linux grub в параметрах загрузки. Это означает, что в настройках загрузки есть только Windows, а не Linux.

Если у вас так же, зайдите в настройки BIOS. На вкладке загрузки найдите пункт Добавить вариант загрузки.

Это должно дать вам возможность добавить файл EFI.

Я использовал это при установке Debian Linux. Вот почему вы увидите Debian на скриншотах здесь. Для вас должно отображаться название вашего дистрибутива Linux, например Ubuntu.

Существует каталог EFI с файлами efi, относящимися к операционным системам на вашем компьютере, например Windows и Linux.

Должна отображаться папка с названием вашего дистрибутива Linux вместе с некоторыми другими папками. Выберите папку Linux.

В этой папке вы найдете такие файлы, как grubx64.efi, shimx64.efi. Выберите shimx64.efi.

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

Теперь у вас должен быть этот вариант загрузки. Поскольку я назвал его Debian, он показывает два варианта загрузки Debian (я думаю, один из них исходит из файла efi). Нажмите F10, чтобы сохранить и выйти из настроек BIOS.

Когда ваша система загрузится сейчас, вы должны увидеть экран grub.

Примечание. В Acer и, возможно, в некоторых других системах добавление нового параметра загрузки может оказаться сложной задачей. Вы можете использовать шаги, указанные в исправлении ошибки «загрузочное устройство не найдено». Также была добавлена ​​опция загрузки, но она требует изменений на вкладке безопасности.

То, что вы сделали здесь, также можно сделать из командной строки Windows. Пробуйте, только если ваши настройки не учитываются.

Способ 3: настроить загрузку Linux для EFI из Windows (крайнее средство)

Внимание!

Игра с настройками загрузки может испортить вашу систему. Я советую иметь при себе диск восстановления или установочный диск Windows, чтобы изменить настройки загрузки. Сохранение USB-накопителя с Linux также может помочь во многих ситуациях.

Шаг 1

В Windows перейдите в меню.

Шаг 2

Найдите командную строку, щелкните ее правой кнопкой мыши, чтобы запустить от имени администратора.

Шаг 3

Это строго для Ubuntu. Другие дистрибутивы могут иметь другое имя папки.

Скопируйте и вставьте приведенную ниже команду:

Вам не нужно вводить пароль или что-то в этом роде. Команда должна работать нормально, если у вашей учетной записи есть права администратора.

Шаг 4

Перезапустите, и вас встретит знакомый экран Grub. Я надеюсь, что это краткое руководство помогло вам решить проблему с Grub.

Нет успеха? Отменить изменения

Если описанный выше метод ничего не изменил, отмените изменения. Если вы не можете загрузиться, не паникуйте.

Доступ к параметрам загрузки во время загрузки системы. Здесь перейдите к параметрам загрузки и измените порядок загрузки Windows. Сохраните и выйдите.

Теперь при загрузке Windows. вы можете отменить то, что вы сделали, используя приведенную ниже команду с командной строкой, открытой от имени администратора:

Далее используйте приведенную ниже команду, чтобы снова установить загрузку Windows.

Если вы не можете загрузиться с установкой Windows, вставьте установочный диск Windows, после чего вы получите доступ к командной строке.Если вы видите ошибку «загрузка не найдена», вы можете попробовать это или это решение.

Сработало?

Разочаровывает, не правда ли? Казалось, что доступа к Linux вообще не было. Казалось, что раздел Linux исчез, но нет — установка Linux на другой раздел прошла в целости и сохранности. Просто в диспетчере загрузки были другие настройки UEFI. Я все проверил, зайдя в настройки прошивки UEFI в Windows 10.

Я надеюсь, что приведенные здесь советы помогли вам вернуть загрузочное меню Grub, и теперь вы можете использовать его для работы как в Windows, так и в Linux.

Здравствуйте, я новичок как в Linux, так и в этом форуме, и у меня возникли проблемы с правильной загрузкой Mint/Linux. Я студент CS, который пытается настроить Linux на двойную загрузку, чтобы узнать, как работают вещи, близкие к металлу. Я пытался заставить его работать около 3 недель.

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

В чем я думаю проблема:
В настоящее время я думаю, что проблема заключается в том, что когда я запускал bootrec.exe /fixmbr, он должен был сделать что-то в MBR, что не позволяло Linux больше писать в него, поэтому не разрешить загрузку Linux. Хотя я могу ошибаться.
Еще одна возможная причина заключается в том, что /sda2 — это нераспознанный раздел на моем SSD, который я не настраивал, и я не уверен, для чего он нужен. Когда я запустил программу восстановления загрузки (см. ссылку ниже для вывода), она говорит, что раздел является «зарезервированным разделом Microsoft (Windows)», но когда остальная часть программы восстановления загрузки работает, она не может понять, что этот раздел.

Что может иметь значение:
запуск биоса UEFI;
Mint 19.1;
64-разрядный компьютер;
ноутбук, поэтому пробовать другой жесткий диск не вариант

Если я помог вам решить проблему, добавьте [РЕШЕНО] к заголовку вашего первого сообщения, это поможет другим пользователям, которым нужна помощь, и сохранит чистоту форума.
С уважением,
Дипак

Mint 20.2 Cinnamon, 64-разрядная версия с AMD A8/7410 / 8 ГБ
Mint 20.2 Cinnamon AMD Ryzen3500U/8 ГБ

Если я помог вам решить проблему, добавьте [РЕШЕНО] к заголовку вашего первого сообщения, это поможет другим пользователям, которым нужна помощь, и сохранит чистоту форума.
С уважением,
Дипак

Mint 20.2 Cinnamon, 64-разрядная версия с AMD A8/7410 / 8 ГБ
Mint 20.2 Cinnamon AMD Ryzen3500U/8 ГБ

Добро пожаловать в удивительный мир Linux Mint и его замечательный форум!

Я только что прочитал ваш пост и хорошие ответы на него. Вот и мои мысли по этому поводу.

Было бы полезно узнать больше о настройке вашей системы. Если вы запустите « inxi -Fxzd » и « lsusb » из командной строки терминала консоли, выделите результаты, скопируйте и вставьте их сюда, это должно предоставить достаточно информации.

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


Надеюсь, это поможет.

Phd21: Mint 20 Cinnamon и xKDE (Mint Xfce + Kubuntu KDE) и KDE Neon 64-bit (новое на основе Ubuntu 20.04) отличные ОС, Dell Inspiron I5 7000 (7573) 2 в 1 сенсорный экран, Dell OptiPlex 780 Core2Duo E8400 3 ГГц, 4 ГБ ОЗУ, Intel 4 Graphics.

Я установил Mint после Windows, поэтому не думаю, что это проблема. Также у меня есть резервная копия всех файлов, которые мне нужны, так что я хорош в этом отделе

Добро пожаловать в удивительный мир Linux Mint и его замечательный форум!

Я только что прочитал ваш пост и хорошие ответы на него. Вот и мои мысли по этому поводу.

Было бы полезно узнать больше о настройке вашей системы. Если вы запустите « inxi -Fxzd » и « lsusb » из командной строки терминала консоли, выделите результаты, скопируйте и вставьте их сюда, это должно предоставить достаточно информации.

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


Надеюсь, это поможет.

mint@mint:~$ lsusb
Шина 002 Устройство 001: ID 1d6b:0003 Корневой концентратор Linux Foundation 3.0
Шина 001 Устройство 007: ID 0bda:57f2 Realtek Semiconductor Corp.
Шина 001 Устройство 005: ID 04ca:3015 Lite-On Technology Corp.
Шина 001 Устройство 006: ID 1b1c:1b64 Corsair
Шина 001 Устройство 004: ID 0bda:5411 Realtek Semiconductor Corp.
Шина 001 Устройство 003: ID 28da:1101
Шина 001 Устройство 002: ID 05dc:a81d Lexar Media, Inc.
Шина 001 Устройство 001: ID 1d6b:0002 Корневой концентратор Linux Foundation 2.0

Я еще не пробовал другие комбинации кодов, которые вы упомянули, чтобы попробовать (отвечу, вероятно, через час или около того), но когда я первоначально устанавливал Mint, мне не нужно было делать какую-либо комбинацию клавиш, просто компьютер загрузился в grub.

Наконец-то я установил Ubuntu на второй диск.Когда я запускаю свой компьютер, GRUB предлагает мне загрузить только Ubuntu, а не Windows 7. Что нужно сделать, чтобы я мог выбирать между Ubuntu и Windows в GRUB?

Когда я нажимаю F12 для вызова меню загрузки при запуске и выбираю Диспетчер загрузки Windows, загружается Windows 7.

13 ответов 13

Загрузите Ubuntu и смонтируйте раздел Windows (просто откройте диск в Nautilus)

Выполните в командной строке ( Ctrl + Alt + t ):

Если ваша установка Windows была найдена, вы можете запустить:

Обратите внимание, что шаг 2 предназначен только для вашего удобства. Вы можете просто смонтировать раздел Windows 7 и запустить update-grub .

Похожий вопрос

У меня есть 2 раздела с двумя установленными окнами, он обнаруживает мою установку только на другом разделе, но не на новых установленных окнах (на SSD)! даже смонтирован. идея?

Если описанный выше метод os-prober не работает, попробуйте добавить пользовательскую запись в меню grub. Документировано здесь.

Первые два шага предназначены для поиска вашего домена .

  1. Запустите lsblk и найдите имя строки с /boot/efi

Пример вывода (здесь ответ sda2):

  1. Запустите sudo blkid /dev/sdaX, где sdaX — это ответ из предыдущего шага (в моем случае sda2).

Пример вывода (здесь ответ 58E4-427D):

  1. Добавьте в конец файла /etc/grub.d/40_custom следующее:
    1. Запустите sudo update-grub и перезагрузитесь.

    Спасибо @Christopher Markieta за все подробности в другом ответе. Добавил их и в этот (хотя специфика пользовательской записи отличается.

    @PhilippeGachoud Ubuntu 20.04 в моем случае вообще не обнаруживает диск Windows, а grub устанавливается на другой раздел того же диска, что и Ubuntu!

    У меня была запущена Windows 10, а затем я попробовал двойную загрузку. После установки Ubuntu Win 10 не отображалась в моем загрузчике GRUB. Я пробовал следующее --

    Прежде всего я отключил безопасную загрузку в Win10. Затем запустите следующие команды в Ubuntu:

    Отлично получилось. После этого смог найти Windows и Ubuntu в GRUB.

    Этот PPA все еще существует? Я не смог добавить его, и он заявил, что его не существует с загрузочного диска Ubuntu 18.04

    Я решил аналогичную проблему, выполнив шаги Boot-Repair

    Нажмите «Рекомендуемый ремонт» и введите в терминал несколько команд, как было предложено.

    Я думаю, что мой Grub не распознает окна из-за неправильного завершения работы, и это решило проблему.

    Немного другой метод, который я скопировал из рабочего примера на другом компьютере и опубликовал для себя.

    Добавьте к /etc/grub.d/40_custom следующее:

    где находится UUID вашего раздела /boot/efi. Чтобы найти это:

    Затем, конечно, после сохранения файла запустите:

    Перезагрузитесь, теперь вы сможете успешно запустить Windows.

    Если у вас ранее был установлен RAID, это может вызвать проблемы. В моем случае я собрал свой рабочий стол в 2010 году и установил два по 1,5 ТБ с чередующимся RAID. Пользователь Gracemercy54 упоминает, что это метаданные, оставшиеся от прежней конфигурации RAID.

    Когда я впервые попытался выполнить действия Hermes, я получил сообщение об ошибке с указанием "неправильного количества устройств в наборе RAID". Итак, если это произойдет с вами, откройте терминал и выполните:

    Это исправило это для меня.

    Я думаю, мой тоже из-за рейда. Но sudo dmraid -rE у меня не работает. В конце концов я сделал это, временно переключившись на AHCI в BIOS, затем загрузившись в Ubuntu и выполнив sudo update-grub , а затем снова включив RAID.

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

    где указанный выше UUID (688E. ) был взят с загрузочного диска Windows через blkid /dev/sdb1 .

    ВНИМАНИЕ: дополнительная строка

    относится к sda, который виден в Ubuntu как /dev/sdb, хотя на самом деле это первый диск в шине sata, тогда как /dev/sda на самом деле является вторым диском, смонтированным как root / .

    Возможно, поэтому скрипты grub не работали должным образом. У меня не было времени менять физический порядок дисков, но вполне возможно, что это тоже помогло бы решить проблему.

    У меня была такая же проблема с Windows 10. Я установил 64-разрядную версию Linux Mint 18.1 Cinnamon на свой ноутбук для двойной загрузки с WIN10. После установки GRUB предложил загрузить только Linux, но не Windows.

    Я обнаружил, что видеорешение для Windows 10 отсутствует в меню grub, а в ветке форума Grub не распознает Win10 после обновления/восстановления, но, к сожалению, ни то, ни другое не сработало, поэтому я использовал их комбинацию для решения своей проблемы.

    Откройте терминал и следуйте этим командам, чтобы открыть файл с именем 40_custom:

    Добавьте эти строки в конец файла, а затем сохраните и выйдите:

    После сохранения файла обновите GRUB с помощью этой команды:

    Затем перезагрузите компьютер, чтобы проверить, работает ли он.

    Надеюсь, это сработает и для других!

    У меня была та же проблема, и я потратил 2 дня на ее решение. Но сегодня утром у меня возникла внезапная идея, и она сработала.

    Вам следует проверить настройки BIOS/UEFI. В моем случае мне пришлось сначала загрузить Uefi. В противном случае я не смог обнаружить окна из Ubuntu. Мне нужно было установить Ubuntu> Диспетчер загрузки Windows> DISK1> DISK2> DISK3. Установлен DISK1 > ubuntu > Диспетчер загрузки Windows > DISK3.

    У меня было две установки Ubuntu: одна на жестком диске, другая на твердотельном накопителе. Очевидно, установка ssd по какой-то причине не отображалась как UEFI, но я хотел сначала загрузить более быстрый диск.

    Я не ожидал, что порядок загрузки может повлиять на обнаружение систем grub. Так что стоит пересмотреть это.

    У меня была такая же проблема после установки обновлений от Ubuntu. Следующие команды отлично сработали для меня:

    Сначала установите os-prober для обнаружения окон, а затем обновите grub:

    Подтверждено: "os-prober" отсутствует. На этот раз Linux Mint 19.3 Tricia. Нет сообщений об ошибках при запуске «update-grub» об отсутствии os-prober, просто не удалось обнаружить существующий раздел Windows.

    В дополнение к ответу Бартоша Домбровски, который привел меня к решению моей проблемы:

    Убедитесь, что если ваш Linux использует UEFI Boot/GPT, то и другая ваша ОС (например, Windows в моем случае) также использует UEFI Boot/GPT. Начиная со старой установки Win7 и Win10, на жестком диске все еще была старая школьная загрузка и MBR. Каким-то образом у os-prober и boot-repair были свои проблемы, чтобы исправить это.

    Убедитесь, что в BIOS/порядке загрузки указан ваш жесткий диск с ubuntu (например, uefi: ubuntu) и жесткий диск с диспетчером загрузки Windows (например, uefi: диспетчер загрузки Windows).

    Если WBM отсутствует, убедитесь, что загрузочный диск Windows имеет GPT. Вы можете проверить это в Windows, используя Управление дисками (Win + X, затем Управление дисками).

    Существует инструмент Windows: mbr2gpt, который может конвертировать MBR в GPT. После этого (и загрузки через UEFI) os-prober и, наконец, update-grub смогли найти мою установку Windows и добавили ее в параметры загрузки grub.

    Выполните следующие действия, если os-prober показывает Windows, а GRUB нет.

    • Изменить grub-mkconfig
    • Найдите эти строки посередине
    • Изменить true на false
    • Выйти из nano (CTRL+X, Y, Enter)
    • Обновить GRUB

    Хорошо, у меня была та же проблема, и я долго не мог найти решение для себя, наконец нашел его, так что вот моя маленькая песчинка в мире. Прежде чем пытаться, не забудьте каждый раз проверять, загружаетесь ли вы с использованием UEFI:

    Видимо, в процессе установки Debian данные Windows внутри раздела EFI были потеряны, поэтому я восстановил систему с помощью USB-накопителя Windows 10 (я пытался исправить загрузку, но почему-то это не сработало, я даже попробовал это на консоли, в любом случае я не потерял данные). После этого теперь я не могу загрузить Debian, поэтому запускаю Live CD Debian, монтирую все и делаю chroot следующим образом (и не забудьте загрузить USB как UEFI):

    Теперь, здесь os-prober не обнаружил Windows 10, но я все равно решил установить grub-install /dev/sda и grub-update и перезапустить.

    Самое смешное, теперь я не мог загрузить Windows 10 и только Debian, НО!, я попытался еще раз обновить grub и, наконец, нашел загрузку Windows 10. Честно говоря, это не имеет никакого смысла, но мне все равно. Надеюсь, это поможет любому, кто так же отчаян, как и я :D .

    Читайте также: