Двойная загрузка Ubuntu 12.10 в UEFI в Windows 8 (GRUB - ошибка: невозможно найти карту диска с командой)
Здравствуйте, после успешной установки Ubuntu 12.10 amd64, я не могу загрузить Windows 8.
Вот мои действия:
- Освободили место (15 ГБ) для Ubuntu из Windows 8 Computer Managment
- Загрузите Ubuntu 12.10 amd64 LiveUSB с EFI и с включенной безопасной загрузкой
- В конце создано 2 новых раздела (13 ГБ, Ext4 Root и 2 ГБ, своп)
- Выбранный системный раздел Windows 8 EFI для установки загрузчика
Grub дает мне при загрузке:
- Ubuntu (работает без проблем)
- Среда восстановления Windows (много ошибок)
- 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, или вам нужно войти в систему, а затем перезагрузиться. Возможно, кто-то с большим терпением (я работал над этим больше половины дня) может сказать.