Как я могу починить grub? (Как вернуть Ubuntu после установки Windows?)

Я установил Windows 7, которая съела загрузочный файл Ubuntu. При запуске компьютера он теперь переходит прямо в Windows, не давая мне возможности загрузить Ubuntu.

Как я могу вернуть Ubuntu обратно?

Когда вы устанавливаете Windows, Windows предполагает, что это единственная операционная система (ОС) на компьютере, или, по крайней мере, она не учитывает Linux. Таким образом, он заменяет GRUB своим собственным загрузчиком. Что вам нужно сделать, так это заменить загрузчик Windows на GRUB. Я видел различные инструкции по замене GRUB с помощью команд GRUB или чего-то подобного, но для меня самый простой способ - просто chroot в вашу установку и запустите update-grub. chroot это здорово, потому что это позволяет вам работать над вашей фактической установкой, вместо того, чтобы пытаться перенаправлять вещи туда и сюда. Это действительно чисто.

Вот как это делается:

  1. Загрузитесь с live CD или live USB в режиме "Попробуйте Ubuntu".
  2. Определите номер раздела вашего основного раздела. sudo fdisk -l, sudo blkid или GParted (который по умолчанию уже должен быть установлен в сеансе live) может помочь вам здесь. Я собираюсь предположить в этом ответе, что это /dev/sda2, но убедитесь, что вы используете правильный номер раздела для вашей системы!

    Если ваш основной раздел находится в LVM, вместо этого устройство будет расположено в /dev/mapper/, скорее всего, /dev/mapper/{volume}--{os}-root где {volume} является именем тома LVM и {os} это операционная система. Выполнять ls /dev/mapper для точного названия.

  3. Смонтируйте свой раздел:

    sudo mount /dev/sda2 /mnt  #Replace sda2 with the partition from step 2

    Если у вас есть отдельный /boot, /var или /usr перегородки, повторите шаги 2 и 3, чтобы смонтировать эти разделы на /mnt/boot, /mnt/var и /mnt/usr соответственно. Например,

    sudo mount /dev/sdXW /mnt/bootsudo mount /dev/sdXY /mnt/varsudo mount /dev/sdXZ /mnt/usr

    заменяющий sdXW, sdXY, и sdXZ с соответствующими номерами разделов.

  4. Привязать смонтировать некоторые другие необходимые вещи:

    for i in /sys /proc /run /dev; do sudo mount --bind "$i" "/mnt$i"; done
  5. Если Ubuntu установлена в режиме EFI (посмотрите этот ответ, если вы не уверены), использовать sudo fdisk -l | grep -i efi или GParted, чтобы найти ваш раздел EFI. На нем будет надпись EFI. Смонтируйте этот раздел, заменив sdXY с фактическим номером раздела для вашей системы:

    sudo mount /dev/sdXY /mnt/boot/efi
  6. chroot в вашу установку Ubuntu:

    sudo chroot /mnt
  7. На данный момент вы находитесь в своей установке, а не в живом сеансе, и работаете от имени root. Обновить личинку:

    update-grub

    Если вы получаете ошибки или переход к шагу 7 не устранил вашу проблему, перейдите к шагу 8. (В противном случае это необязательно.)

  8. В зависимости от вашей ситуации вам, возможно, придется переустановить grub:

    grub-install /dev/sdaupdate-grub # In order to find and add windows to grub menu.
  9. Если Ubuntu установлена в режиме EFI, а UUID раздела EFI изменился, вам может потребоваться обновить его в /etc/fstab. Сравните это:

    blkid | grep -i efigrep -i efi /etc/fstab

    Если UUID текущего раздела EFI (из blkid) отличается от того , что в /etc/fstab, обновление /etc/fstab с текущим UUID.

  10. Если все сработало без ошибок, то у вас все готово:

    exitsudo reboot
  11. На этом этапе вы должны быть в состоянии нормально загрузиться.

Если вы не можете нормально загрузиться и не выполнили шаг 8 из-за отсутствия сообщений об ошибках, повторите попытку с помощью шага 8.

  • Иногда предоставление GRUB2 правильного конфигурация для ваших разделов этого недостаточно, и вы должны фактически установить его (или переустановить) в главную загрузочную запись, что и делает шаг 8. Опыт оказания помощи пользователям в чате показал, что шаг 8 иногда необходим, даже если сообщения об ошибках не отображаются.

Установщик Windows не заботится о других ОС в системе. Таким образом, он записывает собственный код поверх главной загрузочной записи. К счастью, решение тоже простое.

Вам нужно отремонтировать MBR. Выполните следующие действия

Загрузитесь с помощью live usb / cd ubuntu. Воспользуйся boot-repair чтобы устранить проблему.

После загрузки с live usb/cd выполните следующую команду в терминале:

sudo add-apt-repository ppa:yannubuntu/boot-repair && sudo apt-get updatesudo apt-get install -y boot-repair && boot-repair

Воспользуйся Recomended Repair.

enter image description here

Дополнительная информация - https://help.ubuntu.com/community/Boot-Repair

Загружайтесь с USB-накопителя или компакт-диска Ubuntu в режиме реального времени.
Установите Boot-Repair на ubuntu, выполнив следующие действия

Откройте терминал и выполните следующие команды

sudo add-apt-repository ppa:yannubuntu/boot-repairsudo apt-get updatesudo apt-get install boot-repair

>>После завершения установки вы можете запустить его из меню System-Administration-Boot-Repair, если вы используете Gnome, или выполнить поиск "boot-repair" в dash, если вы используете Unity. Затем следуйте следующим скриншотам:

Способ 1

  • Нажмите на дополнительные параметры

Initial screen

  • Отметьте галочкой параметры, показанные ниже

advanced option

  • Измените вкладку на вкладку Расположения Grub и отметьте параметры, показанные на рисунке

enter image description here

Нажмите Применить и перезагрузите систему

Способ 2

  • Выберите рекомендуемые параметры восстановления загрузки, как показано на первом снимке экрана

Документация :

Просто установите easyBCD в Windows 7 и выполните

>>>Добавить новую запись Linux/BSD (выбрать) Grub2 (нажать) Добавить запись

Тогда вы можете выбрать Ubuntu в загрузчике Windows 7, чтобы перейти к Grub2 (предыдущий загрузчик).

В системах на базе EFI (таких как большинство систем, поставляемых с Windows 8 или более поздней версией) Windows иногда обновляет свой загрузчик или сбрасывает его, чтобы он был загрузчиком по умолчанию. Это особенно часто встречается при переустановке операционной системы или выполнении основного обновления системы (например, обновление до последней версии Windows). Обратите внимание, что Windows вряд ли действительно удалит какие-либо файлы GRUB на компьютере на базе EFI. Все необходимое для загрузки Ubuntu все еще на месте; его просто обходят стороной. В этих случаях полная переустановка GRUB является излишеством, и на самом деле это несет в себе (небольшую) вероятность того, что это создаст новые проблемы.

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

  • EasyUEFI -- Самый простой способ настроить порядок загрузки, если система загружается прямо в Windows, - это использовать EasyUEFI, который представляет собой бесплатный (для базовой версии) сторонний графический инструмент для управления порядком загрузки EFI. Это довольно понятно - найдите ubuntu запись в списке параметров загрузки и переместите ее в начало списка. При следующей перезагрузке должен появиться GRUB. (Если вы используете что-то другое, кроме GRUB, вам нужно будет найти его запись.)
  • bcdedit -- Окна bcdedit инструмент можно использовать для установки GRUB в порядок загрузки по умолчанию. Команда bcdedit /set {bootmgr} path \EFI\ubuntu\grubx64.efi, напечатанный в Администратор Окно командной строки, сделает это; однако, если ваш компьютер загружается с активной безопасной загрузкой, bcdedit /set {bootmgr} path \EFI\ubuntu\shimx64.efi вместо этого потребуется. На самом деле, последняя команда будет обычно работает, даже если безопасная загрузка не используется, поэтому я бы сначала использовал эту команду. Обратите внимание, что существует более продвинутый инструмент оболочки Windows, который требует немного другого синтаксиса, чем я представил, но я не помню подробностей.
  • Одноразовая загрузка в Ubuntu -- Большинство EFI предоставляют встроенный менеджер загрузки, доступ к которому осуществляется нажатием функциональной клавиши, Esc или Enter в начале процесса запуска системы. Скорее всего, это ubuntu запись для загрузки Ubuntu появится в этом меню диспетчера загрузки, что позволит вам загрузиться в Ubuntu. В качестве альтернативы вы можете загрузиться с аварийного носителя Ubuntu, например, установщик загрузился в режиме "попробуйте перед установкой". В любом случае, затем вы можете использовать efibootmgr чтобы настроить порядок загрузки:
    1. Тип sudo efibootmgr чтобы просмотреть загрузочные записи.
    2. Обратите внимание на текущий BootOrder линия.
    3. Найдите запись для ubuntu и обратите внимание на его Boot#### номер.
    4. Тип sudo efibootmgr -o xxxx[,yyyy,zzzz,....] чтобы изменить порядок загрузки, сделав xxxx номер для Ubuntu. То, что происходит после этого, скорее всего, не очень важно, хотя я отметил, что Windows, скорее всего, добавит себя обратно в начало порядка загрузки, если ее нет в списке. Таким образом, вам, вероятно, следует убедиться, что Windows находится в списке, и, возможно, будет безопаснее изменить порядок списка так, чтобы все исходные записи были там, просто с ubuntu запись переместилась в начало списка.
  • Утилита настройки встроенного программного обеспечения -- Некоторые утилиты настройки EFI позволяют изменять порядок загрузки. Детали сильно различаются от одного EFI к другому, поэтому я не буду вдаваться в подробности, но вы могли бы поискать такую опцию в своей утилите настройки.

Существуют и другие варианты этих процедур, такие как использование bcfg в оболочке EFI, используя bless в macOS, используя мой Уточните чтобы выполнить одноразовую загрузку и т.д. Однако я бы начал с EasyUEFI; скорее всего, это будет самое простое решение. Однако иногда Windows настаивает на том, чтобы устанавливать себя по умолчанию при каждом запуске, и отчеты показывают, что bcdedit может лучше справиться с этой проблемой.

Обратите внимание, что ничто из вышеперечисленного не относится к установкам в режиме BIOS; однако, поскольку большинство компьютеров, поставляемых с Windows 8 или более поздней версией, загружаются в режиме EFI, установки в режиме BIOS становятся все более редкими, поэтому во многих случаях лучше решать проблему способом EFI, а не слепо повторно-установка GRUB.

Теперь есть более простое решение:

  1. Перезагрузитесь и введите параметры BIOS вашего компьютера (F2 или иногда F11).
  2. Пойти на Ботинок меню и выберите Приоритет загрузочного устройства
  3. Проверьте, если Диспетчер загрузки Windows находится над основным загрузочным диском (обычно ЖЕСТКИЙ ДИСК SATA … или ЖЕСТКИЙ ДИСК IDE …). Если это так, переместите приоритет загрузочного диска выше приоритета диспетчера загрузки Windows.
  4. Сохраните настройки BIOS и выйдите (обычно F10).

Это было протестировано на ноутбуке Samsung Series 7 Chronos с двойной загрузкой Windows 8 и Ubuntu 13.10, отключена безопасная загрузка, включена UEFI и устаревшая загрузка.

Ремонт загрузки сработал для меня. Это очень простое в использовании графическое приложение, вам не нужно использовать командную строку, вам нужно только нажать кнопку :)

Все доступные варианты ремонта описаны в Документация Ubuntu и есть отдельная страница объяснение того, как запустить восстановление загрузки (путем создания загрузочного диска или установки его на существующий живой диск Ubuntu) и как его использовать.

Просто загрузите Ubuntu live CD, установите Boot-Repair и запустите его.

Ответы, данные Скоттом и Web-E, достаточно хороши и много раз очень помогали. Но часто средство восстановления загрузки не может восстановить grub из-за проблем, связанных с платформой i386 и amd64, или из-за того, что grub не может найти efi каталог.
Что решало мою проблему более 10 раз, так это ручная очистка старых установок grub и установка новой.

Итак, сначала выполните первые 6 шагов из Скотта ответ где вы можете пропустить 5-й шаг, если он выдает ошибку:

  1. Загрузитесь с live CD или live USB в режиме "Попробуйте Ubuntu".
  2. Определите номер раздела вашего основного раздела. sudo fdisk -l, sudo blkid или GParted (который по умолчанию уже должен быть установлен в сеансе live) может помочь вам здесь. Я собираюсь предположить в этом ответе, что это /dev/sda2, но убедитесь, что вы используете правильный номер раздела для вашей системы!

    Если ваш основной раздел находится в LVM, вместо этого устройство будет расположено в /dev/mapper/, скорее всего, /dev/mapper/{volume}--{os}-root где {volume} является именем тома LVM и {os} это операционная система. Выполнять ls /dev/mapper для точного названия.

  3. Смонтируйте свой раздел:

    sudo mount /dev/sda2 /mnt  #Replace sda2 with the partition from step 2

    Если у вас есть отдельный /boot, /var или /usr перегородки, повторите шаги 2 и 3, чтобы смонтировать эти разделы на /mnt/boot, /mnt/var и /mnt/usr соответственно. Например,

    sudo mount /dev/sdXW /mnt/bootsudo mount /dev/sdXY /mnt/varsudo mount /dev/sdXZ /mnt/usr

    заменяющий sdXW, sdXY, и sdXZ с соответствующими номерами разделов.

  4. Привязать смонтировать некоторые другие необходимые вещи:

    for i in /sys /proc /run /dev; do sudo mount --bind "$i" "/mnt$i"; done
  5. Если Ubuntu установлена в режиме EFI ([смотрите Этот ответ, если вы не уверены] [efi]), используйте sudo fdisk -l | grep -i efi или GParted, чтобы найти ваш раздел EFI. На нем будет надпись EFI. Смонтируйте этот раздел, заменив sdXY с фактическим номером раздела для вашей системы:

    sudo mount /dev/sdXY /mnt/boot/efi
  6. chroot в вашу установку Ubuntu:

    sudo chroot /mnt

Затем выполните следующие действия:

  1. Настройте все ожидающие пакеты.
    sudo dpkg --configure -a
  2. Исправьте сломанные пакеты.
    sudo apt install -fy
  3. Удалите текущую личинку.
    sudo apt purge -y grub*-common grub-common:i386 shim-signed
    Это может выдать вам предупреждение о том, что ваше устройство не будет иметь загрузчика и может не загрузиться в следующий раз. Идите вперед и примите это.
  4. sudo apt install -y grub-pc
    После выполнения этой команды вам будет предложено указать текущий sdXY для установки загрузчика. Найдите, где установлена ваша текущая ОС, используя sudo fdisk -l команда. Он будет помечен как Linux. Перейдите по этому окну, используя Tab нажмите и выберите опцию, используя Space ключ.
  5. Если все пойдет правильно, grub будет установлен правильно. Вы также можете сделать sudo grub-update для двойной проверки.

Если проблема все еще сохраняется, вы можете прочитать Вики-страница арки чтобы на самом деле понять, что такое grub, для решения многих других проблем. (Да, также помогает для Ubuntu!).

Когда GRUB сломан, пользователь обычно не имеет доступа к системам, поэтому восстановление должно выполняться из live-сеанса (live-CD или live-USB).

Существует множество возможных причин сбоя GRUB: запись Windows на MBR, DRM, препятствующая правильной установке GRUB, ошибка установщика, изменение оборудования...Обновления GRUB, предложенного первоначально Скоттом, как правило, недостаточно, переустановка GRUB, предложенная Марко, более эффективна, но все же существуют различные ситуации, требующие других настроек (добавление опций в ядро, отображение меню GRUB, изменение параметров GRUB, выбор правильной архитектуры хоста ...). Другие трудности при восстановлении GRUB заключаются в использование chroot и выбор правильных разделов / дисков.

Все это было упрощено с помощью небольшого графического инструмента: Ремонт ботинок. Он должен быть интегрирован в Ubuntu 12.04 CD для упрощения использования, но для тех, кто нуждается в нем сейчас, уже есть несколько дистрибутивов, интегрирующих его: Ubuntu-Secure-Remix (Ubuntu CD интегрирует Boot-Repair), Boot-Repair-Disk (CD запускает Boot-Repair при запуске), ...

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

Оказывается, grub тоже можно исправить из Windows. Выполнив следующее (от имени администратора) из CMD, я вернул мне меню grub.

bcdedit /set {bootmgr} path \EFI\ubuntu\grubx64.efi

Связанный (когда GRUB был установлен на MBR * неправильного диска*): Проблема со спасением Grub после установки ubuntu

ПРИМЕЧАНИЕ: принятый ответ - это общая инструкция о том, как восстановить grub. Это также применимо к широкому спектру обстоятельств, когда установщик неправильно записывает GRUB (повсеместность).

Я думаю, что это обычная задача, у меня также есть два жестких диска и Ubuntu + Windows. Я надеюсь, что вы сможете починить его правильным способом. Попробуйте следовать этому учебное пособие. Любые вопросы, задавайте мне!

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

Я знаю, что это старая тема, но я устранил проблему, изменив режим загрузки в bios с UEFI на устаревший.