Здравствуйте. На ноутбуке установлена Роса. Начал устанавливать Астру Орёл, появился запрос установки загрузчика. Я пропустил его, так как у меня загрузчик уже стоит. Зайдя в Росу обновил загрузчик, он увидел Астру. Но не запускается. Что делать? Или нужно использовать ТОЛЬКО загрузчика Астры.
Стоит роса, всё работает. Устанавливаю Астру, просит установить загрузчик, устанавливаю. Запускается загрузчик Астры. Захожу в Росу, обновляю загрузчик Росы, обновляется. Сохраняю данные. При перезапуске загрузчик не меняется, остаётся от Астры. Опять из под росы переустанавливаю загрузчик Росы, все системы обнаруживаются в том числе и Астра, но при запуске от Астры происходит, то что описано выше.
Здравствуйте. На ноутбуке установлена Роса. Начал устанавливать Астру Орёл, появился запрос установки загрузчика. Я пропустил его, так как у меня загрузчик уже стоит. Зайдя в Росу обновил загрузчик, он увидел Астру. Но не запускается. Что делать? Или нужно использовать ТОЛЬКО загрузчика Астры.
Загружается Linux 4.15.3-1-hardened ...
ошибка: файл «/boot/4.15.3-1-hardened» не найден.
Загружается начальный виртуальный диск ...
ошибка: сначала вам нужно загрузить ядро.
Нажмите любую клавишу для продолжения.
А можно список ваших файлов из Росы каталога /boot?
ls > rosa_boot.txt
Такой же список из каталога /boot Астры и содержимое из Росы файла /boot/grub/grub.cfg?
Содержимое можно запостить на pastebin.com и дать ссылки.
Есть подозрение, что загрузчик из Росы некорректно прописал в конфиге ядро Астры.
OS-selector грешен этим. И частенько неправильно прописывает в конфиг grub загрузку другой системы.
Вообще то я делаю по другому. Устанавливаю второй дистр и при установке отказываюсь устанавливать загрузчик ос из устанавливаемого дистра вообще. В Вашем случае у Вас уже есть загрузчик из Росы. После перезагрузки из Росы нужно дать команду:
sudo update-grub
os-selector из Росы должен просканировать разделы, обнаружить и прописать заново все загрузочные файлы обнаруженных систем в grub.cfg.
Другое дело, что он не всегда это делает корректно. Но «родную» систему всегда прописывает правильно, сбоев не наблюдалось.
У нас по совпадению Астра установлена на sda7 и у Вас, и у меня.
У меня первой системой MX-Linux, Астра на sda7. Вот мой работающий пункт меню загрузки Астра из Grub MX:
Код:
menuentry 'Astra Linux CE 2.12.22 (Orel) (2.12.22) (на /dev/sda7)' --class astralinuxce --class gnu-linux --class gnu --class os $menuentry_id_option 'osprober-gnulinux-simple-38b6c32a-69e1-4022-ae1e-d952ca89c953' {
insmod part_msdos
insmod ext2
set root='hd0,msdos7'
if [ x$feature_platform_search_hint = xy ]; then
search --no-floppy --fs-uuid --set=root --hint-bios=hd0,msdos7 --hint-efi=hd0,msdos7 --hint-baremetal=ahci0,msdos7 38b6c32a-69e1-4022-ae1e-d952ca89c953
else
search --no-floppy --fs-uuid --set=root 38b6c32a-69e1-4022-ae1e-d952ca89c953
fi
linux /boot/vmlinuz-4.15.3-1-hardened root=UUID=38b6c32a-69e1-4022-ae1e-d952ca89c953 ro quiet net.ifnames=0 slub_debug=P page_poison=1 slab_nomerge pti=on user.max_user_namespaces=0 kernel.kptr_restrict=1 vsyscall=none
initrd /boot/initrd.img-4.15.3-1-hardened
}
Вот Ваш из Росы:
Код:
menuentry 'AstraLinuxCE GNU/Linux, with Linux 4.15.3-1-hardened (на sda7)' --class astralinuxce --class gnu-linux --class gnu --class os $menuentry_id_option 'osprober-gnulinux-simple-/dev/sda7' {
savedefault
load_video
set gfxpayload=keep
insmod gzio
insmod part_msdos
echo 'Загружается Linux 4.15.3-1-hardened …'
linux /boot/vmlinuz-4.15.3-1-hardened root=UUID=8b063897-1d53-4b26-94fd-b2efa83b82c7 ro quiet net.ifnames=0 slub_debug=P page_poison=1 slab_nomerge pti=on user.max_user_namespaces=0 kernel.kptr_restrict=1 vsyscall=none
echo 'Загружается начальный виртуальный диск …'
initrd /boot/initrd.img-4.15.3-1-hardened
}
Можно вставить мой пункт меню из grub вместо Вашего, только заменить номер UUID на Ваш. И посмотреть что будет.
Мой = "38b6c32a-69e1-4022-ae1e-d952ca89c953"
заменить на Ваш в четырёх местах пункта меню.
Ваш UUID = "8b063897-1d53-4b26-94fd-b2efa83b82c7"
Делать это нужно из Росы, просто открыв в текстовом редакторе boot/grub/grub.cfg, Заменить пункт меню моим, исправить UUID на Ваш, сохранить и перезагрузиться. Если даже Астра не загрузится после этого, вернуть grub.cfg можно будет командой sudo update-grub из Росы.
Уж очень по разному конфигурирует утилита конфиги.
Хочу добавить, у меня винчестер разбит на диски без EFI, поэтому наверное в меню - set root='hd0,msdos7'
Смущает, что у вас insmod gzio и у меня insmod ext2
to Викторович
У вас загрузчик Росы нихрена не понимает, что Astra Linux != Windows, и пытается ее грузить, не указав, где размещается корневая ФС с каталогом /boot (при этом для ROSA Desktop Fresh R11 указатель на корневой раздел имеется - set root='hd0,msdos1')...
Короче, либо разбирайте конфигурации и обновляйте GRUB Росы, либо не занимайтесь ерундой с подменой загрузчика и используйте GRUB из поставки Astra - он корректно определяет и Астру, и Росу, и другие операционные системы, установленные совместно...
to ArturS
insmod ext2 - подгрузка модуля поддержки файловой системы ext2 в целях автоматической перестраховки - /boot достаточно часто выносят на отдельный раздел именно с этой файловой системой...
insmod ext2 - подгрузка модуля поддержки файловой системы ext2 в целях автоматической перестраховки - /boot достаточно часто выносят на отдельный раздел именно с этой файловой системой...
И в мыслях не было...
Всего лишь считаю, что, упорно пытаться менять местами стартеры "девятки" и "газели" без крайней необходимости и, не особо задумываясь о совместимости и целесообразности подхода, - это называется, заниматься ерундой...
Здравствуйте ArturS. Я взял пункт из загрузчика Астры, который её загружает.
menuentry 'AstraLinuxCE GNU/Linux, with Linux 4.15.3-1-generic' --class astralinuxce --class gnu-linux --class gnu --class os --unrestricted $menuentry_id_option 'gnulinux-4.15.3-1-generic-advanced-8b063897-1d53-4b26-94fd-b2efa83b82c7' {
load_video
insmod gzio
if [ x$grub_platform = xxen ]; then insmod xzio; insmod lzopio; fi
insmod part_msdos
insmod ext2
set root='hd0,msdos7'
if [ x$feature_platform_search_hint = xy ]; then
search --no-floppy --fs-uuid --set=root --hint-bios=hd0,msdos7 --hint-efi=hd0,msdos7 --hint-baremetal=ahci0,msdos7 8b063897-1d53-4b26-94fd-b2efa83b82c7
else
search --no-floppy --fs-uuid --set=root 8b063897-1d53-4b26-94fd-b2efa83b82c7
fi
echo 'Loading Linux 4.15.3-1-generic ...'
linux /boot/vmlinuz-4.15.3-1-generic root=UUID=8b063897-1d53-4b26-94fd-b2efa83b82c7 ro quiet net.ifnames=0
echo 'Loading initial ramdisk ...'
initrd /boot/initrd.img-4.15.3-1-generic
}
Из росы запустил команду grub-update, после отредактировал grub.cfg, перегрузил компьютер, загрузчик не поменялся (остался от астры).
Из росы запустил команду grub-install, перегрузил компьютер, выбрал пункт запуска Астры, экран моргает, ничего не произошло.
Здравствуйте oko. Использую росу около 2 лет, одновременно с альтом и рунту. Также стоит Виндовс (дети играют). Я вообще интересуюсь российскими ос для простого пользователя. Поэтому решил попробовать и Астру. При установки Астры, я отказался от установки загрузчика (зачем, он у меня есть). После этого зайдя в Росу обновил загрузчик, он увидел Астру. Но при выборе пункта загрузки Астры получилось то, что я уже описал выше. Загрузчик Росы отлично запускает альта, рунту и Виндовс. Именно это и сподвигло меня на поиск решения данной проблемы. Я простой пользователь, и мне просто нужны советы или инструкции, при чём расписанными на простом языке, чтобы я смог извлечь пользу. Ваши комментарии для меня пользы не несут. Я и пытаюсь разобраться с конфигурацией или чем там ещё. Поэтому прошу писать по существу. То что не указан раздел, я и сам вижу (даже я могу сравнивать пункты росы и астры), а вот, что делать, тут мне нужна помощь. Я вообще удивлён, почему вы меня в Виндовс не отправили.
to Викторович
Проблема велосипедиста в том, что его велосипед, как правило, интересен только ему. Поэтому конкретные инструкции вам приведут лишь те, кто попал в аналогичную ситуацию или те, у кого масса свободного времени для тестирования подобной связки...
Если хотите поковыряться - что достойно уважения - читайте мануал по разделам, которые видит Grub2 (например, тут) и общий мануал по Grub2 (например, тут), разбирайтесь с опцией set root (в который раз, именно ее вам не хватает в конфиге для Astra) и пробуйте...
Если же хотите вариант "для простого пользователя" - используйте автоматизацию, выданную вам при установке Astra (читай, ее Grub и ее конфиг для Grub), вместо того, чтобы править что-то руками (отказываться от загрузчика при установке, ставить чужой загрузчик в автоматическом режиме, явно не поддерживающий нужный конфиг, и т.д.)...
1. Этот пункт, который я подготовил(исправил на Ваш UUID):
Код:
menuentry 'Astra Linux CE 2.12.22 (Orel) (2.12.22) (на /dev/sda7)' --class astralinuxce --class gnu-linux --class gnu --class os $menuentry_id_option 'osprober-gnulinux-simple-8b063897-1d53-4b26-94fd-b2efa83b82c7' {
insmod part_msdos
insmod ext2
set root='hd0,msdos7'
if [ x$feature_platform_search_hint = xy ]; then
search --no-floppy --fs-uuid --set=root --hint-bios=hd0,msdos7 --hint-efi=hd0,msdos7 --hint-baremetal=ahci0,msdos7 8b063897-1d53-4b26-94fd-b2efa83b82c7
else
search --no-floppy --fs-uuid --set=root 8b063897-1d53-4b26-94fd-b2efa83b82c7
fi
linux /boot/vmlinuz-4.15.3-1-hardened root=UUID=8b063897-1d53-4b26-94fd-b2efa83b82c7 ro quiet net.ifnames=0 slub_debug=P page_poison=1 slab_nomerge pti=on user.max_user_namespaces=0 kernel.kptr_restrict=1 vsyscall=none
initrd /boot/initrd.img-4.15.3-1-hardened
}
вставляйте в grub.cfg от Росы, вместо пункта, который запускает Астру.
2. Сохраните и ничего не делайте, просто перегрузите компьютер.
Никаких команд не давайте. Астра должна запуститься.
3. Команда update-grub запускает shell-скрипт osprober, который сканирует разделы с системами, находит ядра установленных систем и записывает их в grub.cfg. Старый grub.cfg удаляется. Сам grub, если загрузился, считывает конфигурационный файл grub.cfg и выполняет прописанные для него инструкции. Больше ничего он не делает и переустанавливать его командой grub-install необходимости нет.
4. Конфигурационный файл grub.cfg "живет" до первой команды update-grub, которую может дать Вы вручную, и может дать сама система при обновлении ядра допустим. Так что если подмена пункта вручную поможет, то это будет работать до первой команды update-grub. Мне самому хотелось понять где ошибка и oko прав - "set root='hd0,msdos7'" причиной может быть.
Здравствуйте ArturS! Большое Вам спасибо, что пытаетесь разобраться. Наверное я делаю, что то неправильно. Поэтому я постарался, зафиксировать всё пошагово. В текстовом действия, в фотографиях сам пункт загрузки Астры и что происходит при его выборе.
Здравствуйте ArturS! Большое Вам спасибо, что пытаетесь разобраться. Наверное я делаю, что то неправильно. Поэтому я постарался, зафиксировать всё пошагово. В текстовом действия, в фотографиях сам пункт загрузки Астры и что происходит при его выборе.
Привет.
Да, скорее всего, пакет grub из Росы уникален и со своими ошибками. Сегодня уже ничего делать не буду, а завтра установлю Росу первым дистрибутивом и посмотрю, чего она там вытворяет. Отпишусь. Для меня это не проблема, я часто меняю дистрибутивы. Просто MX-linux со своим grub всегда почти адекватно определяет устанавливаемые системы, поэтому только его и держу первой системой. Если не спите, можете сказать версию Вашей Росы, чтобы попытаться симитировать Вашу ситуацию. Завтра займусь. Мне самому уже очень интересно. К слову, я Астру установил чисто из любопытства. Но теперь уже завёлся. Люблю решать проблемы. К слову про UUID просто и довольно понятно - статейка.
*в сторону*
Нет, чтобы по ссылкам пройти, - давай сразу лепить один конфиг на другой, не разбирая дороги...
В общем случае, если при установке Astra Linux не выделялся отдельный раздел для /boot, то можно поступить так:
1. Грузим машину. При старте GRUB2 жмем "c" и попадаем в консоль восстановления (grub>)...
2. Выполняем ls и смотрим выхлоп. Должно быть нечто вроде (hd0) (hd0,msdos5) и т.п...
3. Последовательно выполняем ls (hd0,msdosX)/boot, где X - соответствующий номер из прошлого пункта. Выполняем до тех пор, пока не находим vmlinuz-4.15.3-1-... - значит, этот msdosX - раздел с нашей Astra Linux Орел (благо, у Росы ядро по-старше - vmlinuz-4.9.155)...
4. Для найденного msdosX выполняем cat (hd0,msdosX)/etc/fstab - читаем файл fstab, содержащий UUID-разделов, видимых Astra Linux. Запоминаем UUID для раздела, смонтированного в "/" (далее - root-uuid)...
5. Перезагружаемся в Росу. Правим файл /etc/grub.d/40_custom, дописывая в его конец:
echo "create new menuentry for Astra Linux CE" >&2
menuentry 'Custom boot for Astra Linux CE' {
insmod part_msdos
insmod ext2
set root='hd0,msdosХ'
linux /boot/vmlinuz-4.15.3-1-generic root=UUID=root-uuid ro quiet net.ifnames=0 slub_debug=P page_poison=1 slab_nomerge pti=on user.max_user_namespaces=0 kernel.kptr_restrict=1 vsyscall=none
initrd /boot/initrd.img-4.15.3-1-generic
}
6. Выполняем update-grub и дожидаемся выхлопа "create new menuentry for Astra Linux CE". В результате в меню GRUB2 появится новая точка входа с загрузкой generic-версии ядра для Astra Linux CE (можно аналогичным образом заменить загрузку generic на hardened по вкусу).
7. Перезагружаемся и проверяем пункт 'Custom boot for Astra Linux CE'...
После успешной проверки грузимся в Astra Linux, сносим к такой-то матери GRUB2, установленный Росой, ставим GRUB2 от Astra Linux и радуемся жизни. Ибо в противном случае, огребаем повторный геморрой при каждом обновлении Росы или Astra Linux, затрагивающем реконфигурацию ядра или загрузчика (читай, при каждом глобальном обновлении, которые не так уж и редки, ага)... НО это все бесполезно, потому что (см. ниже)...
to Викторович
Скажите, а вас не смутила запись:
Найден Astra Linux CE 2.12.22 (Orel) (2.12.22) на /dev/sda7
/usr/sbin/grub2-probe: ошибка: неизвестная файловая система.
Найден Astra Linux CE 2.12.22 (Orel) (2.12.22) на /dev/sda7
/usr/sbin/grub2-probe: ошибка: неизвестная файловая система.
Вам загрузчик как бы намекает, что не сможет прочесть /dev/sda7 с Astra Linux ни при каком раскладе. С этим надо разбираться (а заодно уточнить, какие файловые системы вы использовали при установке и т.д.)
Поэтому вновь совет "для простого пользователя": повторно установите Astra Linux (раз так хотите дуалбут), установите ее GRUB2 в MBR-область /dev/sda, используйте конфиг созданный по умолчанию и не парьтесь...
Здравствуйте око! Спасибо за развёрнутый совет. У меня есть пару вопросов.
1. Обязательно всё это делать из загрузчика, не могу я взять UUID из файла fstab в разделе Астра из РОСЫ?
2. Я не нашёл /etc/grub.d/40_custom , у меня его нет, в РОСЕ.
3. Загрузку Астру я восстанавливаю из загрузочной флешки, для даже для меня достаточно просто.
4. Запись меня смутила, с этим то и разбираюсь (почему я раньше Вам это не отправил, потому что сам только увидел, прошу прощения). Я просто не знаю, что Вам показать, чтобы Вы смогли разобраться.
to Викторович
UUID, записанный загрузчиком Росы, внезапно может отличаться от UUID, видимого Astra Linux. Поэтому надежнее через fstab. Раз уж мы подозреваем загрузчик Росы в "нестабильности", ага...
Раз 40_custom отсутствует - см. ман по GRUB2 в Росе и используйте /boot/grub/custom.cfg...
Разбирайтесь, какой там тип ФС использует корневой раздел Astra Linux и почему его не видит Роса...
Загрузку Астру я восстанавливаю из загрузочной флешки, для даже для меня достаточно просто.
Вот эта фраза заставляет модуль экстрасенсорики перегреться и отключиться. Короче говоря, возьмите LiveCD и установите GRUB2 с него в режиме автоконфигурации. Раз уж ваша загрузочная флешка самостоятельно определяет Astra Linux и Росу...