проблема с grub mbr

AZJIO
любой может прочитать вопрос, добавлять там нечего, не любитель зацикливаться и уговаривать, вопрос был озвучен явно.
Какой вопрос то?
Ты меня попросил прокомментировать какую-то левую тему или пост с другого форума.

В принципе с тобой всё давно понятно...
Lupus pilum mutat, non mentem.
jim945
и далее после поста vs220 уточнил повторно, дабы не возникало непонимания что я спрашиваю, где автор поста пишет, что в там указывается адрес на сектор физического расположения core.img. Далее я ещё дал сслыку на другого автора, который собирал/компилировал core.img с модулями до 60кб, а 62 сектора по 512 байт это 31кб, что явно не уместится в область после MBR размером 31кб.

jim945
В принципе с тобой всё давно понятно…
что со мной понятно?

vasek
Даже читать не буду не проверенные источники.
Можете не читать, могу дать ссылку на LiveCD автора с его сложным конфигом Grub2 и ссылку где он говорит что работает в центре где разрабатывается Astra. Автор второго поста имеет САМУЮ популярную WinLiveCD.

Ну и всех с праздником!
мои программы
AZJIO
собирал/компилировал core.img с модулями до 60кб, а 62 сектора по 512 байт это 31кб, что явно не уместится в область после MBR размером 31кб.
Первый раздел большинство разбивщиков размещают с 2048 сектора. Это около метра.
Экспериментальной выяснял, что core.img максимально можно создать в районе 450кб.
Делал автономный загрузчик как-то.
В этом размере помещаются основные необходимые модули конфиг и шрифт.

Если всё ещё не веришь, удали core.img из boot.
Увидишь, что загрузчик будет работать без него.
Lupus pilum mutat, non mentem.
AZJIO
там указывается адрес на сектор физического расположения core.img. Далее я ещё дал сслыку на другого автора, который собирал/компилировал core.img с модулями до 60кб, а 62 сектора по 512 байт это 31кб, что явно не уместится в область после MBR размером 31кб.
--
Для встраивания образа загрузчика core.img на диск с MBR, используется промежуток между начальным сектором с MBR и самым первым (по расположению) разделом. Если ближайший к началу диска раздел начинается с сектора 63 или больше,

# fdisk -l /dev/sda

Device Boot Start End Blocks Id System
/dev/sda1 63 2120579 1060258+ 82 Linux swap / Solaris

то в большинстве случаев этого места (31КБ) вполне достаточно для встраивания GRUB2. Размер образа core.img зависит от размера модулей для чтения используемых таблицы разделов и ФС. В частности, для комбинации MBR+ext4 он составляет всего 25КБ.

Однако, в некоторых более сложных случаях, размер образа может оказаться больше 31КБ, и тогда отступа в 63 сектора уже не хватит. Поэтому современные версии fdisk по-умолчанию предлагают создавать первый раздел с гораздо большим отступом (1МБ), начиная с 2048 сектора.
--


AZJIO
Можете не читать, могу дать ссылку на LiveCD автора с его сложным конфигом Grub2 и ссылку где он говорит что работает в центре где разрабатывается Astra. Автор второго поста имеет САМУЮ популярную WinLiveCD.
Не буду спорить, вполне возможно, что они большие спецы, но у меня не много другой принцип ознакомления - пытаюсь с начала найти нужный материал в оффициальных DOC/MANUAL/SPECIFICATION, а уж после для уточнения и углубенного понимания обращаюсь к другим источникам. Часто можно найти и хорошее разжовывание этих DOC.
В части Grub можно найти очень много хороших и DOC и статей, например, привожу выдержки из поста GitHub, написанные простым языком
boot.img
The first boot.img file is the entry of the bootloader on a PC BIOS system. The content of this file is written to the first sector of the disk or in the Master boot record. The main point of the boot.img is to load first sector (512 bytes) of the core.img which will continue to do main job of the bootloader. As boot.img is in the master boot record, it must meet several conditions. First of all its size must be 512-bytes and the last two bytes must be 0xAA55.
Что входит в эти 512 bytes? - это уже от себя
446 bytes - Bootstrap code (если быть точным, то 440 code + 4 Disk ID + 2 reserv(0x0000) )
64 bytes - Partition Tables (4x16 - 4 раздела по 16 байт на каждый)
2 bytes - MBR signature (0x55AA)
core.img
The second core.img file does the main job for us. It contains file system drivers, so it can load configuration from the /boot/grub/grub.cfg file and modules. The main point of the core.img is to transfer control to the last - second stage of the grub. At this moment, the GNU GRUB will have loaded modules, so it will know everything about operating system kernels which are needed to load. It draws menu, reacts on selection and etc.

PS - для углубенного понимания boot.img можно посмотреть исходники boot.S, но можно и нагуглить и его ассемблерный код, а можно кое что и извечь самому, напрямую из байтов MBR, например, смотрим начало MBR
sudo hexdump -C -n 2 /dev/sda
00000000  eb 63
eb63 == jmp 0x65 … то есть прыжок на 0x65 - смотрим что там
sudo hexdump -C -s 0x65 -n 2 /dev/sda
00000065  fa 90
fa == cli - инструкция на отключение прерываний (цель - чтобы не затерлись показания определенного регистра, вроде бы dl - точно не помню)
90 == nop
и так далее … все в твоих руках - читай, вникай ...

EDIT 1 - ради интереса применил к boot.img специнструмент ... и точно, начало - прыжок на 0x65 (fa cli) ...
Ошибки не исчезают с опытом - они просто умнеют
Теперь граб не видит windows ) переустановил все, поставил сначало win sda1 sda2 boot sda 3 root sda4 home Арч он видит а вот Винду не хочет
insystemZ
а вот Винду не хочет
...попробуйте примонтировать раздел Windows, обновите grub и перезагрузитесь.
archuser21
insystemZ
а вот Винду не хочет
…попробуйте примонтировать раздел Windows, обновите grub и перезагрузитесь.
Да сработало спасибо)
Жесть пока устанавливал Арч чему только не научился))
Сетевая карта только всегда выключена приходится поднимать ее и статику прописывать каждый раз) но думаю щас разберусь
insystemZ
Да сработало спасибо)
Жесть пока устанавливал Арч чему только не научился))
Не за что, рад что помогло )) Если ещё не умеете, научитесь делать снимки системы на всякий случай. Удачи!
 
Зарегистрироваться или войдите чтобы оставить сообщение.