Здравствуйте.
Надо было установить систему с таровского архива. Два винта - в первом программном рейде, которые перед установкой обнулил командой dd.
Загружаюсь с некоторой системы на винте которой таровский архив системы которую надо установить, винт этот не рейд - ext4, он был /dev/sda. Подключаю второй винт (он оказался /dev/sdb) на который надо распаковать таровский архив.
Разбиваю этот винт фдиском, ставлю файловую систему fd, создаю первый рейд, форматирую в ext4 и в раздел распаковываю архив.
Далее чиручюсь в это раздел с подключением dev, proc, sys и прописываю окружение - (всё как надо и всё как делал раньше когда всё после установки работало) и командой:
grub-install --recheck --no-floppy /dev/sdb
инсталирую груб в mbr
команда отрабатывает без ошибок.
Далее в файле /etc/default/grub раскомментирываю строку, что бы в конфиге груба вместо uuid прописывался /dev/md, потом командой:
grub-mkconfig -o /boot/grub/grub.cfg
создаю конфиг - всё создалось нормально.
Отключаю первый винт, оставляю второй (на который распаковал архив и установил grub) - его подключаю в sata0, загружаюсь - всё нормально. Подключаю второй винт (в sata1 - он стал /dev/sdb), который должен быть с этим в рейде.
Разбиваю как и первый фдиском, подкидываю его в рейд - всё нормально, всё залилось.
Далее уже просто командой:
grub-install --recheck --no-floppy /dev/sdb
инсталирую груб в mbr этого винта.
Корень у меня в первом разделе - в рейде /dev/md0
Далее для проверки смогу ли я загрузиться с этого винта, отключаю первый и загружаюсь с этого винта и загрузиться не могу.
Вываливаюсь в:
grub rescue >
Ввожу команду ls, получаю что он видит (md/0) как бы всё нормально.
Ввожу set и получаю:
prefix=(mduuid/тутuuid)/boot/grub
root=(mduuid/тутuuid)
Это uuid который здесь написало по команде set не принадлежит ни одному винту и не одному рейду md, откуда он взялся не пойму!!!!!
В командной строке груба в ручную прописывая рейд md0 получилось загрузиться.
В системе обыскался во всех конфигах запись об этом uuid-е но так и не нашёл, не пойму откуда взялся этот uuid. Такой uuid не принадлежит ни первому винту с которого ставил, ни этим двум.
Соответственно груб не находит винта, соответственно не видит конфигов и своих файлов.
Я уже пробовал подключать второй винт к первому и чирутиться в него и из него инталить груб - не помогло. Сбрасывал образы mbr, сравнивал их - они разные (как и должно быть), менял их местами - не помогает. Первый грузиться, второй нет. Причём на первом, зайдя при загрузке в командную строку груба смотрю по команде set, но мне показывает информацию уже из конфига груба, так как захожу в неё уже с окна выбора загрузки.
Ещё давно у меня возникал вот такой вопрос.
В mbr-е можно написать код который будет работать с указанным винтом через биос в рамках цилиндр, сектор, головка. Написать в mbr-е код который работал бы с файловой системой не получится не хватит места. Соответственно код mbr может только загрузить информацию с винта в виде этот сектор, этот сектор - эта головка, этот цилиндр, и передать ему управления. А он уже поймёт файловую систему и подгрузит нужные модули груба, а они прочтут его конфиг. Получается что этот кусок данных (ЭТО НЕ MBR!) не будет представлен в виде файлов. Если так то как его посмотреть, по каким адресам на винте он лежит?
У меня получается так что на втором винте загружается MBR, который загружает этот кусок уже с файловой системы, а вот в нём прописан этот uuid (который никому не принадлежит и не понятно откуда взялся) и соответственно он не находит винта и выдаёт:
grub rescue >
кстати не в графике, а в формате 80x25.
Помогите разобраться откуда взялся этот uuid и правильно ли я понимаю работу загрузчика груб.
За помощь заранее благодарен!