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


Увидели сообщение с непонятной ссылкой, спам, непристойность или оскорбление?
Воспользуйтесь ссылкой «Сообщить модератору» рядом с сообщением!

Автор Тема: grub  (Прочитано 2671 раз)

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

Оффлайн Vitsliputsli

  • Старожил
  • *
  • Сообщений: 1293
    • Просмотр профиля
Re: grub
« Ответ #30 : 14 Апреля 2019, 18:15:30 »
Кто куда выгружается?
Пометка раздела как загрузочный нужна только при загрузчике установленном в раздел (и grub, и windows-загрузчик), при установке в начало диска не используется, и, как правильно заметили, bios ничего не знает ни о флагах, ни о разделах.
При старте загрузки с диска, bios загружает в память первые 512 байтов, проверяет валидность и передает им управление. Если говорим о таблице разделов msdos, то в эти 512 байт входит и загрузчик, и таблица разделов. Далее все зависит от этого исполняемого кода, как правило он ищет где находится вторая стадия и загружает ее.

bnt

  • Автор темы
  • Гость
Re: grub
« Ответ #31 : 14 Апреля 2019, 18:21:59 »
Я уже писал. Эта часть около 30кб. Займет пространство от самого начала. Первые 446байт и будет являться MBR. Далее, 64 байт таблицы разделов. Далее прололжение головной части груб.
В этой части и зашито, где искать остальные файлы (каталог /boot/grub).
Цитировать
Первые 446 байт от самого начала диска называются MasterBootRecord. Раньше загрузчик полностью помещался в эту область.
Со временем загрузчики выросли и стали занимать дополнительно место после таблицы разделов.
Цитировать
как я понял mbr разные и некоторые загрузчики могут от самога начала занимать область в 30кб перед mbr а другие -нет. правильно?

Пользователь добавил сообщение 14 Апреля 2019, 18:27:57:
Поэтому, если вторая стадия загрузчика находится в разделе (установка в раздел), то первичный загрузчик в mbr читает таблицу размещения разделов (т.е. этих 4 разделов, неважно созданы они или нет) и по метке определяет, какой из них загрузочный. Далее уже загружает в память 2 стадию по координатам указанным в таблице размещения (если не нули) и передает ей управление (если 2 стадия в валиднои состоянии).
так значит если разделов диска больше , чем один, то надо указать, где загрузочный? иначе он не будет найден.  а если раздел один, то указывать его как загрузочный необязательно. так? я уже писал об этом выше. забраковали.
« Последнее редактирование: 14 Апреля 2019, 18:27:57 от bnt »

Оффлайн ALiEN

  • Администратор
  • Старожил
  • *
  • Сообщений: 7810
  • We were here
    • Просмотр профиля
Re: grub
« Ответ #32 : 14 Апреля 2019, 18:28:08 »
 
Цитировать
некоторые загрузчики могут от самога начала занимать область в 30кб перед mbr а другие -нет. правильно?
нет.

Сначала - всегда MBR 512 байт (Загрузчик 446 + Таблица разделов 66). Дальше - по потребностям загрузчика. Потом начинаются разделы.


🖥 AsRock B550M Pro4 :: AMD Ryzen 5 3600 :: 16 GB DDR4 :: AMD Radeon RX 6600 :: XFCE
💻 ACER 5750G :: Intel Core i5-2450M :: 6 GB DDR3 :: GeForce GT 630M :: XFCE

Оффлайн andytux

  • Заслуженный пользователь
  • Старожил
  • *
  • Сообщений: 7969
    • Просмотр профиля
Re: grub
« Ответ #33 : 14 Апреля 2019, 18:33:02 »
Цитировать
как я понял mbr разные
Нет. Идем от начала диска:
1. MBR, начало загрузчика - 446 байт
2. Таблица разделов "ms-dos" - 64 байта
3. Сигнатура "55AA" - 2 байта
4. продолжение загрузчика, возможно до самого начала раздела, по умолчанию 1мб.
5. начало первого раздела.

Оффлайн ALiEN

  • Администратор
  • Старожил
  • *
  • Сообщений: 7810
  • We were here
    • Просмотр профиля
Re: grub
« Ответ #34 : 14 Апреля 2019, 18:33:29 »
так значит если разделов диска больше , чем один, то надо указать, где загрузочный? иначе он не будет найден.  а если раздел один, то указывать его как загрузочный необязательно. так? я уже писал об этом выше. забраковали.
Еще раз - груб и так знает, где его файлы. Можно пометить как загрузочный, а можно и не помечать.
В случае с виндой - NT загрузчик ищет свои файлы только на загрузочном разделе.
🖥 AsRock B550M Pro4 :: AMD Ryzen 5 3600 :: 16 GB DDR4 :: AMD Radeon RX 6600 :: XFCE
💻 ACER 5750G :: Intel Core i5-2450M :: 6 GB DDR3 :: GeForce GT 630M :: XFCE

bnt

  • Автор темы
  • Гость
Re: grub
« Ответ #35 : 14 Апреля 2019, 18:33:53 »
Кто куда выгружается?
mbr.   говорят, что mbr и mbs для Линукс разные вещи. это только в Windows они сопадают. mbs(master boot sector) а mbr(master boot records)-разные вещи. так вот, mbr копирует на диске себя в другом месте, освобождая место для загрузчика.

Пользователь добавил сообщение 14 Апреля 2019, 18:34:31:
Еще раз - груб и так знает, где его файлы.
откуда он это знает?

Оффлайн ALiEN

  • Администратор
  • Старожил
  • *
  • Сообщений: 7810
  • We were here
    • Просмотр профиля
Re: grub
« Ответ #36 : 14 Апреля 2019, 18:40:06 »
Да где вы вообще про master boot sector вычитали?

откуда он это знает?
Прописано в самом загрузчике, с какого раздела читать файлы. Хоть с загрузочного, хоть нет.
🖥 AsRock B550M Pro4 :: AMD Ryzen 5 3600 :: 16 GB DDR4 :: AMD Radeon RX 6600 :: XFCE
💻 ACER 5750G :: Intel Core i5-2450M :: 6 GB DDR3 :: GeForce GT 630M :: XFCE

bnt

  • Автор темы
  • Гость
Re: grub
« Ответ #37 : 14 Апреля 2019, 18:48:25 »
Прописано в самом загрузчике, с какого раздела читать файлы. Хоть с загрузочного, хоть нет.
ну так все правильно...  ребята тут выше писали, что mbr так или иначе будет просматривать все разделы.  иначе бы не было ошибки(Invalid partition table), если два раздела были помечены как загрузочные, и так он смотрит все разделы и ищет 80h. если нашел, то запоминает номер этого раздела, если нет, то ошибка уже другая.
 

Пользователь добавил сообщение 14 Апреля 2019, 18:50:48:
подождите, в каком загрузчике, mbr или в grub?
« Последнее редактирование: 14 Апреля 2019, 18:50:48 от bnt »

Оффлайн andytux

  • Заслуженный пользователь
  • Старожил
  • *
  • Сообщений: 7969
    • Просмотр профиля
Re: grub
« Ответ #38 : 14 Апреля 2019, 18:51:30 »
Цитировать
Прописано в самом загрузчике, с какого раздела читать файлы
И не только раздела. Они могут находится даже на другом диске. И опять совершенно без разницы, есть на этих дисках флаг "boot" или нет.
Цитировать
(Invalid partition table), если два раздела были помечены как загрузочные
Вот и забудь про этот флаг, чтобы не нарываться на эту ошибку.

bnt

  • Автор темы
  • Гость
Re: grub
« Ответ #39 : 14 Апреля 2019, 18:56:11 »
Прописано в самом загрузчике,
только два вида mbr . есть gpt...   на всех них grub работает.  проще искать помеченный раздел, чем прописывать в загрузчик откуда ему грузится когда он на mbr , а когда на gpt...   mbr читает, ищет и потом сообщает загрузчику откуда грузить... так пишут. и что-то мне говорит, что это неправильно. думаю больше похоже направду Ваша версия.

Пользователь добавил сообщение 14 Апреля 2019, 18:59:14:
от и забудь про этот флаг, чтобы не нарываться на эту ошибку.
сейчас найдем правду и забудем про метки.  ладно виндоводы, их пообще пофиг как там что грузится и откуда.  но уважаемым Линуксоидам это знать надо.  будет печально, если виндоводы знают, а мы нет.
« Последнее редактирование: 14 Апреля 2019, 18:59:14 от bnt »

Оффлайн Vitsliputsli

  • Старожил
  • *
  • Сообщений: 1293
    • Просмотр профиля
Re: grub
« Ответ #40 : 14 Апреля 2019, 19:02:58 »
Цитировать
mbr.   говорят, что mbr и mbs для Линукс разные вещи. это только в Windows они сопадают. mbs(master boot sector) а mbr(master boot records)-разные вещи.
мы разбираем загрузку, linux и windows еще только предстоит загрузить, поэтому о каких разных вещах речь? MBR - это данные в 0 секторе диска, используемые bios для начала загрузки. Откуда вы взяли mbs?

Цитировать
так вот, mbr копирует на диске себя в другом месте, освобождая место для загрузчика.
ни слова не понял, а процесс загрузки bios с ms-dos уже описал выше достаточно подробно.

bnt

  • Автор темы
  • Гость
Re: grub
« Ответ #41 : 14 Апреля 2019, 19:06:05 »
поэтому о каких разных вещах речь? MBR
mbr-это кусок кода. mbs это то место , где этот кусок располагается.

Пользователь добавил сообщение 14 Апреля 2019, 19:11:57:
подождите. пусть mbr ничего не ищет. от сразу передает загрузку grub.  часть grub лежит в mbr, часть за ним.  та часть что лежит в grub она располагается на 30кб. все что не умещается сюда , лежит вне.  толко вопрос, как находит адрес часть grub что лежит в 30кб той второй своей части, что лежит вне mbr?
« Последнее редактирование: 14 Апреля 2019, 19:11:57 от bnt »

Оффлайн ALiEN

  • Администратор
  • Старожил
  • *
  • Сообщений: 7810
  • We were here
    • Просмотр профиля
Re: grub
« Ответ #42 : 14 Апреля 2019, 19:15:40 »
mbr читает, ищет и потом сообщает загрузчику откуда грузить
Да ничего MBR не читает и никуда не смотрит! Загрузчик уже прописан в MBR!
как находит адрес часть grub что лежит в 30кб той второй своей части, что лежит вне mbr
первые 446 байт как раз и говорят, где искать продолжение.
« Последнее редактирование: 14 Апреля 2019, 19:18:14 от ALiEN175 »
🖥 AsRock B550M Pro4 :: AMD Ryzen 5 3600 :: 16 GB DDR4 :: AMD Radeon RX 6600 :: XFCE
💻 ACER 5750G :: Intel Core i5-2450M :: 6 GB DDR3 :: GeForce GT 630M :: XFCE

bnt

  • Автор темы
  • Гость
Re: grub
« Ответ #43 : 14 Апреля 2019, 19:26:39 »
первые 446 байт как раз и говорят, где искать продолжение.
первые 446байт и есть часть grub в данном случае?

Оффлайн ALiEN

  • Администратор
  • Старожил
  • *
  • Сообщений: 7810
  • We were here
    • Просмотр профиля
Re: grub
« Ответ #44 : 14 Апреля 2019, 19:27:42 »
Бинго!
🖥 AsRock B550M Pro4 :: AMD Ryzen 5 3600 :: 16 GB DDR4 :: AMD Radeon RX 6600 :: XFCE
💻 ACER 5750G :: Intel Core i5-2450M :: 6 GB DDR3 :: GeForce GT 630M :: XFCE

 

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