Grub не показывает опцию Windows 8 после двойной загрузки
Итак, я успешно загрузил Windows 8 с Ubuntu 12.04 . Тем не менее, у меня до сих пор нет удобного способа выбора ОС для загрузки во время загрузки.
После установки Ubuntu мой компьютер по-прежнему загружает Windows 8 напрямую. Затем я добавил grubx64.efi
в белый список моего загрузчика. Но после этого моя машина загружает Ubuntu напрямую, даже без тени GRUB!
Я использовал boot-repair и получил URL-адрес paste.ubuntu: http://paste.ubuntu.com/1326074. После запуска boot-repair (и повторного белого перечисления grubx64.efi
файл), GRUB теперь появляется, но без какой-либо опции Windows 8!
Наконец я побежал sudo fdisk -l
и это дало мне это:
WARNING: GPT (GUID Partition Table) detected on '/dev/sda'! The util fdisk doesn't support GPT. Use GNU Parted.
Disk /dev/sda: 750.2 GB, 750156374016 bytes
255 heads, 63 sectors/track, 91201 cylinders, total 1465149168 sectors
Units = sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 4096 bytes
I/O size (minimum/optimal): 4096 bytes / 4096 bytes
Disk identifier: 0x6396389f
Device Boot Start End Blocks Id System
/dev/sda1 1 1465149167 732574583+ ee GPT
Partition 1 does not start on physical sector boundary.
Я предполагаю, что моя проблема как-то связана с предупреждением от fdisk
выше, но я не знаю, что с этим делать. Как мне действовать сейчас?
редактировать
мой etc/default/grub
как следует:
# If you change this file, run 'update-grub' afterwards to update
# /boot/grub/grub.cfg.
# For full documentation of the options in this file, see:
# info -f grub -n 'Simple configuration'
GRUB_DEFAULT=0
#GRUB_HIDDEN_TIMEOUT=0
GRUB_HIDDEN_TIMEOUT_QUIET=true
GRUB_TIMEOUT=10
GRUB_DISTRIBUTOR=`lsb_release -i -s 2> /dev/null || echo Debian`
GRUB_CMDLINE_LINUX_DEFAULT="quiet splash"
GRUB_CMDLINE_LINUX=""
# Uncomment to enable BadRAM filtering, modify to suit your needs
# This works with Linux (no patch required) and with any kernel that obtains
# the memory map information from GRUB (GNU Mach, kernel of FreeBSD ...)
#GRUB_BADRAM="0x01234567,0xfefefefe,0x89abcdef,0xefefefef"
# Uncomment to disable graphical terminal (grub-pc only)
#GRUB_TERMINAL=console
# The resolution used on graphical terminal
# note that you can use only modes which your graphic card supports via VBE
# you can see them in real GRUB with the command `vbeinfo'
#GRUB_GFXMODE=640x480
# Uncomment if you don't want GRUB to pass "root=UUID=xxx" parameter to Linux
#GRUB_DISABLE_LINUX_UUID=true
# Uncomment to disable generation of recovery mode menu entries
#GRUB_DISABLE_RECOVERY="true"
# Uncomment to get a beep at grub start
#GRUB_INIT_TUNE="480 440 1"
Кроме того, просто для записи, это то, что я следовал при установке моей двойной загрузки. Учебник (который использует 11.10, я должен отметить) ничего не упоминает об этой проблеме. Есть ли что-то, чего я не должен был делать?
7 ответов
Во-первых, ваш fdisk -l
вывод не проблема; он просто идентифицирует ваш диск как использующий систему разбиения GUID Partition Table (GPT). Чтобы просмотреть свои разделы, вы должны вместо этого использовать инструмент с поддержкой GPT, такой как gdisk
или же parted
, скорее, чем fdisk
, который не понимает GPT.
Во-вторых, вы можете получить GRUB для загрузки Windows, добавив подходящую запись в /etc/grub.d/40_custom
а затем делать sudo update-grub
, Запись может выглядеть примерно так:
menuentry "Windows 8" {
set root='(hd0,gpt1)'
chainloader /EFI/microsoft/BOOT/bootmgfw.efi
}
Однако детали могут зависеть от вашей установки.
В-третьих, если вы считаете rEFInd уродливым, вы всегда можете попробовать другую тему rEFInd или создать свою собственную, как описано в документации по rEFInd. Кроме того, если вы предпочитаете загрузчик в текстовом режиме, вы можете установить textonly
вариант в refind.conf
, Вы можете достичь аналогичного результата, переключившись на gummiboot.
В-четвертых, если rEFInd периодически сообщает об ошибках, пожалуйста, запишите их или сделайте снимок экрана цифровой камерой и сообщите о них мне. (Я сопровождающий REFInd.) Ошибки не могут быть исправлены, если никто не сообщает о них; или, если они не являются ошибками в rEFInd, сообщения могут дать подсказки о том, как решить проблему.
Наконец, можно загрузить Linux через rEFInd (или gummiboot) без использования GRUB; вам просто нужен другой загрузчик EFI. Мое личное предпочтение - загрузчик заглушек EFI ядра Linux . Это доступно только в ядрах 3.3.0 и новее. Поскольку Ubuntu 12.04 поставляется с ядром 3.2.0, вам нужно либо найти предварительно собранный 3.3.0 для Ubuntu 12.04 (я слышал о таких вещах, но у меня нет удобных ссылок), либо собрать свой собственный из исходного кода. (Вы также можете установить Ubuntu 12.10, которая поставляется с подходящим ядром, но, по-видимому, вы хотите выпуск LTS, так что это может быть неоптимально.) Дополнительную информацию о том, как это настроить, смотрите на странице документации rEFInd по загрузке Linux. Вы также можете использовать ELILO или GRUB Legacy. Если вы просто возражаете против задержки, вы можете уменьшить значение тайм-аута GRUB 2 и установить его так, чтобы меню по умолчанию не отображалось.
Оба ответа с /EFI/Microsoft/Boot/bootmgfw.efi
сделал бы. Однако я взломал как черт, чтобы получить правильные настройки для set root='(hd0,gpt1)'
, Если вы знаете, это очень просто
Когда GRUB запускается: нажмите c, чтобы дать команду ls
на подсказку.
Вы получите список разделов на жестких дисках, таких как (hd0,gpt1) и т. Д.
Тип ls
(hd0,gpt1) и попробуйте остальные.
Посмотрите на этикетку, и если на ней написано EFI, вы знаете, что у вас есть хит.
Предупреждение: может быть больше разделов, помеченных EFI, в зависимости от того, как вы установили Ubuntu. Попробуйте все из них.
Загрузитесь в Ubuntu, используя CD,
Выберите "Попробуйте Ubuntu",
Подключиться к интернету,
Откройте окно терминала, используя Ctrl-Alt-t, и затем запустите: boot-repair
Если boot-repair не найден, установите его:
sudo add-apt-repository ppa:yannubuntu/boot-repair &&
sudo apt-get update &&
sudo apt-get install -y boot-repair &&
boot-repair
Нажмите Рекомендованный ремонт. Напишите на бумаге новый URL, который появится. Перезагрузите компьютер, вы должны получить меню GRUB с доступом к Ubuntu и Windows. Если возникнут проблемы, укажите новый URL.
Попробуйте запустить sudo update-grub
, Надеемся, что он автоматически распознает Windows 8, добавит его в GRUB и перенастроит меню.
Если это не помогло, пожалуйста, поделитесь /etc/default/grub
файл здесь, мы посмотрим.
Попробуйте сделать файл с именем /etc/grub.d/30_windows
который содержит это:
Тогда беги
#! /bin/bash
cat << EOF
menuentry "Windows 8" {
insmod part_gpt
insmod chain
set root='(hd0,gpt1)'
chainloader /EFI/Microsoft/Boot/bootmgfw.efi
}
EOF
sudo update-grub
и перезагрузите компьютер.
Мой окончательный обходной путь
(* Потому что у Тома ничего не вышло, а ссылка на NikTh слишком сложная. Но, эй, спасибо за беспокойство!)
Установите ОТПРАВИТЬ.
Я принимаю свой собственный ответ, пока кто-то не укажет на возможный недостаток и исправление или не решит мои проблемы (который, к сожалению, просто задает вопрос "Как легко установить Windows 8 в GRUB?").
(Редактировать 06.08.17: я в конечном итоге использовал rEFInd для решения этой проблемы (см. Принятый ответ выше).)
Далеко не идеальное решение, использование rEFInd кажется очень хакерской работой. С одной стороны, это выглядит некрасиво (извините за ссылку) и говорит мне, что доступ был запрещен для некоторых.efi ({ext2_x64, hfs_x64, iso9660_x64, reiserfs_x64}.efi) при запуске --- ничего критического, и исчезает с кнопкой Нажмите*. И, наконец, выбор Ubuntu efi по-прежнему загружает GRUB, что является совершенно ненужным шагом, по крайней мере, поскольку я не буду беспокоиться о сохранении нескольких версий ядра.
В итоге...
Плюсы: моя система более или менее работает так же, как мои двойные ботинки до UEFI. Минусы: это выглядит некрасиво, плюс увеличенное время загрузки.
* Я должен отметить, что этот rEFInd был установлен через install.sh
в моем разделе Ubuntu. Предыдущий опыт работы с rEFInd (настройка через Windows) не имел этой проблемы.
Пожалуйста, скачайте Super Grub и следуйте его указаниям. Я никогда не ухожу из дома без этого. Очень полезно, когда меню grub не отображается.
Вам нужно будет загрузить диск и загрузить его. Просто следуйте инструкциям, которые идут с ним.
Это может также использоваться, чтобы исправить окна также. Поскольку вы можете загружаться только в Windows 8, вы хотите выбрать исправление Linux.
Поиграйте с этим, но прочитайте инструкцию. Через некоторое время вы почувствуете себя экспертом. RS