GRUB "пропал" из MBR.Бывало у вас такое?

Недавно столкнулся с таким “весёлым” случаем как “пропадание” Grub'а из MBR,или даже не знаю насколько он пропадает,т.к после заставки(картинки) материнки видно строчку Grub loading,и сразу же перезагружается ПК.

Было такое первый раз месяца 2 назад,посидел на форточке седьмой версии(дуалбутом они для игр стоят).Выключил ПК-лёг спать-на утро увидел описанную выше картину.Думал уже что веник накрылся медным тазом,всё обошлось,загрузкой с лайфа и sudo grub &&root(hd0)&&setup(hd0,0).

Позавчера опять такая же картина после выключения форточек,помогло то же самое.
Вопрос в том,что в форточках есть такое,что может влазить в MBR и прогонять оттуда Grub.Просто кажется,что это какая то программа.

И были ли у кого такие чудеса?
Я уже боюсь с арча вылазить,вдруг мелкомягкие внедряют не спросив свою новую систему UAF биоса или как там :D :D
Если бы у вас GRUB в самом деле вытирался из MBR, то вы не видели бы надписи “GRUB loading”.
У вас имеет место проблема с загрузкой его других частей.

Такое возможно, если у вас не установлен stage1_5 по причине неправильно разбитого винта с отсутствием просвета между MBR и первым разделом, и основная часто груба загружается как цепочка секторов. Тогда изменения ФС, откуда он грузится, могу вести к потере ссылки на эту цепочку.
хм,просвет есть,он вроде как 1 мб если память не изменяет.А работало всё в течении года без проблем,видимо что то задевает в форточках MBR.
ADD хм,вы мне америку открыли,а что stage1_5 может не быть?
Я повторяю – если у вас при старте видна строчка
Grub loading
то GRUB всё-таки остаётся в MBR, иначе некому было бы её выводить.

GRUB это не “простой”, вроде LILO, а очень “навороченный” загрузчик, и stage1_5, записываемый обычно на свободное место между MBR и первым разделом, содержит код, полноценно читающий ФС загрузочного раздела, и загружающий уже из ФС основную часть GRUB.

Если stage1_5 по тем или иным причинам не установлен, GRUB всё ещё может работать, но уже не как “навороченный”, а как “простой” загрузчик, то есть для загрузки основной части его код в бут-секторе диска (в MBR) должен прочесть цепочку секторов в слепую по номерам, не разбирая ФС.

В этом случае, если со времени установки загрузчика в ФС произошли какие-то изменения, затронувшие положение основной части на секторах диска, код в MBR уже не сможет прочесть основную часть загрузчика.

P.S.
Вы можете не гадать, а просто проверить свою гипотезу об MBR – когда будете в очередной раз восстанавливать GRUB, сделайте с помощью команды dd копии нулевого сектора диска до и после восстановления. В принципе, то же самое можно сделать и со всем блоком секторов от нуля до начала первого раздела – вдруг что-то в форточке тоже хочет использовать этот “просвет”, и затирает stage1_5.
Надеюсь еще одного раза не произойдет.
А копия нулевого сектора диска делается такой командой ?
dd if=/dev/hda of=bootloader.mbr bs=512 count=1
вот кстати cfdisk
Во-первых, копии консоли можно делать в виде текста в тегах code.
Во-вторых, ваш диск /dev/sda, а не /dev/hda
В третьих, cfdisk это наименее информативная программа из вмех возможных. Лучше просто скопировать сюда ТЕКСТОВЫЙ вывод команды
fdisk -l /dev/sda
вот он:
[[email protected] ~]$ sudo fdisk -l /dev/sda
Пароль: 
Disk /dev/sda: 500.1 GB, 500107862016 bytes
7 heads, 16 sectors/track, 8721189 cylinders, всего 976773168 секторов
Units = sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes
Disk identifier: 0xef380b09
Устр-во Загр     Начало       Конец       Блоки   Id  Система
/dev/sda1              63    92998109    46499023+  83  Linux
/dev/sda2   *    92998143   164093327    35547592+   7  HPFS/NTFS/exFAT
/dev/sda3       164093342   591595519   213751089    5  Расширенный
/dev/sda4       591596208   976770143   192586968    7  HPFS/NTFS/exFAT
/dev/sda5       164093344   574820351   205363504    7  HPFS/NTFS/exFAT
/dev/sda6       574822400   591595519     8386560   82  Linux своп / Solaris
Размер “просвета” вполне достаточен.
Осталось сделать копии секторов (не только нулевого) и выяснить, что с ними творится. Без этого трудно сказать, что там у вас происходит.
хм,проблема в том что dd не разу не использовал.Команда что я написал выше подходит для копирования секторов ?
Эта команда скопирует все 63 сектора до начала первого раздела в файл mbr_dump.
dd if=/dev/sda of=mbr_dump count=63
 
Зарегистрироваться или войдите чтобы оставить сообщение.