Личинка не показывает вариант Windows 8 после двойной загрузки

Так, я успешно загрузил двойным образом своя машина Windows 8 с Ubuntu 12.04. Однако у меня все еще нет удобного метода выбора что ОС загрузиться во время начальной загрузки.

После установки Ubuntu мой компьютер все еще загружает Windows 8 непосредственно. Я затем добавил grubx64.efi к белому списку моего загрузчика. Но после этого, моя машина загружается, Ubuntu непосредственно даже без тени выкапывают показ!

Я использовал восстановление начальной загрузки, и я получил этот paste.ubuntu URL: paste.ubuntu.com/1326074. После рабочего восстановления начальной загрузки (и перебелый список 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, я должен отметить), ничего не упоминает об этой проблеме. Есть ли что-нибудь там, что я не должен был делать?

25
задан 25 September 2014 в 01:32

7 ответов

Загрузитесь в Ubuntu с помощью CD,
Выберите «Try Ubuntu»,
Подключитесь к Интернету,
Откройте окно терминала, используя Ctrl - Alt - t и запустите: 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.

0
ответ дан 25 September 2014 в 01:32

Во-первых, ваш вывод 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 и установить его так, чтобы меню по умолчанию не отображалось.

0
ответ дан 25 September 2014 в 01:32

Оба ответа с /EFI/Microsoft/Boot/bootmgfw.efi подойдут. Однако я чертовски взломал, чтобы получить правильные настройки для set root='(hd0,gpt1)'. Если вы знаете, что это очень просто

Когда запускается GRUB: нажмите c и введите в ответ команду ls.
Вы получите список разделов на жестких дисках, таких как (hd0, gpt1) и т. Д.
Наберите ls (hd0, gpt1) и попробуйте остальные.
Посмотрите на этикетку, и если на ней написано EFI, вы знаете, что у вас есть хит.

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

0
ответ дан 25 September 2014 в 01:32

Мой окончательный обходной путь

(* Потому что Том не работал, а ссылка НикТа слишком сложная. Но, эй, спасибо за беспокойство!)

Установить ПОСМОТРЕТЬ [ 111].


Я принимаю свой собственный ответ, пока кто-то не укажет на возможный недостаток и исправление к нему или не решит мои проблемы (который, к сожалению, просто задает вопрос «Как установить 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) не имел этой проблемы.

0
ответ дан 25 September 2014 в 01:32

Попробуйте создать файл с именем /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 и перезагрузитесь.

Полное руководство

0
ответ дан 25 September 2014 в 01:32

Попробуйте запустить sudo update-grub. Надеемся, что это автоматически распознает Windows 8, добавит его в GRUB и перенастроит меню.

Если это не помогло, пожалуйста, поделитесь вашим файлом /etc/default/grub здесь, мы посмотрим.

0
ответ дан 25 September 2014 в 01:32
  1. Пожалуйста, скачайте Super Grub и следуйте его указаниям. Я никогда не ухожу из дома без этого. Очень полезно, когда меню grub не отображается.

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

  3. Он также может быть использован для ремонта окон. Поскольку вы можете загружаться только в Windows 8, вам нужно выбрать исправление для Linux.

Поиграйте с этим, но прочитайте инструкции. Через некоторое время вы почувствуете себя экспертом. RS

0
ответ дан 25 September 2014 в 01:32

Другие вопросы по тегам:

Похожие вопросы: