Я установил 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" в тире, если вы используете 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 и устаревшая загрузка.