LINUX.ORG.RU

Установка debian на EFI GPT в дуалбут через bootmgr


0

1

Есть ноут, на нем семерочка x64 стоит на GPT разделах. Ее сносить нельзя, как и ее загрузчик, по-этому нужно как-то через него грузить граб.

Ну, нагуглившись про bcdedit.exe, смело ставлю debian stable x64 на sda6, выбираю раздел для установки граба тот-же sda6, в mbr диска не ставлю. Далее, забыв что у меня GPT, беру первые 512 байт от sda6 и подсовываю их bcdedit в винде, создав новую загрузочную запись.

dd if=/dev/sda6 of=/linux.bin bs=512 count=1
bcdedit /create /d Debian /application BOOTSECTOR
bcdedit /set {ID} device partition=c:
bcdedit /set {ID} path \linux.bin
bcdedit /displayorder {ID} /addlast
bcdedit /timeout 5

Естественно, при выборе Debian, ругается что он поврежден или не найден. Кусок граба из дебиана после установки:

menuentry 'Debian GNU/Linux, with Linux 2.6.32-5-amd64' --class debian --class gnu-linux --class gnu --class os {
	insmod part_gpt
	insmod ext2
	set root='(hd0,gpt6)'
	search --no-floppy --fs-uuid --set e5540dfb-e0eb-434b-b7e7-40ff82ae8c54
	linux	/boot/vmlinuz-2.6.32-5-amd64 root=UUID=e5540dfb-e0eb-434b-b7e7-40ff82ae8c54 ro  quiet
	initrd	/boot/initrd.img-2.6.32-5-amd64
}
Таблица разделов:
sda1 - EFI раздел 100М
sda2 - Раздел с загрузчиком винды
sda3 - Винда С: ntfs
sda4 - D: ntfs
sda5 - E: ntfs
sda6 - debian ext4

Есть идеи, как загрузить дебиан?


Ее сносить нельзя, как и ее загрузчик, по-этому нужно как-то через него грузить граб.

А почему нельзя поставить grub-efi и грузить семёрку через него?

AITap ★★★★★ ()
Ответ на: комментарий от AITap

А можно сделать так, чтобы было не заметно что грузится граб? И разве дебиан сам не определит, что нужно ставить grub-efi? Нужно отдельно ставить?

Aneko ()
Ответ на: комментарий от AITap

Ах да, файлы, из которых можно попытаться загрузить GRUB2, не получаются из MBR (то, что ставится в MBR, пытается найти свои данные в секторах между MBR и первым разделом, но их там нет), а хранятся в /boot/grub/*.img. Попробуйте загрузить bootmgr'ом один из этих файлов.

AITap ★★★★★ ()
Ответ на: комментарий от AITap

Попробовал все *.img файлы, результат не изменился.

Можно конечно через grub попробовать грузить, но хотелось бы всетаки через виндовый загрузчик.

Aneko ()
Ответ на: комментарий от Aneko

Тогда попробуйте поставить GRUB2 на раздел (он предупредит, что это ненадёжно, но у меня это обычно работало), а bootmgr'у сказать, чтобы грузил загрузочный сектор раздела.

Почему нужен именно виндовый загрузчик?
Кстати, нет ли у EFI функции выбора загрузчика (что по этому поводу говорит программа efibootmgr)?

AITap ★★★★★ ()
Ответ на: комментарий от AITap

Тогда попробуйте поставить GRUB2 на раздел (он предупредит, что это ненадёжно, но у меня это обычно работало), а bootmgr'у сказать, чтобы грузил загрузочный сектор раздела.

Так в том то и дело, что я граб ставил на sda6, но рецепт с копированием первых 512 байт для GPT не подходит. Видимо нужна какая-то другая часть раздела, или кусок Primary GPT, хз.

Попробовал easyBCD, оно вообще не поняло мой диск, даже boot menu list пустым показывает

efibootmgr нету на partedmagic, проверить не могу.

Aneko ()
Ответ на: комментарий от Aneko

efibootmgr нету на partedmagic, проверить не могу.

mount /dev/sda6 /mnt
for f in dev sys proc; do mount -o bind /$f /mnt/$f; done
chroot /mnt - у Вы внутри Debian'а. Можно попробовать поиграть с grub-install, grub-mkimage, убедиться в том, что в системе установлен именно grub-efi.
Правда, без специального модуля ядра (efivars) efibootmgr работать не сможет.

Есть возможность запустить какой-нибудь livecd с kexec-tools (кстати, оказалось, что такие трудно найти; можно попробовать Finnix с доустановкой пакетов в запущенную систему или Tails) и через kexec - Debian с жёсткого диска?

Кстати, для нового ноутбука у Debian'а староватое ядро. Если что-то получится, стоит поставить более новое из http://backports.debian.org/

AITap ★★★★★ ()
Ответ на: комментарий от AITap

Скачал archboot, курю archwiki, но пока ничего не получается, только 1 раз удалось поломать виндовый загрузчик :)

Aneko ()

Вобщем все решилось заменой efi-шника от винды на грабовский. Без всяких efibootmgr.

Aneko ()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.