Я установил Windows 7, которая съела загрузочный файл Ubuntu. При запуске компьютера он теперь переходит прямо в Windows, не давая мне возможности загрузить Ubuntu.
Как я могу вернуть Ubuntu обратно?
Я установил Windows 7, которая съела загрузочный файл Ubuntu. При запуске компьютера он теперь переходит прямо в Windows, не давая мне возможности загрузить Ubuntu.
Как я могу вернуть Ubuntu обратно?
Когда вы устанавливаете Windows, Windows предполагает, что это единственная операционная система (ОС) на компьютере, или, по крайней мере, она не учитывает Linux. Таким образом, он заменяет GRUB своим собственным загрузчиком. Что вам нужно сделать, так это заменить загрузчик Windows на GRUB. Я видел различные инструкции по замене GRUB с помощью команд GRUB или чего-то подобного, но для меня самый простой способ - просто chroot
в вашу установку и запустите update-grub
. chroot
это здорово, потому что это позволяет вам работать над вашей фактической установкой, вместо того, чтобы пытаться перенаправлять вещи туда и сюда. Это действительно чисто.
Вот как это делается:
Определите номер раздела вашего основного раздела. sudo fdisk -l
, sudo blkid
или GParted (который по умолчанию уже должен быть установлен в сеансе live) может помочь вам здесь. Я собираюсь предположить в этом ответе, что это /dev/sda2
, но убедитесь, что вы используете правильный номер раздела для вашей системы!
Если ваш основной раздел находится в LVM, вместо этого устройство будет расположено в /dev/mapper/
, скорее всего, /dev/mapper/{volume}--{os}-root
где {volume}
является именем тома LVM и {os}
это операционная система. Выполнять ls /dev/mapper
для точного названия.
Смонтируйте свой раздел:
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
с соответствующими номерами разделов.
Привязать смонтировать некоторые другие необходимые вещи:
for i in /sys /proc /run /dev; do sudo mount --bind "$i" "/mnt$i"; done
Если Ubuntu установлена в режиме EFI (посмотрите этот ответ, если вы не уверены), использовать sudo fdisk -l | grep -i efi
или GParted, чтобы найти ваш раздел EFI. На нем будет надпись EFI
. Смонтируйте этот раздел, заменив sdXY
с фактическим номером раздела для вашей системы:
sudo mount /dev/sdXY /mnt/boot/efi
chroot
в вашу установку Ubuntu:
sudo chroot /mnt
На данный момент вы находитесь в своей установке, а не в живом сеансе, и работаете от имени root. Обновить личинку:
update-grub
Если вы получаете ошибки или переход к шагу 7 не устранил вашу проблему, перейдите к шагу 8. (В противном случае это необязательно.)
В зависимости от вашей ситуации вам, возможно, придется переустановить grub:
grub-install /dev/sdaupdate-grub # In order to find and add windows to grub menu.
Если Ubuntu установлена в режиме EFI, а UUID раздела EFI изменился, вам может потребоваться обновить его в /etc/fstab
. Сравните это:
blkid | grep -i efigrep -i efi /etc/fstab
Если UUID текущего раздела EFI (из blkid
) отличается от того , что в /etc/fstab
, обновление /etc/fstab
с текущим UUID.
Если все сработало без ошибок, то у вас все готово:
exitsudo reboot
На этом этапе вы должны быть в состоянии нормально загрузиться.
Если вы не можете нормально загрузиться и не выполнили шаг 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
.
Дополнительная информация - 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
Нажмите Применить и перезагрузите систему
Способ 2
Просто установите easyBCD
в Windows 7 и выполните
>>>Добавить новую запись Linux/BSD (выбрать) Grub2 (нажать) Добавить запись
Тогда вы можете выбрать Ubuntu в загрузчике Windows 7, чтобы перейти к Grub2 (предыдущий загрузчик).
В системах на базе EFI (таких как большинство систем, поставляемых с Windows 8 или более поздней версией) Windows иногда обновляет свой загрузчик или сбрасывает его, чтобы он был загрузчиком по умолчанию. Это особенно часто встречается при переустановке операционной системы или выполнении основного обновления системы (например, обновление до последней версии Windows). Обратите внимание, что Windows вряд ли действительно удалит какие-либо файлы GRUB на компьютере на базе EFI. Все необходимое для загрузки Ubuntu все еще на месте; его просто обходят стороной. В этих случаях полная переустановка GRUB является излишеством, и на самом деле это несет в себе (небольшую) вероятность того, что это создаст новые проблемы.
Таким образом, вместо переустановки GRUB в этих случаях я рекомендую сбросить GRUB (или любой другой загрузчик или менеджер загрузки, который вы предпочитаете) по умолчанию. Есть несколько способов сделать это, в том числе:
ubuntu
запись в списке параметров загрузки и переместите ее в начало списка. При следующей перезагрузке должен появиться GRUB. (Если вы используете что-то другое, кроме GRUB, вам нужно будет найти его запись.)bcdedit
-- Окна bcdedit
инструмент можно использовать для установки GRUB в порядок загрузки по умолчанию. Команда bcdedit /set {bootmgr} path \EFI\ubuntu\grubx64.efi
, напечатанный в Администратор Окно командной строки, сделает это; однако, если ваш компьютер загружается с активной безопасной загрузкой, bcdedit /set {bootmgr} path \EFI\ubuntu\shimx64.efi
вместо этого потребуется. На самом деле, последняя команда будет обычно работает, даже если безопасная загрузка не используется, поэтому я бы сначала использовал эту команду. Обратите внимание, что существует более продвинутый инструмент оболочки Windows, который требует немного другого синтаксиса, чем я представил, но я не помню подробностей.ubuntu
запись для загрузки Ubuntu появится в этом меню диспетчера загрузки, что позволит вам загрузиться в Ubuntu. В качестве альтернативы вы можете загрузиться с аварийного носителя Ubuntu, например, установщик загрузился в режиме "попробуйте перед установкой". В любом случае, затем вы можете использовать efibootmgr
чтобы настроить порядок загрузки:sudo efibootmgr
чтобы просмотреть загрузочные записи.BootOrder
линия.ubuntu
и обратите внимание на его Boot####
номер.sudo efibootmgr -o xxxx[,yyyy,zzzz,....]
чтобы изменить порядок загрузки, сделав xxxx
номер для Ubuntu. То, что происходит после этого, скорее всего, не очень важно, хотя я отметил, что Windows, скорее всего, добавит себя обратно в начало порядка загрузки, если ее нет в списке. Таким образом, вам, вероятно, следует убедиться, что Windows находится в списке, и, возможно, будет безопаснее изменить порядок списка так, чтобы все исходные записи были там, просто с ubuntu
запись переместилась в начало списка.Существуют и другие варианты этих процедур, такие как использование bcfg
в оболочке EFI, используя bless
в macOS, используя мой Уточните чтобы выполнить одноразовую загрузку и т.д. Однако я бы начал с EasyUEFI; скорее всего, это будет самое простое решение. Однако иногда Windows настаивает на том, чтобы устанавливать себя по умолчанию при каждом запуске, и отчеты показывают, что bcdedit
может лучше справиться с этой проблемой.
Обратите внимание, что ничто из вышеперечисленного не относится к установкам в режиме BIOS; однако, поскольку большинство компьютеров, поставляемых с Windows 8 или более поздней версией, загружаются в режиме EFI, установки в режиме BIOS становятся все более редкими, поэтому во многих случаях лучше решать проблему способом EFI, а не слепо повторно-установка GRUB.
Теперь есть более простое решение:
Это было протестировано на ноутбуке 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-й шаг, если он выдает ошибку:
- Загрузитесь с live CD или live USB в режиме "Попробуйте Ubuntu".
Определите номер раздела вашего основного раздела.
sudo fdisk -l
,sudo blkid
или GParted (который по умолчанию уже должен быть установлен в сеансе live) может помочь вам здесь. Я собираюсь предположить в этом ответе, что это/dev/sda2
, но убедитесь, что вы используете правильный номер раздела для вашей системы!Если ваш основной раздел находится в LVM, вместо этого устройство будет расположено в
/dev/mapper/
, скорее всего,/dev/mapper/{volume}--{os}-root
где{volume}
является именем тома LVM и{os}
это операционная система. Выполнятьls /dev/mapper
для точного названия.Смонтируйте свой раздел:
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
с соответствующими номерами разделов.Привязать смонтировать некоторые другие необходимые вещи:
for i in /sys /proc /run /dev; do sudo mount --bind "$i" "/mnt$i"; done
Если Ubuntu установлена в режиме EFI ([смотрите Этот ответ, если вы не уверены] [efi]), используйте
sudo fdisk -l | grep -i efi
или GParted, чтобы найти ваш раздел EFI. На нем будет надписьEFI
. Смонтируйте этот раздел, заменивsdXY
с фактическим номером раздела для вашей системы:sudo mount /dev/sdXY /mnt/boot/efi
chroot
в вашу установку Ubuntu:sudo chroot /mnt
Затем выполните следующие действия:
sudo dpkg --configure -a
sudo apt install -fy
sudo apt purge -y grub*-common grub-common:i386 shim-signed
sudo apt install -y grub-pc
sdXY
для установки загрузчика. Найдите, где установлена ваша текущая ОС, используя sudo fdisk -l
команда. Он будет помечен как Linux
. Перейдите по этому окну, используя Tab нажмите и выберите опцию, используя Space ключ. 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 на устаревший.