Форум русскоязычного сообщества Ubuntu


Считаете, что Ubuntu недостаточно дружелюбна к новичкам?
Помогите создать новое Руководство для новичков!

Автор Тема: Нужна помощь по GRUB2  (Прочитано 1640 раз)

0 Пользователей и 1 Гость просматривают эту тему.

Оффлайн Tokes

  • Автор темы
  • Новичок
  • *
  • Сообщений: 7
    • Просмотр профиля
Нужна помощь по GRUB2
« : 12 Февраль 2017, 02:46:49 »
Здравствуйте! В начале есть предисловие - в конце пара вопросов, на которые хочется получить ответ хотя бы в виде линков  :'(
Есть флешка, которая создавалась в виновс7 с помощью какой-то утилиты, которая делает удобное меню, и ей просто нужно скормить образы для загрузки. Она работает и с её Ubuntu 14 (гостевая) сейчас сижу. Один минус - форматирование в NTFS. То есть можно по запарке или ещё как-то легко затереть в винде.

Есть другая флешка, которая отформатирована в ext2 и один fat32 раздел размером 64Мб для винды - на всякий случай.
Я вроде как поставил на неё grub с помощью grub-install, но похоже, что это всё же grub2, исходя из этого
root@ubuntu:~# grub-install --version
grub-install (GRUB) 2.02~beta2-9ubuntu1.12
Из-под рута работаю, потому как иначе необходимая флешка была доступна только для чтения (владелец root).

На рабочей флешке есть только папка ISO, куда заливаются все образы для загрузки и несколько файлов:
default, grldr, menu.lst, plpbt.bin, shifthd.bat, usbdrive.tagПри этом папки "boot" нет, что только на руку - зачем лишнее?
Я так полагаю, что, возможно, наибольший интерес вызовет файл меню, которе меня вполне устраивает. Привожу его содержание на рабочей флешке:
(Нажмите, чтобы показать/скрыть)

Убив двое суток на попытки осилить весь механизм я набрался наглости написать сюда, так как хочеться разобраться, но от обилия информации да и с путаницей нового(2.0)/старого граба я очень устал.

Накопилось очень много вопросов, некоторые (если не все) для кого-то будут очевидными - пишите конкретные ответы, пожалуйста, или конкретные ссылки. Ссылку на гугл я знаю наизусть. Дальше могут возникнуть ещё вопросы, но я постараюсь свести их к минимуму.

Итак, мне нужна флешка с разделом в ext2, в некой папке которого будут лежать файлы необходимых мне образов, а в меню загрузки пункты загрузки этих самых образов. Делать это намерен в Ubuntu 14.
Я так это вижу:
1. Отформатировать флешку в ext2 (gparted работает хорошо, тут разобрался)
2. Записать загрузчик
3. Создать папку "ISO" и залить в неё необходимые образы (с этим проблем нет, просто копируем папку с рабочего образца)
4. Отредактировать файл меню

Итак вопросы:
Касаемо пункта 2:
2.1 Загрузчик пишется на всю флешку или на определённый раздел?
2.2 Я так полагаю, что может быть записано много загрузчиков, но самым первым стартует какой-то главный и может передать управление другим загрузчикам. Верно?
2.3 Если загрузчиков может быть много - где именно должен находиться первый и где могут располагаться остальные?
2.4 Разница между старым и новым GRUB'ом только в способах настройки?
2.5 Часто вижу (загрузчик?) grub4dos. Функционально это то же самое, что GRUB LEGACY и GRUB2 ? Возможно, именно он и стоит на рабочем экземпляре, что делался на системе win7.
2.6 В чём наиболее выраженные отличия grub4dos, GRUB2 и GRUB LEGACY?
Как получу ответы или хорошие ссылки, наверняка будут ещё вопросы.

Касаемо пункта 4:
4.1 Возможность объединения схожих пунктов в один, с последующим выбором подпунктов
4.2 Установка пароля на выполнение пунктов меню (grub4dos это точно может)

Прошу прощения, если это совсем нубские вопросы, я правда убил очень много времени на въезд в мир загрузчиков и общего механизма работы этой системы. Спасибо за понимание и терпение

ТС не появлялся на Форуме более полугода по состоянию на 14/07/2019 (последняя явка: 22/02/2017). Модератором раздела принято решение закрыть тему.
--zg_nico
« Последнее редактирование: 14 Июль 2019, 04:19:09 от zg_nico »

Оффлайн andytux

  • Старожил
  • *
  • Сообщений: 4050
    • Просмотр профиля
Re: Нужна помощь по GRUB
« Ответ #1 : 12 Февраль 2017, 08:07:46 »
Цитировать
Итак вопросы:
Касаемо пункта 2
Я буду говорить о Grub2.
Итак ответы:
2.1 Куда прикажете. В вашем случае нужно "на всю флешку", то есть в MBR.
2.2 Верно.
2.3 Первый в MBR (master boot record), остальные в boot record раздела. Читайте документацию по разметке дисков.
    Загрузчик груб состоит не из одного файла. В загрузочной записи находится только головная часть загрузчика. При установке нужно указать место размещения остальных файлов (по умолчанию /boot/grub).
2.4 Разные версии одной программы. "Старый груб" - до версии 1.99, "новый груб" - от 2.00.
2.5 Да. Конфиг, который вы приводили, - похоже это конфиг grub4dos.
2.6 Отличия большие. Лично для меня наиболее существенны отличия в синтаксисе конфиг файлов.

Касаемо пункта 4
4.1 Возможно. Например так:
(Нажмите, чтобы показать/скрыть)
4.2 Не знаю, не интересовался. Смотрите документацию на grub2.

Оффлайн Heider

  • Старожил
  • *
  • Сообщений: 1250
    • Просмотр профиля
Re: Нужна помощь по GRUB
« Ответ #2 : 12 Февраль 2017, 08:58:20 »
4.2 Да, можно.

Оффлайн Azure

  • СуперМодератор
  • Старожил
  • *
  • Сообщений: 6015
  • Windows10, i3wm on Debian9, Manjaro20.0
    • Просмотр профиля
Re: Нужна помощь по GRUB
« Ответ #3 : 12 Февраль 2017, 11:29:10 »
с помощью какой-то утилиты
Может проще использовать «утилиту», например Easy2Boot?
В Линукс можно сделать ВСЁ что угодно, достаточно знать КАК !

Оффлайн Tokes

  • Автор темы
  • Новичок
  • *
  • Сообщений: 7
    • Просмотр профиля
Re: Нужна помощь по GRUB
« Ответ #4 : 12 Февраль 2017, 21:17:00 »
Итак, я решил остановиться на GRUB2.

Далее действия по-пунктам:
1. С помощью gparted очистил целевую флешку полностью (удалил все разделы), остался один нераспределённый (unallocated)
2. Создал первичный раздел (primary partition) в формате ext2, оставив 64 Мб в конце для другого раздела на fat32
3. Создал второй первичный раздел в формате fat32
4. Пометил целевой раздел флагом boot

После всего этого утилита fdisk показывает следующее:
(Нажмите, чтобы показать/скрыть)

Попутно возник вопрос, можно ли изменить очерёдность разделов, т.е. /dev/sdc1 и /dev/sdc2, потому как в прошлый раз делал то же самое, но раздел с ext2 был на втором месте перед этим форматированием.

5. Ещё раз проверил на всякий версию загрузчика.
root@ubuntu:~# grub-install --version
grub-install (GRUB) 2.02~beta2-9ubuntu1.12
6. Примонтировал целевой раздел в mnt:
root@ubuntu:~# mount /dev/sdc1 /mnt
7. Ставлю GRUB
root@ubuntu:~# grub-install /dev/sdc --no-floppy --root-directory=/mnt
Installing for i386-pc platform.
Installation finished. No error reported.
8. Дальше вытащил-вставил флешку и пытаюсь создать файл конфигурации. fdisk указал на то, что теперь целевой раздел называется /dev/sdd...
root@ubuntu:~# grub-mkconfig -o /dev/sdd1/boot/grub/grub.cfg
/usr/sbin/grub-probe: error: failed to get canonical path of `/cow'.
root@ubuntu:~# grub-mkconfig -o /dev/sdd/boot/grub/grub.cfg
/usr/sbin/grub-probe: error: failed to get canonical path of `/cow'.
root@ubuntu:~# grub-mkconfig -o /mnt/boot/grub/grub.cfg
/usr/sbin/grub-probe: error: failed to get canonical path of `/cow'.
... но как я ни пытался, - не могу понять, что система от меня хочет далее. На флешке создалась папка boot, в ней папка grub, в ней fonts, i386-pc, locale, grubenv. Дело встало. Что я не так сделал?

Оффлайн Heider

  • Старожил
  • *
  • Сообщений: 1250
    • Просмотр профиля
Re: Нужна помощь по GRUB
« Ответ #5 : 12 Февраль 2017, 22:48:59 »
Дальше вытащил-вставил флешку
Зачем?

Надо было на примонтированной флешке указать файл конфигурации:
grub-mkconfig -o /mnt/boot/grub/grub.cfggrub-mkconfig это обычный скрипт на bash, который не понимает путей вроде: /dev/sdd1/boot/grub/grub.cfg ... да боюсь, что их никто не понимает...

Пользователь добавил сообщение 12 Февраль 2017, 22:52:31:
/dev/sdd1 это файл (или псевдофайл, или дискриптор, как кому нравится) через который происходит обмен с устройством, это не папка и она не может содержать вложенных файлов\путей.
« Последнее редактирование: 12 Февраль 2017, 23:09:19 от Heider »

Оффлайн Tokes

  • Автор темы
  • Новичок
  • *
  • Сообщений: 7
    • Просмотр профиля
Re: Нужна помощь по GRUB
« Ответ #6 : 12 Февраль 2017, 23:18:03 »
Цитировать
Зачем?
Потому как сразу на примонтированной флешке не получилось этого сделать, и я подумал, что что-то пошло не так. После вставки флешки обратно и монтирования её туда же получаю ту же картину.
Вот свежий пример:
root@ubuntu:~# mount /dev/sdd1 /mnt
root@ubuntu:~# df
Filesystem     1K-blocks     Used Available Use% Mounted on
udev             1979280       12   1979268   1% /dev
tmpfs             398200     1308    396892   1% /run
/dev/sdb4        1083792  1083792         0 100% /cdrom
/dev/loop0       1044608  1044608         0 100% /rofs
/cow             1990984   164780   1826204   9% /
none                   4        0         4   0% /sys/fs/cgroup
tmpfs            1990984     1036   1989948   1% /tmp
none                5120        4      5116   1% /run/lock
none             1990984       76   1990908   1% /run/shm
none              102400       84    102316   1% /run/user
/dev/sdb1       15261804  6968664   8293140  46% /media/ubuntu/Tokes_16_Gb
/dev/sdd1        7377984    21752   6981448   1% /mnt
/dev/sdd2          64511        1     64511   1% /media/root/Tokes_64MB
/dev/sda2       52325372 47517484   4807888  91% /media/root/66E65ABDE65A8D65
root@ubuntu:~# grub-mkconfig -o /mnt/boot/grub/grub.cfg
/usr/sbin/grub-probe: error: failed to get canonical path of `/cow'.
root@ubuntu:~#

Оффлайн Heider

  • Старожил
  • *
  • Сообщений: 1250
    • Просмотр профиля
Re: Нужна помощь по GRUB
« Ответ #7 : 12 Февраль 2017, 23:55:46 »
Все директории пути /mnt/boot/grub/ на момент запуска grub-mkconfig должны существовать.

Оффлайн Tokes

  • Автор темы
  • Новичок
  • *
  • Сообщений: 7
    • Просмотр профиля
Re: Нужна помощь по GRUB
« Ответ #8 : 13 Февраль 2017, 00:02:11 »
root@ubuntu:~# cd /mnt/boot/grub/
root@ubuntu:/mnt/boot/grub# ls
fonts  grubenv  i386-pc  locale
root@ubuntu:/mnt/boot/grub# cd
root@ubuntu:~# grub-mkconfig -o /mnt/boot/grub/grub.cfg
/usr/sbin/grub-probe: error: failed to get canonical path of `/cow'.
Видно, руки у меня для винды заточены. Или лыжи.
Что я не так делаю?

Оффлайн andytux

  • Старожил
  • *
  • Сообщений: 4050
    • Просмотр профиля
Re: Нужна помощь по GRUB (failed to get canonical path of `/cow'.)
« Ответ #9 : 13 Февраль 2017, 07:31:32 »
Никогда не заморачивался с grub-mkconfig. Просто копирую на флешку grub.cfg и редактирую его вручную.

Оффлайн Heider

  • Старожил
  • *
  • Сообщений: 1250
    • Просмотр профиля
Re: Нужна помощь по GRUB (failed to get canonical path of `/cow'.)
« Ответ #10 : 13 Февраль 2017, 09:23:50 »
В принципе, andytux прав, груб у тебя уже стоит на флешке, не хватает только меню, в автоматическом меню нет смысла, ибо систем на флешке не будет, а только iso-образы, а для них все равно нужно писать пункты меню вручную, либо самому писать скрипт, который их сформирует автоматически.

А чтобы выяснить причину ошибки, нужно воспоизвести твою ситуацию, например, у меня нет никакой /cow, возможно, она появилась бы, если бы я тоже загрузил iso. Я не вижу практического смысла в дальнейшем бодании grub-mkconfig, разве что ради эксперимента.

Оффлайн Tokes

  • Автор темы
  • Новичок
  • *
  • Сообщений: 7
    • Просмотр профиля
Re: Нужна помощь по GRUB (failed to get canonical path of `/cow'.)
« Ответ #11 : 13 Февраль 2017, 12:11:27 »
Хорошо. Где есть самый лучший мануал по созданию и редактированию конфига и меню для GRUB?
И как правильно всё же - граб или груб?

Оффлайн Heider

  • Старожил
  • *
  • Сообщений: 1250
    • Просмотр профиля
Re: Нужна помощь по GRUB (failed to get canonical path of `/cow'.)
« Ответ #12 : 13 Февраль 2017, 12:20:04 »
Хорошо. Где есть самый лучший мануал по созданию и редактированию конфига и меню для GRUB?
Я этим пользуюсь. А самый лучший, очевидно, здесь.

(Нажмите, чтобы показать/скрыть)

Оффлайн Tokes

  • Автор темы
  • Новичок
  • *
  • Сообщений: 7
    • Просмотр профиля
Re: Нужна помощь по GRUB2
« Ответ #13 : 22 Февраль 2017, 02:19:44 »
Не помогла мне первая ссылка, а английский буду долго переводить.
Давайте по-порядку.
Я оставил попытки запустить grub-mkconfig и просто создал файл grub.cfg.
Он состоит всего из одного блока menuentry, в котором сделан запуск slax.
После загрузки с флешки появилось меню с единственным пунктом, система почти загружается, но виснет на пункте looking for data in /slax...
Это попробую сам допилить, меня другое больше интересует: есть iso образ, скажем, Виктории (утилита по работе с жёсткими дисками).
Я плохо понимаю что это, но вроде как не операционная система. Как этот образ запустить?
Есть какой-то универсальный способ загрузки iso образов?

Оффлайн andytux

  • Старожил
  • *
  • Сообщений: 4050
    • Просмотр профиля
Re: Нужна помощь по GRUB2
« Ответ #14 : 22 Февраль 2017, 05:44:45 »
Цитировать
...есть iso образ, скажем, Виктории (утилита по работе с жёсткими дисками).
Я плохо понимаю что это, но вроде как не операционная система. Как этот образ запустить?
Виктория - утилита для проверки HDD. Для ее работы нужна операционная система DOS. В образе находится утилита и операционная система. Это может быть iso-образ или образ флоппи-диска(ima или img).
Запустить можно так:
(Нажмите, чтобы показать/скрыть)
Пояснения к коду. Ищет образ на всех устройствах, найдет - запустит. Для работы нужна утилита memdisk. Memdisk и vcr.img должны быть на одном разделе.
Memdisk - утилита из комплекта syslinux, по умолчанию должна быть в /usr/lib/syslinux. Скопируйте ее в /boot/syslinux.
linux16 /boot/syslinux/memdisk ima raw - это для запуска образа флоппи диска.
Для запуска iso-образа "ima" заменить на "iso". Например так запускается suprgrub:
(Нажмите, чтобы показать/скрыть)
Цитировать
Есть какой-то универсальный способ загрузки iso образов?
Способ вполне универсальный. Недостаток в том, что оперативной памяти должно быть больше , чем размер образа.
Supergrub может запустить все, что только можно загрузить с помощью grub2. Посмотрите - в нем много конфигов.

 

Страница сгенерирована за 0.248 секунд. Запросов: 22.