Правильно прописать загрузчик

Простые/общие вопросы по UNIX системам. Спросите здесь, если вы новичок

Модераторы: vadim64, terminus

Правила форума
Убедительная просьба юзать теги [cоde] при оформлении листингов.
Сообщения не оформленные должным образом имеют все шансы быть незамеченными.
ortick
проходил мимо
Сообщения: 5
Зарегистрирован: 2009-12-27 8:56:18

Правильно прописать загрузчик

Непрочитанное сообщение ortick » 2017-01-20 12:30:41

Добрый день, гуру.
Не подскажете - потерлась загрузочная область с диска, но основной раздел остался, там много инфы - на 7Тб.

gpart show
=> 34 23439867837 mfid0 GPT (11T)
34 1024 1 freebsd-boot (512K)
1058 21474836480 2 freebsd-ufs (10T)
21474837538 1965030333 - free - (937G)

Как правильно переустановить BSD, чтобы сохранить раздел 2?
Пытался при установке создать новый раздел (937G) с точкой монтирования /
но при загрузке выдает, что не может найти boot/kernel с диска 2, или система автоматически грузится с раздела сразу после boot?
Можно ли указать, что загружаться надо с раздела 3?

Хостинговая компания Host-Food.ru
Хостинг HostFood.ru
 

Услуги хостинговой компании Host-Food.ru

Хостинг HostFood.ru

Тарифы на хостинг в России, от 12 рублей: https://www.host-food.ru/tariffs/hosting/
Тарифы на виртуальные сервера (VPS/VDS/KVM) в РФ, от 189 руб.: https://www.host-food.ru/tariffs/virtualny-server-vps/
Выделенные сервера, Россия, Москва, от 2000 рублей (HP Proliant G5, Intel Xeon E5430 (2.66GHz, Quad-Core, 12Mb), 8Gb RAM, 2x300Gb SAS HDD, P400i, 512Mb, BBU):
https://www.host-food.ru/tariffs/vydelennyi-server-ds/
Недорогие домены в популярных зонах: https://www.host-food.ru/domains/

guest
проходил мимо

Правильно прописать загрузчик

Непрочитанное сообщение guest » 2017-01-20 13:11:46

ortick писал(а):Добрый день, гуру.
Не подскажете - потерлась загрузочная область с диска, но основной раздел остался, там много инфы - на 7Тб.

gpart show
=> 34 23439867837 mfid0 GPT (11T)
34 1024 1 freebsd-boot (512K)
1058 21474836480 2 freebsd-ufs (10T)
21474837538 1965030333 - free - (937G)

Как правильно переустановить BSD, чтобы сохранить раздел 2?
Пытался при установке создать новый раздел (937G) с точкой монтирования /
но при загрузке выдает, что не может найти boot/kernel с диска 2, или система автоматически грузится с раздела сразу после boot?
Можно ли указать, что загружаться надо с раздела 3?
можно, точнее НУЖНО - почитать и лучше изучить man gpart

У Вас с 34 сектора, размером 512K создана первая партиция: freebsd-boot
в gpart это будет так:

# gpart delete -i 1 mfid0
# gpart add -b 34 -s 512K -t freebsd-boot -i 1 mfid0

Делать верхнее не нужно, ибо у Вас уже есть freebsd-boot, Вам нужно восстановить загрузчик,
а это выглядит так:

# gpart bootcode -b /boot/pmbr -p /boot/gptboot -i 1 mfid0

by default "2" раздел - корневой для загрузчика.

Далее, то что Вы хотели сделать, оно не нужно, если правильно сделать то что написано ВЫШЕ -
поправить загрузчик.

FS можно создать на "3" разделе и оформить как "/" и развернуть туда ОС, но вероятно
- только руками, делается это за 5 минут, sorry - bsdinstall не пробовал, нижнее гораздо проще:

(boot from memstik)
- оформить все оставшееся место под новую FS:
# gpart add -t freebsd-ufs mfid0
- создать FS (по желанию с SU и journal, опции: -U и -j)
# newfs -U -j /dev/mfid0p3
- не помню организацию FS->mount в memstick в режиме LiveUSB, но можно создать /tmp/mnt
чтобы смонтировать новую FS, или прямо в /mnt
[# mkdir /tmp/mnt]
- монтируем new-fs (либо в /mnt, либо в /tmp/mnt)
# mount /dev/mfid0p3 /mnt
- разворачиваем туда систему
# sh
# cd /usr/freebsd-dist
# for file in base.txz lib32.txz kernel.txz;
do (cat $file | tar --unlink -xpJf - -C /mnt;
done
#
- далее создать руками /etc/fstab и /etc/rc.conf
Все, почти:

А Вот дальше, нужно указать загрузчику откуда брать ядро: /boot/kernel/kernel
- самое ВАЖНОЕ, указать откуда грузить
# gpart set -a bootme -i 3 mfid0


Советую читать man'ы и изучать систему.

ortick
проходил мимо
Сообщения: 5
Зарегистрирован: 2009-12-27 8:56:18

Правильно прописать загрузчик

Непрочитанное сообщение ortick » 2017-01-21 19:43:43

Спасибо.
Но внезапно столкнулся с проблемой загрузки стоит LSI MegaRaid, уже пересобрал там массив, установил систему и при загрузке вылазит

gptboot invalid backup gpt header

и далее не грузится, я так понял проблема в raid адаптере, ведь диски в нем пересобраны и новые, а данные загрузчика прописались в адаптер и не дают грузиться свежей системе, куда копать?

guest
проходил мимо

Правильно прописать загрузчик

Непрочитанное сообщение guest » 2017-01-21 21:43:19

ortick писал(а):Спасибо.
Но внезапно столкнулся с проблемой загрузки стоит LSI MegaRaid, уже пересобрал там массив, установил систему и при загрузке вылазит

gptboot invalid backup gpt header

и далее не грузится, я так понял проблема в raid адаптере, ведь диски в нем пересобраны и новые, а данные загрузчика прописались в адаптер и не дают грузиться свежей системе, куда копать?
если память не изменяет, Андрей Елсуков комментировал такое - gptboot не верно вычисляет
размер диска, а вот почему не грузит?

Вероятно, проблема в настройке hw raid.

ortick
проходил мимо
Сообщения: 5
Зарегистрирован: 2009-12-27 8:56:18

Правильно прописать загрузчик

Непрочитанное сообщение ortick » 2017-01-21 21:49:28

Так настроек там нет особых, только геометрию тома и т.п.
Интересно, что делал полный сброс рейда, пересобирал тома и все равно "gptboot invalid backup gpt header", помогло только создание 2-х томов и установку системы во второй том, а на первый уже залил бекап.
В итоге сейчас 2-тома рейдов, вместо 1-го как ранее, и как только делаю разметку в рейде как ранее - все 4 диска в R10, то снова эта ошибка!?

guest
проходил мимо

Правильно прописать загрузчик

Непрочитанное сообщение guest » 2017-01-21 23:38:51

ortick писал(а):Так настроек там нет особых, только геометрию тома и т.п.
Интересно, что делал полный сброс рейда, пересобирал тома и все равно "gptboot invalid backup gpt header", помогло только создание 2-х томов и установку системы во второй том, а на первый уже залил бекап.
В итоге сейчас 2-тома рейдов, вместо 1-го как ранее, и как только делаю разметку в рейде как ранее - все 4 диска в R10, то снова эта ошибка!?
мб Вы плохо изучили документацию?

Если память не изменяет, для 4xHDD: создается 2'а массива: array0 из 2x дисков (первое зеркало raid1)
и array1 из 2xдисков (второе зеркало raid1), затем из двух массивов строят volume (raid0),
получаем raid10 = mfid0.
Все это можно сделать в режиме LiveUSB используя mfiutil.
Одна тонкость, mfiutil вместо raid10 - будет показывать raid1 и что он stripe (те raid10) :)
Увы, программные огрехи.

Если память не изменяет, FreeBSD грузилась без проблем с LSI HW RAID10.

Ну если не получается, советую загрузку сделать с обычного диска, а для данных использовать
RAID10.