LINUX.ORG.RU

Установка Grub2

 ,


0

1

Всем привет

Друзья помогите пожалуйста поставить Gentoo мучиюсь уже несколько дней никак не ставится hand book перечитал уже несколько раз ничего не помогает. У меня UEFI стоит и устанавливаю на чистый жесткий диск одну только генту:

gentoo
ping -c 3 ya.ru

Схема разделов:

/dev/sda1 bootloader 2mb bios раздел

/dev/sda2 fat32 128mb EFI системный раздел

/dev/sda3 swap 512mb swap раздел

/dev/sda4 ext4 root раздел

Разбивка диска:

parted -a optimal /dev/sda
mklabel gpt
unit mib
mkpart primary 1 3
name 1 grub
set 1 bios_grub on

mkpart primary 3 131
name 2 boot
set 2 boot on

mkpart primary 131 643
name 3 swap

mkpart primary 643 -1
name 4 rootfs
quit

Форматирование разделов:

mkfs.vfat -F 32 /dev/sda2
mkfs.ext4 /dev/sda4

mkswap /dev/sda3
swapon /dev/sda3

Монтирование:

mount /dev/sda4 /mnt/gentoo
mkdir /mnt/gentoo/boot
mount /dev/sda2 /mnt/gentoo/boot

Установка времени:

date

Скачивание архива stage3:

cd /mnt/gentoo
links https://www.gentoo.org/downloads/mirrors/

Распаковка архива stage3:

tar xvjpf stage3-*.tar.bz2 --xattrs

Настройка параметров компиляции:

nano -w /mnt/gentoo/etc/portage/make.conf

CFLAGS="-march=native -O2 -pipe" MAKEOPTS="-j5" (процессор intel core i7 4770k)

Выбор зеркала:

mirrorselect -i -o >> /mnt/gentoo/etc/portage/make.conf

mkdir /mnt/gentoo/etc/portage/repos.conf
cp /mnt/gentoo/usr/share/portage/config/repos.conf /mnt/gentoo/etc/portage/repos.conf/gentoo.conf

Копирование информации о DNS:

cp -L /etc/resolv.conf /mnt/gentoo/etc/

Подключение необходимых файловых систем:

mount -t proc proc /mnt/gentoo/proc
mount --rbind /sys /mnt/gentoo/sys
mount --make-rslave /mnt/gentoo/sys

mount --rbind /dev /mnt/gentoo/dev
mount --make-rslave /mnt/gentoo/dev

Переход в новое окружение:

chroot /mnt/gentoo /bin/bash
source /etc/profile
export PS1="(chroot) $PS1"

Настройка Portage:

emerge-webrsync

Выбор подходящего профиля:

eselect profile list
eselect profile set 3

Настройка USE переменной (для XFcE)

nano -w /etc/portage/make.conf

USE="-gnome -kde -minimal -qt4 dbus jpeg udev X"

Часовой пояс:

echo «Europe/Moscow» > /etc/timezone
emerge --config sys-libs/timezone-data

Настройка локалей:

nano -w /etc/locale.gen

en_US ISO-8859-1 en_US.UTF-8 UTF-8 ru_RU.UTF-8 UTF-8

locale-gen
eselect locale list
eselect locale set 5

env-update && source /etc/profile && export PS1="(chroot) $PS1"

Настройка ядра Linux:

emerge --ask sys-kernel/gentoo-sources
emerge --ask sys-kernel/genkernel

nano -w /etc/fstab

/dev/sda2 /boot vfat defaults,noatime 0 2

genkernel all

Установка файлов прошивки:

nano -w /etc/fstab

/dev/sda2 /boot vfat defaults,noatime 0 2

/dev/sda3 none swap sw 0 0

/dev/sda4 / ext4 noatime 0 1

/dev/cdrom /mnt/cdrom auto noatime,user 0 0

Информация о хосте и домене:

nano -w /etc/conf.d/hostname

hostname=«comps»

Настройка сети:

emerge --ask --noreplace net-misc/netifrc
nano -w /etc/conf.d/net

config_eth0=«dhcp»

cd /etc/init.d
ln -s net.lo net.eth0
rc-update add net.eth0 default

Файл hosts:

nano -w /etc/hosts

127.0.0.1 comps localhost

Root Пароль:

passwd

emerge --ask app-admin/sysklogd
rc-update add sysklogd default

emerge --ask sys-fs/dosfstools

emerge --ask net-misc/dhcpcd

Установка загрузчика:

echo 'GRUB_PLATFORMS=«efi-64»' >> /etc/portage/make.conf
emerge --ask sys-boot/grub:2
grub-install --target=x86_64-efi --efi-directory=/boot

После ввода этой команды вылезает вот така картинка:

EFI variables are not supported on this system

EFI variables are not supported on this system

Installation finished. No error reported

exit
cd
umount -l /mnt/gentoo/dev{/shm,/pts,}
umount -R /mnt/gentoo
reboot

Вытаскиваю флешку и при загрузке выдает следующее:

GRUB loading.

Welcome to GRUB!

error: unknown filesystem.

Entering rescue mode...

grub rescue>

Что я делаю не так подскажите плиззз.



Последнее исправление: dicros (всего исправлений: 4)

EFI variables are not supported on this system
EFI variables are not supported on this system

загрузился не в UEFI-режиме

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

Если не сложно объясни подробней, что это значит «загрузился не в UEFI-режиме).

Имеется ввиду когда устанавливал с флешки(ее нужно было каким то специальным образом делать с UEFI) или в настройках BIOS\UEFI Выставить загрузку с UEFI?

Если имелось в виду в BIOS изменить настройку, то пробовал он вообще пишет что перезагрузитесь не могу найти раздел.

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

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

Deleted
()

Если не сложно объясни подробней, что это значит «загрузился не в UEFI-режиме).

У UEFI(замены BIOS) есть два режима: один режим называется CSM, который является режимом совместимости с BIOS, а также есть чистый UEFI режим запуска. С моей материнкой от Asus первый вариант у меня почему-то никогда не удавалось довести до рабочего состояния.

EFI variables are not supported on this system

Вот и ответ. Вообще причин может быть множество — от криво записанного образа и неправильной таблицей раздела и до самого образа/кривого ядра в образе.
Образ, пусть даже он был загружен в UEFI режиме, бывает не подгружает модуль efivars, который необходим для полноценной установки GRUB и efibootmgr. Можно попробовать запускать ручками modprobe efivars на хостовой системе, а после уже делать chroot, однако результат не гарантирую, даже если модуль загружается вручную успешно. Т.е. проблема скорее всего в установочном образе(или же на худой конец с носителем). Какой установочный использовался? У меня с гентушным livecd всегда были постоянные проблемы в этом плане, так что использовал Ubuntu/Mint. По моему опыту, желательно писать образ ещё через винду с UltraISO/нечто аналогичное, можно ещё через dd пробовать.

/dev/sda1 bootloader 2mb bios раздел

Ты определись что хочешь - bios или uefi таки. Достаточно иметь только раздел под /boot/efi в fat32, которым у тебя сейчас является sda2, чтобы установить систему с uefi.

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

Я делал все под handbook соответственно и записывал образ install-amd64-minimal-<release>.iso на флешку.

Записывал с помощью WinSetupFromUSB

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

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

образ install-amd64-minimal-<release>.iso на флешку.

Обрати внимание на:

У меня с гентушным livecd всегда были постоянные проблемы в этом плане, так что использовал Ubuntu/Mint.

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

Зайди в сам uefi и посмотри на доступные на выбор дефолтные варианты загрузки/используй клавишу для выбора при загрузке пк вроде F9 или F12. Если там нечто вроде «UEFI: device_name», то явно в образе/его записи.

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

записывал образ install-amd64-minimal-

Всё правильно тут говорят, minimal не поддерживает загрузку с UEFI, соответственно, и установить GRUB в режиме UEFI не получится. Я обычно использую установочный диск Arch или admin-cd Gentoo.

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

Насколько я понимаю вы имеете ввиду что можно взять сделать все что я делал до этого с minimal-iso, все установить до Grub. А потом взять выйти выставить в биос загрузку только UEFI записать на флешку еще один образ Arch или admin-cd Gentoo, загрузиться с него и продолжить установку Grub. Так чтоли?

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

Переделывать не надо. Но нужно загрузиться с нормальной флешки в режиме UEFI, сделать всю подготовку к chroot, затем сам chroot и переустановить grub2. Затем далее по тексту.

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

Короче, начиная с

Копирование информации о DNS:
...

до

export PS1="(chroot) $PS1"

Потом от команды

grub-install --target=x86_64-efi --efi-directory=/boot

и далее по тексту.

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

1. Записал образ Arch на флешку сделал ее UEFI. 2. Выставил в настройках биос режим только UEFI 3. Загрузился с флешки и когда начал вводить команды cp -L /etc/resolv.conf /mnt/gentoo/etc

вылезают ошибки что нет папки или директории, там вместо gentoo надо писать теперь arch чтоли везьде или как?

dicros
() автор топика
Ответ на: комментарий от Nirvandil

Сделал следующее:

1. Монтирование разделов

mount /dev/sda4 /mnt
mkdir /mnt/boot
mount /dev/sda2 /mnt/boot

2. Копирование информации о DNS:

cp -L /etc/resolv.conf /mnt/etc

3. Подключение ФС:

mount -t proc proc /mnt/proc
mount --rbind /sys /mnt/sys
mount --make-rslave /mnt/sys
mount --rbind /dev /mnt/dev
mount --make-rslave /mnt/dev

4. Переход в новое окружение:

chroot /mnt /bin/bash
source /etc/profile

5. Установка загрузчика:

grub-install --target=x86_64-efi --efi-directory=/boot
exit
cd
umount -l /mnt/dev{/shm,/pts,}
umount -R /mnt reboot

После чего вытащил флешку и когда комп загрузился появилась вот такая надпись

GNU GRUB version 2.02`beta3

Minimal BASH-like line editing is supported. For the first word, TAB lists possible command completions. Anywhere else TAB lists possible device or file completions.

grub>_

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

grub-install это хорошо, grub-mkconfig кто будет делать? Что ему грузить-то?

Nirvandil
()

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

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

Надо конфигурационный файл загрузчика создать, т.е. указать ему ядро, которое следует грузить.

Сделай такое

grub-mkconfig -o /boot/grub/grub.cfg

и граб сам автоматически попытается найти ядра (в директории /boot) и создаст конфиг.

Не забудь установить пароль пользователя root, а то не войдешь в систему :)

passwd
Deleted
()
Ответ на: комментарий от amd_amd

Строго говоря, с UEFI сейчас проще настроить загрузку, тс вообще мог руками скопировать efi файл образа загрузчика в efi/boot на efi раздел под именем bootx64.efi там же создать grub, в него положить конфиг загрузчика и модули grub, efi variables не нужны.

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

так мне и сказали - «даже проще», а еще напарили что через uefi система быстрее стартует - ну я и повелся, есть у меня один сундук в котором мамка в uefi может, проще не проще - кто как привык если все время uefi использовать и оно удобней станет, а вот обещанного быстрого старта так и не произошло, максимум так же, а то и дольше - секундомера нет, из минусов - почему то остаются записи от старых систем, система давно уже новая а в quick boot полно записей от ранее установленых, как почистить - не нашел, хорошо что сундук - вынул системную батарейку и все в ноль сбросилось...

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

А я вот чего подумал, если у меня в BIOS есть пункты

1. UEFI и предыдущая версия (я так понимаю имеется ввиду обычный BIOS) 2. UEFI только

Если поставить первый пункт «UEFI и предыдущая версия» то можно с UEFI и не заморачиваться а сделать настройки по handbook без учета UEFI.

Можно ведь так сделать?

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

Все получилось ура!!!

Спасибо всем огромное за помощь.

dicros
() автор топика

вкратце, EFI должен быть на отдельном диске (обычно ещё и первом). размер его метров 100-200 хватит. у него должен быть формат vfat (при форматировании тип раздела EFI). далее, в /boot/efi должен монтироваться этот раздел. прописать это в fstab. в остальном ничего особенного, граб ставится как обычно. если boot лежит на отдельном разделе, то, естессна, boot должен монтироваться до монтирования efi. на некоторых установщиках с этим есть некоторые танцы с бубном.

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

Ладно, у тебя получилось (но, вроде, без UEFI?). Я всё делал через sysrescuecd: он на основе gentoo. Там /mnt/gentoo присутствует. Надо было сразу sysrescuecd посоветовать. А так-то нужно было создать директорию, куда монтировать твой гентушный раздел. Во флешечном Arch'е нет /mnt/gentoo, вместо этого надо создать каталог где-нибудь в /tmp.

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