Двойная загрузка Ubuntu 12.10 в UEFI в Windows 8 (GRUB - ошибка: невозможно найти карту диска с командой)

Здравствуйте, после успешной установки Ubuntu 12.10 amd64, я не могу загрузить Windows 8.

Вот мои действия:

  1. Освободили место (15 ГБ) для Ubuntu из Windows 8 Computer Managment
  2. Загрузите Ubuntu 12.10 amd64 LiveUSB с EFI и с включенной безопасной загрузкой
  3. В конце создано 2 новых раздела (13 ГБ, Ext4 Root и 2 ГБ, своп)
  4. Выбранный системный раздел Windows 8 EFI для установки загрузчика

Grub дает мне при загрузке:

  1. Ubuntu (работает без проблем)
  2. Среда восстановления Windows (много ошибок)
  3. Windows 8 (2 сообщения об ошибках описаны чуть ниже)

2 сообщения об ошибках:

  • error: can't find command drivemap.
  • error: invalid EFI file path

6 ответов

Решение

Я нашел временное решение.

Добавить пользовательскую запись в загрузочное меню GRUB

Добавьте приведенный ниже код к /etc/grub.d/40_custom,

menuentry "Windows 8" {
    insmod part_gpt
    insmod chain
    set root='(hd0,gpt1)'
    chainloader /EFI/microsoft/BOOT/bootmgfw.efi
}

Вы можете использовать Ctrl+Alt+T, чтобы открыть терминал и запустить sudo nano /etc/grub.d/40_custom, затем скопируйте и вставьте код. Наконец, нажмите Ctrl+O, чтобы сохранить, и Ctrl+X, чтобы выйти.

Берегись: hd0,gpt1 вот идентификатор моего системного раздела EFI (ESP). Если ваш ESP не является первым разделом на вашем первом жестком диске во время загрузки, тогда ваш другой! Например hd1,gpt2 для второго раздела на втором диске.

замещать part_gpt с part_msdos если диск использует MBR и устаревшие разделы, а также изменить hd0,gpt1 в hd0,msdos1 соответственно.

Применить изменения к GRUB

Просто запустите следующую команду, которая должна сгенерировать новую конфигурацию GRUB, включая новую пользовательскую запись:

sudo update-grub

Теперь перезагрузите компьютер, теперь вы сможете загрузить Windows 8. Если нет, и Windows жалуется на испорченную конфигурацию BCD, то продолжайте на суперпользователе: Как я могу восстановить загрузчик Windows 8 EFI?


Предупреждение. В некоторых случаях при загрузке Windows 8 GRUB будет заменен диспетчером загрузки Windows в качестве менеджера загрузки по умолчанию.

Неправильные записи Windows в GRUB связаны с этой ошибкой: https://bugs.launchpad.net/ubuntu/+source/grub2/+bug/1024383

Решение: запустить Boot-RepairRecommended Repair с liveCD (или liveUSB).

"Переопределить загрузку" - это меню на вкладке "Загрузка" меню конфигурации материнских плат. Он позволяет вам мгновенно выбрать и запустить любой загрузчик, установленный на вашей установке.

У меня та же проблема на моем ноутбуке Asus-x202 (под управлением W8 и Ubuntu 13.04).

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

У меня похожая проблема с моим новым HP Pavillion Sleekbook, модель 15-b142dx. Это прибыло с W8, предварительно загруженным. Я смог изменить размер раздела Windows изнутри Windows, затем установил 64-битную Ubuntu 13.04 с флешки. Однако при перезагрузке W8 запустился нормально, без загрузочного меню. Итак, я использовал "boot-repair", что делало систему не загружаемой. При запуске он напечатает:

Failed to open \EFI\Microsoft\Boot\grubx64.efi - 800000000000000E 
Failed to load grub
Failed to open \EFI\BOOT\grubx64.efi - 800000000000000E
Failed to load grub
Failed to open \EFI\BOOT\grubx64.efi - 800000000000000E
Failed to load grub

Это тогда закрылось бы.

После некоторых проб и ошибок я обнаружил, что нажатие клавиши F10 во время загрузки приведет меня в BIOS, где я могу отключить безопасную загрузку. При следующей загрузке я получил длинное меню от grub, с большим количеством записей, таких как:

Windows UEFI bkpbootmgfw.efi
Windows Boot UEFI loader
EFI/HP/BIOSUpdate/CryptRSA32.efi
.
.
.

Все они содержались в файле "/etc/grub.d/25_custom". Я сделал резервную копию этого файла, затем удалил все записи, кроме загрузчика UEFI Windows Boot. (Это одна из записей, которая позволяет W8 загружаться). Затем я запустил "update-grub", и получил гораздо более приятное меню загрузки, и могу загрузить любую ОС.

Я нашел способ закрыть Windows 8. См. https://superuser.com/questions/499923/preinstalled-windows-8-and-linux-uefi-dual-boot-on-a-laptop/528581

Под W8 в окне команд с повышенными привилегиями запустите powercfg / h off. К тому времени, когда вы это сделаете, W8 уже может перезаписать раздел EFI. Мне потребовалось несколько итераций, чтобы изменить bootmgfw.efi и сбросить его, пока он не застрял, но теперь я счастлив.

Я не могу сказать, достаточно ли просто загрузки W8, или вам нужно войти в систему, а затем перезагрузиться. Возможно, кто-то с большим терпением (я работал над этим больше половины дня) может сказать.

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