Сначала я объясню свою ситуацию
- Устройство: ASUS x205ta с 32 ГБ eMMC (установлена Windows 8.1+Bing). Давайте назовем это
/dev/mmcblk0
- флешка: 64Гб Sandisk ultra. установлен Ubuntu 14.04. Давайте назовем это
/dev/sda
проверить результат parted -l
root@chkwag-X205TA:/home/chkwag# parted -l
Model: SanDisk SanDisk Ultra (scsi)
Disk /dev/sda: 31.6GB
Sector size (logical/physical): 512B/512B
Partition Table: gpt
Number Start End Size File system Name Flags
1 1049kB 2048MB 2047MB linux-swap(v1)
2 2048MB 2147MB 99.6MB fat32 boot
3 2147MB 31.6GB 29.5GB ext4
Error: /dev/mmcblk0rpmb: unrecognised disk label
Error: /dev/mmcblk0boot0: unrecognised disk label
Error: /dev/mmcblk0boot1: unrecognised disk label
Model: MMC SDW32G (sd/mmc)
Disk /dev/mmcblk0: 31.3GB
Sector size (logical/physical): 512B/512B
Partition Table: gpt
Number Start End Size File system Name Flags
1 1049kB 106MB 105MB fat32 EFI system partition boot
2 106MB 240MB 134MB Microsoft reserved partition msftres
3 240MB 20.5GB 20.3GB ntfs Basic data partition msftdata
4 20.5GB 31.3GB 10.7GB ntfs Basic data partition hidden, diag
У eMMC и флэш-накопителя есть ESP (формат: FAT32). В настоящее время я загружаю Ubuntu через GRUB2 (с именем bootia32.efi
) в ESP флэш-накопителя usb, добавляя пункт меню UEFI, указывающий на этот файл bootia32.efi
(запись grub-stable
ниже)
проверить пункты меню UEFI:
root@chkwag-X205TA:/home/chkwag# efibootmgr -v
BootCurrent: 0004
Timeout: 2 seconds
BootOrder: 0005,0007,0006,000C,0000,0001,0002,0003
Boot0000* Windows Boot Manager HD(1,800,32000,321f056d-350b-44ac-ac85-b19a4fac6b77)File(\EFI\MICROSOFT\BOOT\BOOTMGFW.EFI)WINDOWS.........x...B.C.D.O.B.J.E.C.T.=.{.9.d.e.a.8.6.2.c.-.5.c.d.d.-.4.e.7.0.-.a.c.c.1.-.f.3.2.b.3.4.4.d.4.7.9.5.}...e................
Boot0001* UEFI:CD/DVD Drive BIOS(81,0,00)
Boot0002* UEFI:Removable Device BIOS(82,0,00)
Boot0003* UEFI:Network Device BIOS(83,0,00)
Boot0005* grub_stable HD(2,3d0800,2f800,97a32bdd-cbf7-4583-a071-d205f5134f43)File(\EFI\BOOT\bootia32.efi)
Boot0006* fakeMS HD(1,800,32000,321f056d-350b-44ac-ac85-b19a4fac6b77)File(\EFI\FAKE_MS\BOOT\BOOTMGFW.EFI)
Boot0007* grub1 HD(1,800,32000,321f056d-350b-44ac-ac85-b19a4fac6b77)File(\EFI\GRUB32.EFI)
Boot000C* UEFI: SanDisk SanDisk Ultra PMAP ACPI(a0341d0,0)PCI(14,0)USB(2,0)USB(2,0)HD(2,3d0800,2f800,97a32bdd-cbf7-4583-a071-d205f5134f43)..BO
root@chkwag-X205TA:/home/chkwag#
В смысле построения системы с двойной загрузкой этого достаточно, но я хотел бы пойти дальше и получить прошивку UEFI для загрузки GRUB2 из ESP eMMC (просто персональный квест). Для этого я просто скопировал bootia32.efi
который я использовал ранее в ESP eMMC, и сделал пункт меню UEFI, явно загружающий этот файл. (запись с именем grub1
. grub32.efi
- это просто переименованная версия bootia32.efi
)
Теоретически я считаю, что это правильно. Однако, когда я использую этот пункт меню UEFI, я не буду работать, а просто выполню оригинальный менеджер загрузки Windows, также расположенный в том же ESP.
Я сделал все, что мог, например, переименовал bootia32.efi
во что-то другое или заменил оригинальный менеджер загрузки Windows (bootmgfw.efi
) на bootia32.efi
с тем же именем. Но все попытки провалились.
Как я уже сказал, если все настроено правильно в соответствии с теорией, то чего мне не хватает? Что еще может игнорировать мой пункт меню UEFI, который загружает GRUB2 и просто решает загрузить менеджер загрузки Windows? Или, как еще одна возможность, bootia32.efi
в ESP eMMC каким-то волшебным образом не работает?
порядок загрузки здесь не должен быть проблемой, так как если мой пункт меню правильный, то нет необходимости переходить к следующему порядку загрузки. Кроме того, я подтвердил, что загрузка только одного bootia32.efi
все равно должна дать мне GRUB2 с интерфейсом командной строки, если grub.cfg
не найден поблизости.