LINUX.ORG.RU

Ошибка device is not bootable для gentoo

 ,


0

3

здравствуйте, устанавливал gentoo по мануалу: https://wiki.gentoo.org/wiki/Handbook:AMD64/Full/Installation/ru ошибок нет,все нормально было, пока перезагрузку не сделал... пишет, дескать, device is not bootable. ставил на диск sda, первые два - с виндой, sda4 делал как boot, sda3 - для всего остального... команда lsblk(из другой оси на другом диске):

NAME MAJ:MIN RM SIZE RO TYPE MOUNTPOINT sda 8:0 0 931,5G 0 disk ├─sda1 8:1 0 100M 0 part ├─sda2 8:2 0 439,4G 0 part ├─sda3 8:3 0 491,6G 0 part └─sda4 8:4 0 500M 0 part sdb 8:16 0 931,5G 0 disk ├─sdb1 8:17 0 500M 0 part /boot └─sdb2 8:18 0 931G 0 part ├─centos-root 253:0 0 50G 0 lvm / ├─centos-swap 253:1 0 7,8G 0 lvm [SWAP] └─centos-home 253:2 0 873,2G 0 lvm /home sdc 8:32 1 7,3G 0 disk

Однако fdisk -l /dev/sda показывает следующее:
Устр-во Загр Начало Конец Блоки Id Система /dev/sda1 2048 206847 102400 7 HPFS/NTFS/exFAT /dev/sda2 206848 921599999 460696576 7 HPFS/NTFS/exFAT /dev/sda3 922624000 1953523711 515449856 83 Linux /dev/sda4 * 921600000 922623999 512000 b W95 FAT32

a parted /dev/sda print следующее:

Номер Начало Конец Размер Тип Файловая система Флаги 1 1049kB 106MB 105MB primary ntfs 2 106MB 472GB 472GB primary ntfs 4 472GB 472GB 524MB primary fat32 загрузочный 3 472GB 1000GB 528GB primary ext4

помогите... что не так? комп с UEFI

Не так то, что у тебя boot стоит не на sda4, а на sda3, а ты хочешь загрузиться с sda4, вот BIOS и ругается, что ты хочешь заставить его грузить с партишна, который не помечен как тот, с которого нужно грузить что-либо.

r3lgar ★★★★★ ()

Вы разбили диск в старом формате (MBR), UEFI не поддерживает загрузку с винчестеров с MBR.

Переключите в биосе загрузку в leagacy мод, или переразбейте диск в GPT и поставте EFI загрузчик ...

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

а как вы определили что стоит на sda3? везде ж стоит на sda4 загрузка вроде

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

Переключите в биосе загрузку в leagacy мод, или переразбейте диск в GPT и поставте EFI загрузчик ...

а как переразбить диск в gpt когда уже ось установлена? и разве grub2 не подходит для uefi?

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

а как вы определили что стоит на sda3? везде ж стоит на sda4 загрузка вроде

Ты вообще выхлоп, который запостил, сам-то читал?

/dev/sda4 * 921600000 922623999 512000 b W95 FAT32
4 472GB 472GB 524MB primary fat32 загрузочный

Также следует заметить, что несколько boot не может быть на одном диске. То есть или у тебя будет работать esp (EFI партишн, с которого грузится всё остальное), или легаси. Тебе проще установить линуксы в EFI-режиме.

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

Сходи по ссылке у меня в профиле, там про UEFI много чего написано, может полезного для себя найдёшь.

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

UEFI не поддерживает загрузку с винчестеров с MBR.

Не надо вызывающе неверной информации. UEFI умеет грузить с MBR.

Переключите в биосе загрузку в leagacy мод

Тогда у него отвалится венда, которая установлена в EFI режиме.

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

/dev/sda4 * 921600000 922623999 512000 b W95 FAT32 4 472GB 472GB 524MB primary fat32 загрузочный

а что не так то?) и там и там - 4 раздел загрузочный же...

Тебе проще установить линуксы в EFI-режиме

алгоритм действия не могу составить... мне снести grub2? и поставить efibootmgr какой-нибудь?

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

/dev/sda4 * 921600000 922623999 512000 b W95 FAT32
/dev/sda4

При чем здесь sda3?

Другое дело, что у него физически sda4 расположен перед sda3, что ИМХО неправильно, но должно работать.

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

При чем здесь sda3?

Это я попутал. Я хотел сказать, что бут стоит на sda4, а линукс на sda3, насколько я вижу.

физически sda4 расположен перед sda3

Тут логика состоит в том, что нумеруются партишны не по порядку расположения, а по порядку создания.

но должно работать

Работать-то должно, только если ты пытаешься загрузиться с не-boot партишна, то придётся обломаться.

Пардон, спутал тебя с ТСом. xD

r3lgar ★★★★★ ()
Последнее исправление: r3lgar (всего исправлений: 1)
Ответ на: комментарий от xperious

А ещё я тут подумал, и вспомнил, что у тебя может быть отключен CSM (режим совместимости с легаси) и/или включен Secure Boot.

алгоритм действия не могу составить... мне снести grub2? и поставить efibootmgr какой-нибудь?

У меня в профиле есть ссылка, сходи по ней, там всё расписано как раз для генты.

Также референс в этот комментарий.

r3lgar ★★★★★ ()

Сначала немножко анализа текущей ситуации. Диск размечен в MBR, поэтому винда установлена и грузится в режиме Legacy. (Винда не поддерживает UEFI загрузку с MBR-дисков, только с GPT-дисков. Это не ограничение прошивки, это ограничение винды.) До твоих манипуляций активным разделом был помечен sda1. Это виндовый системный раздел, на котором установлен загрузчик винды bootmgr и его настройки (BCD - boot configuration data).

У тебя есть три варианта сделать рабочий мультибут.

Вариант1 — мультибут в режиме Legacy. Загружать установщик линукса надо в режиме Legacy. Раздел sda4 можно не использовать, либо можно использовать для /boot. Если sda4 использовать для /boot, то sda3 можно будет отформатировать как LVM physical volume. Если sda4 не использовать, то sda3 нельзя форматировать как LVM physical volume, можно форматировать только как ext/xfs (вобщем фс, поддерживаемая линуксом в качестве корневой, и поддерживаемая grub-ом для загрузки с неё модулей grub, ядер и initramfs-ов). Grub надо установить в нулевой сектор диска (т.е. не на раздел sdaX, на на диск sda). Флаг активности раздела можно оставить на sda1, MBR-часть grub-а его всё равно не использует. Для загрузки винды надо добавить в конфигурацию grub пункт для chain-loading-а загрузочного сектора с sda1. Выбор загружаемой операционки ты будешь выполнять в бут меню grub-а.

Вариант 2 — загрузка винды в режиме Legacy, загрузка линукса в режиме UEFI. Диск надо оставить в разметке MBR, иначе винда загружаться не будет. Флаг активности надо оставить на sda1, иначе винда загружаться не будет. Загружать установщик линукса надо в режиме UEFI. Раздел sda4 надо пометить как EFI system partition (EF), а не W95 FAT32 (0B), и оставить его с файловой системой FAT32. grub-efi надо установить на sda4 в файл \EFI\BOOT\bootx64.efi. Раздел sda3 при этом нельзя форматировать как LVM physical volume, поскольку grub-efi не сможет тогда загружать с него свои модули, ядра и initramfs-ы. Его можно отaорматировать в ext/xfs. Раздел sda4 должен монтироваться в /boot/efi. Выбирать загружаемую операционку придётся в бут меню прошивки (Legacy boot from HD — винда, UEFI boot from HD — линукс).

Вариант 3 — мультибут в режиме UEFI. Надо сконвертировать разметку диска из MBR в GPT с помощью gdisk. Надо переустановить загрузчик винды с Legacy на UEFI. Для этого надо загрузиться с виндового дистрибутивного DVD, выбрать режим восстановления, в нём выбрать командную строку. Запустить diskpart, в нём выбрать диск select disk 0, выбрать первый раздел select partition 1, поменять тип на EFI system partition set id=c12a7328-f81f-11d2-ba4b-00a0c93ec93b override, отформатировать раздел в FAT32 format fs=FAT32 quick, отменить автоматическое присваивание буквы диска этому тому attributes volume nodefaultdriveletter, присвоить букву S: вручную assign letter=s, выйти из diskpart. Установить загрузчик с загрузочного раздела (C:) на системный (S:): bcdboot c:\windows /s s:. Можно убедиться, что на диске S: появились \EFI\Boot\bootx64.efi (загрузчик по умолчанию), \EFI\Microsoft\Boot (каталог с загрузчиком винды и его конфигурацией). Можно перезагрузиться, и убедиться, что винда загружается (теперь в режиме UEFI). Установщик линукса надо запускать в режиме UEFI. sda4 можно использовать под /boot. sda3 можно форматировать в LVM physical volume или в ext/xfs. sda1 надо монтировать не форматируя в /boot/efi. grub-efi надо установить на sda1 в \EFI\<vendor>\grub.efi и прописать в NVRAM-переменную BootXXXX с помощью efibootmgr. Выбирать загружаемую операционку надо в бут меню прошивки.

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