У меня есть Surface Pro. Я перенес раздел восстановления с Surface Pro на флэш-накопитель USB. Я также установил GRUB2 на флешку с Ubuntu Live/Persistent (сначала я сделал резервную копию данных для восстановления Surface Pro !!). Я пытаюсь получить конфигурацию GRUB2, которая позволит мне загружаться с жесткого диска, загружаться в Windows 8 Recovery для Surface Pro и все, что связано с Ubuntu.

У меня есть все, что работает в Linux, я просто не могу заставить работать в Windows 8. Я пытался использовать chainloader, но я не совсем уверен, как. Кажется, EFI изменил все, что я думал о Grub. Также я не знаю, как получить правильные имена USB и Surface SSD для grub.

Вот скриншот файловой структуры на USB

Вот скриншот вывода 'ls' в командной строке grub (извините, взято с моего телефона).

Вот мой конфиг GRUB2:

if loadfont /boot/grub/font.pf2 ; then
    set gfxmode=auto
    insmod efi_gop
    insmod efi_uga
insmod gfxterm
    terminal_output gfxterm
fi

set menu_color_normal=white/black
set menu_color_highlight=black/light-gray

menuentry "Boot from Harddrive" { // this one does not work
  set root=(hd0,1)
  chainloader (hd0,1)
}
menuentry "Ubuntu 13.04 Persistent" {
  set gfxpayload=keep
  linux /casper/vmlinuz.efi  persistent file=/cdrom/preseed/ubuntu.seed boot=casper quiet splash --
  initrd    /casper/initrd.lz
}
menuentry "Ubuntu 13.04 Live" {
  set gfxpayload=keep
  linux /casper/vmlinuz.efi  file=/cdrom/preseed/ubuntu.seed boot=casper quiet splash --
  initrd    /casper/initrd.lz
}
menuentry "Install Ubuntu 13.04" {
  set gfxpayload=keep
  linux /casper/vmlinuz.efi  file=/cdrom/preseed/ubuntu.seed boot=casper only-ubiquity quiet splash --
  initrd    /casper/initrd.lz
}
menuentry "File Integrity Check" {
  set gfxpayload=keep
  linux /casper/vmlinuz.efi  boot=casper integrity-check quiet splash --
  initrd    /casper/initrd.lz
}
menuentry "Memory Test" {
  set gfxpayload=keep
  linux /casper/mt86plus
}

Теперь, если вы спросите, какого черта я делаю это, в основном это для того, чтобы попытаться узнать больше о GRUB и понять его, но также, если я получу его работу, у меня будет USB, который я могу использовать для Ubuntu, когда захочу и это все еще удваивается как мое восстановление для моей Поверхности. Если все пойдет хорошо, я подумываю даже об установке Ubuntu на Surface для двойной загрузки.

1 ответ1

1

Инструмент Boot Repair может решить проблему. Если вы хотите сделать это вручную, вам нужно создать запись в /etc/grub.d/40_custom для загрузки Windows. Часто работает что-то вроде следующего, но вам нужно настроить детали, такие как номер раздела:

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

Также помните, что GRUB очень сложен в настройке; то, что хорошо работает на одном компьютере, часто терпит неудачу на другом. Таким образом, я не могу обещать, что вышеуказанная запись будет работать для вас.

Другой вариант - переключиться с GRUB на другой менеджер загрузки EFI. Для двойной загрузки с Linux и Windows, rEFInd и gummiboot наиболее просты в настройке. Обратите внимание, что если вы загружаетесь с включенной безопасной загрузкой, gummiboot не может работать с shim, и версия shim, которую использует Ubuntu, не будет работать ни с одним из этих менеджеров загрузки, поэтому вам придется либо обновить до shim 0.2 или позже, или замените прокладку на PreLoader.

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .