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


Получить помощь и пообщаться с другими пользователями Ubuntu можно
на irc канале #ubuntu-ru в сети Freenode
и в Jabber конференции ubuntu@conference.jabber.ru

Автор Тема: Взаимодействие GRUB'а и Win 7  (Прочитано 684 раз)

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

Оффлайн grv_alex

  • Автор темы
  • Новичок
  • *
  • Сообщений: 5
    • Просмотр профиля
Взаимодействие GRUB'а и Win 7
« : 01 Октября 2014, 15:22:01 »
Предыстория:

Установил Ubuntu 14.04 на ноут с семеркой. Ubuntu заработала на отлично, а винду grub грузить отказывался. Пытался и обновить grub, и переустановить; винду несколько раз восстанавливал, переустановил и Ubuntu и винду раза по 4 - все без толку. Грузится только что-то одно. В итоге танцы с бубном достали, удалил с диска все разделы, переписал MBR и разбил по-новой. Вновь поставил Ubuntu и хочу установить Win7 (нужна для работы), но!

Вопросы:
  • Как GRUB взаимодействует с BIOS и с виндовым загрузчиком
  • На какой раздел его ставит установочник? (ВНИМАНИЕ: раздел а не диск!)
  • Какой раздел должен быть указан в грабе для загрузки винды - тот, где ее загрузчик, или тот, где непосредственно сама Windows

Подскажите кто-нить что-нить дельное или дайте ссылку на мануал, плиззз!

quatro

  • Гость
Re: Взаимодействие GRUB\'а и Win 7
« Ответ #1 : 01 Октября 2014, 18:59:15 »
grv_alex, вообще говоря всегда советуют сначала ставить Windows, а потом Ubuntu. Потому что если сделать наоборот, то Windows при установке затрет GRUB и Ubuntu перестанет загружаться. Тогда потребуется Восстановление GRUB.

Попробую ответить на вопросы.
1. Хорошо, автоматически взаимодействует. Само все делается и грузится, не надо лезть в настройки. (Если BIOS, про UEFI не знаю).
2. Установщик ставит GRUB по умолчанию на весь диск, а не на раздел. Но можно выбрать и на раздел, если понимаешь что делаешь.
3. При установке/обновлении GRUB сам находит все известные ему ОС и сам формирует свою конфигурацию. Вручную ничего указывать не надо. Именно поэтому рекомендуют сначала ставить Windows, а потом Ubuntu.


Пользователь решил продолжить мысль [time]01 Октябрь 2014, 21:27:41[/time]:
Добавлю по пункту 1.

Посмотрим как происходит загрузка на машине с BIOS.
После завершения POST (самотестирования по включению питания) читается в память 512 байт первого диска (с точки зрения настроек BIOS) , управление передаётся прочитанному.
Это тот самый MBR -- основная загрузочная запись, первые 466 байт -- код загрузчика, остаток -- таблица разделов.
Если там GRUB, то он вычитывает с диска в память сектора с ядром (которые были прописаны при вызове GRUB), формирует блок параметров ядра (vga=, root=, содержимое append и addappend) и передаёт управление ядру.
Ядро инициализирует внутренние структуры, опрашивает оборудование.
Ядро, покончив с инициализацией, должно смонтировать корневой раздел и вызвать начальный процесс (init).
Ядро смотрит в полученный параметр root=, пытается смонтировать тот раздел, что там указан.

Вот так примерно взаимодействуют BIOS и GRUB. Если выбран пункт загрузки Windows, то GRUB через chainloader передает управление загрузчику Windows, и уже свой загрузчик её загружает.
« Последнее редактирование: 01 Октября 2014, 23:30:20 от anchos »

Оффлайн hetto

  • Новичок
  • *
  • Сообщений: 45
    • Просмотр профиля
Re: Взаимодействие GRUB'а и Win 7
« Ответ #2 : 02 Октября 2014, 09:29:31 »
anchos, отличный ответ!

Оффлайн grv_alex

  • Автор темы
  • Новичок
  • *
  • Сообщений: 5
    • Просмотр профиля
Re: Взаимодействие GRUB'а и Win 7
« Ответ #3 : 02 Октября 2014, 15:42:17 »
anchos, вот спасибо хорошо. Вот оно-то мне и надо было

Это тот самый MBR -- основная загрузочная запись, первые 466 байт -- код загрузчика, остаток -- таблица разделов.

Вчера вечером поставил таки виндузятину, потом загрузился с LiveCD и восстановил GRUB по твоей инструкции, и все заработало!)
Беда-то была в том, что я уже пробовал так сделать в прошлые разы. Однако это приводило к тому, что комп или не мог загрузить ни одну операционку, или открывал консоль GRUB. Думаю, все дело в кривых руках.

Еще раз спасибо

И еще по 2 пункту.

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

Ubuntu при установке пометила sda1 флагом BOOT, но никаких файлов туда не записала. Для интереса в gParted перенес этот флаг с sda1 на sda5 (там у меня root) -- Ubuntu не смогла загрузиться. Вернул все как было -- заработала.

Потом и Windows пометила этот раздел активным, но записала в него пару файлов и папку "boot".

Вопрос:
Что означает флаг boot? Невероятно, но кажется это связано как-то с загрузкой) Буду крайне признателен, если вы разъясните мне это.
« Последнее редактирование: 02 Октября 2014, 16:13:27 от grv_alex »

quatro

  • Гость
Re: Взаимодействие GRUB'а и Win 7
« Ответ #4 : 02 Октября 2014, 16:30:58 »
grv_alex, рад, что получилось.
(Нажмите, чтобы показать/скрыть)

Флаг boot это так помечается загрузочный раздел, для Линукс обычно он не нужен. А вот Windows без этой метки загружаться не хочет, но это ты и сам заметил.

Оффлайн grv_alex

  • Автор темы
  • Новичок
  • *
  • Сообщений: 5
    • Просмотр профиля
Re: Взаимодействие GRUB'а и Win 7
« Ответ #5 : 02 Октября 2014, 16:55:22 »
anchos, большое спасибо, буду постигать предмет. Тему, думаю можно закрыть, как решенную, или оставить так, можт, кто-нить еще что-то уточнит в ней?

Блин, затупил, точно... все, проблема решена))) надеюсь, поможет кому-нить
« Последнее редактирование: 02 Октября 2014, 17:01:10 от grv_alex »

 

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