Установка и восстановление загрузчика GRUB в LupuRus-510

21 мая 2011 -

         Установка и восстановление загрузчика GRUB в LupuRus-510

1. установка GRUB в режиме expert

  Речь пойдет о загрузчике GRUB1 (известном также как Grub Legacy), входящем в
состав дистрибутива LupuRus-510. В отличие от дистрибутивов других ОС(например,
Windows или Ubuntu) в LupuRus-510 сам загрузчик после установки системы
автоматически никуда не устанавливается. После установки системы на экран
выдается совет вставить в файл menu.lst при полной (FULL) установке строки:

title Puppy Linux 510 full install in sda6
root (hd0,5)
kernel /boot/vmlinuz root=/dev/sda6 pmedia=atahd nosmp

(я устанавливал LupuRus-510 на раздел sda6)

  Имеется ввиду, что у вас ранее на каком-то другом разделе,скажем на sda1,уже
установлена какая-то другая Linux-система с загрузчиком GRUB1 (например Ubuntu
7.04) и тогда вам нужно на этом разделе sda1 найти в каталоге /boot/grub файл
menu.lst и вставить в него указанные строки. Тогда, после перезагрузки, в меню
появится первая из этих строк и можно будет загрузить LupuRus.

  Когда я начинал работать с LupuRus, у меня была именно такая ситуация, но я
что-то сделал неправильно, в результате строка в меню появилась, а загрузка не
получалась. Я стал работать с загрузчиком GRUB2,затерев в MBR GRUB1, а затем
установил еще на раздел sda4 Windows XP,затерев при этом и GRUB2. В результате
получилось: на sda1 - Ubuntu 7.04, на sda6 - LupuRus-510, на sda4 - Windows XP,
а грузится только Windows XP - молча и без всяких меню.
 
  Можно было востановить GRUB2,но для работы с ним мне пришлось установить в
отдельный раздел sda7 (3,2 Гб) Ubuntu 10.04 LTS,а работать с ней я толком не
мог-машина с памятью 256 Мб, диск-40 Гб. Мне стало жаль занимать 3 с лишним Гб
дисковой памяти только для  GRUB2 и я решил вернуться к GRUB1.

  В конце установки  LupuRus выдается еще одно сообщение о том, что если у вас
нет GRUB (как это сейчас у меня и получилось), то надо в меню "система"
запустить установщик GRUB.

  Загрузив LupuRus-510 с CD-Live в меню "система" я нашел пункт "Конфигурация
загрузчика GRUB". Этот пункт и оказался искомым установщиком GRUB. После
включения на экране появилось окно с названием:

  " GRUBCONFIG Kent Robotti (изменен для PuppyRus Linux)",

в котором нужно было выбрать один из двух вариантов:

  simple   Попытаться установить GRUB автоматически
  expert   Использовать расширенные возможности меню установки GRUB
 
  Испытывая интуитивное недоверие ко всякого рода автоматике я выбрал режим
expert и нажав на OK получил следующее окно с названием:

  " ЭКСПЕРТНАЯ УСТАНОВКА GRUB ",

в рабочем поле которого находились следующие 7 строк:

  Begin    Начать установку GRUB с новым меню запуска
  Linux    Добавить Linux раздел в конфигурационный файл GRUB
  Other    Добавить DOS/WIN/BSD/OS2/HURD раздел в конфигурационный файл GRUB
  Install  Установить GRUB
  Skip     Пропустить установку GRUB или выйти из этого меню
  View     Просмотреть текущий файл /boot/grub/menu.lst
  Help     Прочитать файл справки по Менеджеру загрузки GRUB8

  В этом меню первые 4 строки отвечают за формирование файла menu.lst -
конфигурационного файла GRUB, и за запись файлов
загрузчика и сформированного menu.lst на ранее указанный (в пункте Begin)
раздел жесткого диска и в MBR или на дискету (выбор тоже в пункте Begin).
Назначение последних трех строк не требует пояснений.

  Начать работу нужно с пункта Begin. Выбрав этот пункт и нажав OK я получил
новое окно с названием

  "ИСПОЛЬЗОВАТЬ FRAME BUFFER В КОНСОЛИ?"
 
в котором нужно указать желаемое (при работе загрузчика) разрешение
экрана. Я выбрал безопасный режим (standard ) и перешел в новое окно

  " КУДА УСТАНОВИТЬ ЗАГРУЗЧИК GRUB "
 
с меню из трех строк:

  Root    Установить в superblock раздела Linux
  Floppy  Установить на форматированную дискету
  MBR     Установить в MBR (возможно, небезопасно)
 
  С первой строкой я не работал.Из пояснений в верхней части этого окна
у меня сложилось впечатление, что режим Root можно использовать при
установке на основной (primary) раздел диска (из замечания,что раздел
нужно будет сделать активным), а мой sda6 был разделом логическим.

  C режимом Floppy я поработал раньше на другой машине не желая затирать там
MBR. Все прошло хорошо, только  форматирование дискеты в меню "система -
форматирование дискеты" производится в 2 этапа: сначала выполняется
низкоуровневое форматирование ( кнопка "Lo-Level Format" внизу окна ) с
проверкой поверхности гибкого диска, а затем с помощью другой кнопки
"Msdos/vfat filesystem" на дискету переносится файловая система Msdos,
с которой можно работать и в Linux и в Windows.
  Почему-то после первого этапа выдалось сообщение об ошибке, а когда я его
проигнорировал и нажал на вторую кнопку мне было сказано, что все отлично и
дальше загрузчик спокойно установился на дискету. ( С другой дискетой этот
прием не прошел, тем не менее в Windows XP она, хоть и со скрипом,
отформатировалась; вообще, на мой взгляд, для форматирования дискет лучше
использовать DOS-программу FFormat.exe, она часто успешно форматирует те
дискеты, которые не форматируются и в Windows; работает и в DOS, и в Windows).
 
  С загрузчиком на дискете в любой момент можно вернуться к старому варианту
загрузки - достаточно достать дискету из дисковода. Но неудобно все время
иметь под рукой дискету, если хочешь работать с GRUB.

  Поэтому в данном случае я выбрал режим MBR.
 
  MBR (Master Boot Record - главная загрузочная запись) - располагается в нуле-
вом секторе жесткого диска и состоит из небольшой программы начальной загрузки
(задача которой загрузить настоящий загрузчик операционной системы с активного
раздела жесткого диска, например NTLDR для Windows XP) и таблицы основных
разделов (не более четырех), один из которых должен быть активным (еще его
называют загрузочным - Boot)  для успешной загрузки с него Windows.
  Один из основных разделов можно сделать расширенным - Extended; на таком
разделе нельзя непосредственно создавать папки и файлы - но его можно разбить
на дополнительные, так называемые, логические разделы (до 63).
  Linux можно установить и загружать   как с основных разделов, так и с
логических.

  На экране возникло окно с названием:
 
    " Grubconfig: MBR на жестком диске "
    
в единственной рабочей строке которого нужно указать обозначение жесткого
диска, в MBR которого устанавливается GRUB. Если у вас только один жесткий
диск, как было и у меня, то это обозначение "/dev/sda".

  Вписав это обозначение (без кавычек) и нажав OK, мы получим окно с
названием:

  " Grubconfig: МЕСТО РАЗМЕЩЕНИЯ ФАЙЛОВ GRUB "
 
тоже с единственной рабочей строкой. Здесь нужно сказать следующее:в MBR диска,
то есть в нулевой сектор диска, записывается только начальная часть загрузчика,
а полностью все без исключения файлы загрузчика записываются на тот раздел
жесткого диска, который мы и должны сейчас указать. Обычно выбирается тот
раздел, на который установлена и сама операционная система, то есть в моем
случае это раздел /dev/sda6. Запись файлов загрузчика выполняется в каталог
/boot/grub.
  К пояснениям, которые приводятся в этом окне, у меня есть два замечания:
  во-первых я не нашел возможности запустить установщик GRUB из универсального
инсталлятора, и на сообщения " если пограмма запущена из Универсального
инсталлятора..." не обращал внимания;
  во-вторых, в последней строке пояснений приведен пример обозначения раздела
как /dev/hda2, хотя на сегодняшний день правильно будет /dev/sda2.

  Указав в рабочей строке окна /dev/sda6 и нажав OK, я вернулся в окно
 
  " ЭКСПЕРТНАЯ УСТАНОВКА GRUB "
 
с меню из семи строчек.

  Если здесь немного отвлечься и заглянуть в папку /boot/grub на нашем разделе
sda6,то можно увидеть, что туда уже записаны все файлы загрузчика, кроме трех
текстовых файлов: device.map, menu.lst, usage.txt, и файла mbr.sda.xxxx (в моем
случае было mbr.sda.8606 - когда делал эту работу в первый раз,и
mbr.sda.22515 - во второй раз, когда писал статью на той же машине),
в котором установщик GRUB сохраняет содержимое MBR, перед
тем как записать туда первую часть GRUB - файл stage1. Делает это установщик
для того, чтобы при необходимости можно было восстановить старое содержимое
MBR.
 
  Теперь можно начать формировать файл конфигурации menu.lst. Выбираем вторую
строку меню Linux и нажав на OK получаем окно с названием

  " СУЩЕСТВУЮЩИЕ LINUX РАЗДЕЛЫ "
 
в котором будут перечислены и отмечены галочкой все Linux-разделы на вашем
жестком диске. У меня их было пять, а в меню я хотел включить только
Ubuntu 7.04 на sda1 и LupuRus 510 на sda6. Пощелкав мышкой по остальным трем
разделам, я снял с них галки и пошел в следующее окно:

  " Grubconfig: ВЫБЕРИТЕ НАЗВАНИЕ РАЗДЕЛА "
 
  Здесь нужно указать текст, который вы хотите увидеть в меню при загрузке и
который в файле menu.lst попадет в строку, начинающуюся командой Title.
Поскольку я оставил две галки в предыдущем окне, я полагал, что меня спросят
два раза о названиях моих систем, и написал сначала название первой
 - Ubuntu 7.04, после чего после нажатия на OK окно молча выключалось и вся
работа по установке на этом прекращалась.
  Оказалось, что в окне " СУЩЕСТВУЮЩИЕ LINUX РАЗДЕЛЫ " нужно убрать все галочки
кроме одной. Повторив все с самого начала, я в этом окне оставил только галку
для моего sda6, в названии для меню написал LupuRus-510 и тогда попал в окно

  " Grubconfig: Расположение ядра "

в котором указывалось, что если просто нажать на Enter или мышкой нажать на OK,
ядро моей системы запишется в каталог /boot на раздел sda6. Сколько ни жал на
Enter - ничего не происходило, а вот мышка сработала и я получил окно

 " Параметры ядра "
 
в котором указывается, что параметрами ядра по умолчанию будут
 
  /boot/vmlinuz root=/dev/sda6 ro vga=normal
 
что означает, что в файле menu.lst будет сформирована строка

kernel /boot/vmlinuz root=/dev/sda6 ro vga=normal

а также спрашивается, не нужны ли вам какие-нибудь дополнительные параметры.
Если вы ничего не знаете о параметрах ядра, то оставив рабочее поле этого
окна пустым, вы снова вернетесь в окно

   " ЭКСПЕРТНАЯ УСТАНОВКА GRUB "
 
с меню из семи строчек.

  Здесь я из любопытства снова заглянул в каталог grub, увидел, что там ничего
не изменилось, и перешел к работе с режимом "Other", желая сформировать нужные
строки файла menu.lst для моей Windows XP на sda4.
 
  На экран вывелось окно с названием
 
  " СУЩЕСТВУЮЩИЕ РАЗДЕЛЫ DOS/WIN/OS2/BSD и т. "
 
в котором были перечислены 2 раздела с файловой системой FAT 32 - sda3 и sdb1
 - флешка. И там,и там хранились только мои рабочие файлы. Раздела sda4 с
файловой системой NTFS в перечне не было. Я понял, что для этого раздела нужно
будет вручную поправить menu.lst и нажав Cancel опять вернулся в окно

  " ЭКСПЕРТНАЯ УСТАНОВКА GRUB "
 
и выбрал режим "Install"

  Возникло окно "УСТАНОВКА GRUB УСПЕШНА"
с сообщением "GRUB успешно установлен в MBR на /dev/sda."
 
  Снова заглянув в каталог  /boot/grub, я нашел там  следующий файл menu.lst:

# GRUB configuration file '/boot/grub/menu.lst'.
# generated by 'grubconfig'.  Mon Apr 25 16:23:15 2011
#
# The backup copy of the MBR for drive '/dev/sda' is
# here '/boot/grub/mbr.sda.22515'.  You can restore it like this.
# dd if=/boot/grub/mbr.sda.22515 of=/dev/sda bs=512 count=1
#
# Start GRUB global section
#timeout 30
color light-gray/blue black/light-gray
gfxmenu /boot/grub/deep_stage1
# End GRUB global section
# Linux bootable partition config begins
  title LupuRus-510 (on /dev/sda6)
  root (hd0,5)
  kernel /boot/vmlinuz root=/dev/sda6 ro vga=normal
# Linux bootable partition config ends
title Install GRUB to floppy disk (on /dev/fd0)
pause Insert a formatted floppy disk and press enter.
root (hd0,5)
setup (fd0)
pause Press enter to continue.
title Install GRUB to Linux partition (on /dev/sda6)
root (hd0,5)
setup (hd0,5)
pause Press enter to continue.
title -     For help press 'c', then type: 'help'
root (hd0)
title -     For usage examples, type: 'cat /boot/grub/usage.txt'
root (hd0)

  После перезагрузки возникло следующее меню:
 
  LupuRus-510 (on /dev/sda6)
  Install GRUB to floppy disk (on /dev/fd0)
  Install GRUB to Linux partition (on /dev/sda6)
  -        For help press 'c', then type:'help'
  -        For usage examples, type: 'cat /boot/grub/usage.txt'
 
с первой строки которого я успешно загрузил LupuRus-510.
  Вторая строка меню устанавливает загрузчик на дискету. Выбрав вторую строку
я получил на экране сообщение:

  Insert a formatted floppy disk and press enter
 
  (вставьте отформатированную дискету и нажмите enter). Вставив дискету и нажав
на enter я получил на экране строки:

  Checking if "/boot/grub/stage1" exists...yes
  Checking if "/boot/grub/stage2" exists...yes
  Checking if "/boot/grub/e2fs_stage1_5" exists...yes
  Running "embed /boot/grub/e2fs_stage1_5 (fd0)"...failed(this is not fatal)
  Running "embed /boot/grub/e2fs_stage1_5 (hd0,5)"...failed(this is not fatal)
  Running "install /boot/grub/stage1 d (fd0) /boot/grub/stage2 p /boot/grub/menu.lst"...succeeded
  Done
  Press enter to continue
 
  Нажав здесь на Enter я вернулся к исходному меню и, перезагрузившись затем с
дискеты, снова получил его же. На дискете при этом никаких видимых изменений
увидеть нельзя ( ни ROX-Filer-ом в LupuRus, ни Проводником в Windows ).
   
  Третья строка установила загрузчик еще куда-то на мой Linux-раздел sda6.
Подозреваю, что установка выполняется всё в тот же superblock, который указан в
режиме Root в окне " КУДА УСТАНОВИТЬ ЗАГРУЗЧИК GRUB ", но как этим потом
воспользоваться - неясно.
  На экран при этом выдаются те же строки, что и при установке на дискету,
только в строке Running "install... вместо "d (fd0)" было записано "(hd0,5)".

  Четвертая строка меню предлагает вам,нажав клавишу "с" на клавиатуре,
перейти в режим командной строки GRUB и затем напечатав "help" получить
перечень возможных команд, а напечатав, например, "help cat" можно получить
подсказку по команде "cat".
  Пятая строка, в качестве примера работы в командной строке GRUB,предлагает
командой cat вывести на экран содержимое файла usage.txt.

  Теперь мне оставалось вручную поправить файл menu.lst, чтобы для LupuRus-510
строку с параметрами ядра, сформированными по умолчанию:
  kernel /boot/vmlinuz root=/dev/sda6 ro vga=normal
заменить строкой с параметрами, рекомендуемыми при установке системы:
  kernel /boot/vmlinuz root=/dev/sda6 pmedia=atahd nosmp
а строку
  title LupuRus-510 (on /dev/sda6)
на строку
  title LupuRus-510 full install (on /dev/sda6)
чтобы не забывать, что у меня выполнена полная установка.

  Для загрузки Ubuntu 7.04 в menu.lst нужно было вставить строки:
 
  title        Ubuntu 7.04, kernel 2.6.20-15-generic in sda1
  root        (hd0,0)
  kernel    /boot/vmlinuz-2.6.20-15-generic root=UUID=9e446384-9440-4dd0-bee9-0403c9a3b02b ro quiet splash
  initrd    /boot/initrd.img-2.6.20-15-generic
 
которые я взял из файла menu.lst для  Ubuntu 7.04 на sda1

  Для загрузки Windows XP - строки:

  title        WXPsp3_NTFS in sda4
  rootnoverify (hd0,3)
  makeactive
  chainloader    +1
 
которые нашел в книге Д.Колисниченко
"Ubuntu linux 7.04.Руководство пользователя,Питер,2008"

  Здесь три последних команды означают следующее:
 
  rootnoverify (hd0,3) - говорит загрузчику, что работать надо с разделом sda4,

но для Windows не нужно его монтировать (можно и смонтировать командой
root  (hd0,3) - тоже работает, но только для Grub будет больше работы)

  makeactive - делает sda4 активным
 
  chainloader    +1 - для непосредственной загрузки Windows XP передает
управление загрузчику NTLDR, расположенному в корневом каталоге sda4.
 

  Перезагрузившись после этого я увидел в меню еще 2 строки, с которых
успешно загружались указанные выше системы.

  Ради интереса я,заглянув в каталог /boot на sda7, составил еще строки для
загрузки моей Ubuntu 10.04 LTS:

  title        Ubuntu 10.04 LTS, kernel 2.6.32-24-generic in sda7
  root        (hd0,6)
  kernel    /boot/vmlinuz-2.6.32-24-generic root=/dev/sda7 ro quiet splash
  initrd    /boot/initrd.img-2.6.32-24-generic
 
Вставил их в menu.lst,перезагрузился и также успешно загрузил Ubuntu 10.04 LTS.
 
  В начало файла menu.lst полезно вставить еще 2 команды загрузчика:
    
    default  0 - указывает загрузчику загрузить по умолчанию первую по счету
систему в меню на экране и соответственно в файле menu.lst; если хотите
загрузить вторую, надо написать default  1 - GRUB нумерует системы с нуля;

    timeout     10 - дает вам 10 секунд для выбора загружаемой системы;
не успеете - будет загружена система по умолчанию, указанная в default;
если 10 секунд вам много или мало напишите то число, которое вас устроит.
 
  Команда timeout в сгенерированном установщиком GRUB файле menu.lst
присутствует в девятой строке сверху, но она закомментирована символом
комментария - знаком # в первой позиции строки; все такие строки предназначены
только для человека и загрузчиком просто пропускаются.
  Вот около девятой строки удобнее всего и вставить обе эти команды.
 
  2. Восстановление GRUB
 
  2.1 Создание резевной копии командой dd
 
  Если, установив LupuRus-510 и затем GRUB, вы установите затем еще и Windows,
вы затрете начальную часть загрузчика GRUB в MBR, то есть в нулевом секторе
жесткого диска. Можно установить GRUB заново, как это было описано выше, но
это будет не очень быстро, особенно если вы устанавливали GRUB давно и уже
подзабыли как это делается.
  Вместо этого можно восстановить MBR из консоли одной-единственной командой
dd, если,правда,предварительно сделать резервную копию MBR в файл (той же dd).
  Кстати, установщик GRUB прежде чем записать в MBR файл stage1, тоже делает
копию MBR в файл и предлагает при необходимости восстановить его командой:
 
  dd if=/boot/grub/mbr.sda.22515 of=/dev/sda bs=512 count=1
 
  ( 6-я строка сверху в menu.lst )
 
  Здесь
      if=/boot/grub/mbr.sda.22515 - входной файл команды dd,созданный ранее
установщиком и хранящий копию MBR; if - input file

      of=/dev/sda - выходной файл или, как в данном случае, устройство;
of - output file
      
      bs=512 - размер блока записываемой информации в байтах; каждый сектор
жесткого диска состоит как раз из 512 байт( в один байт можно записать одну
букву); bs - block size

      count=1 - количество записываемых блоков
      
  Запись на диск начнется с первого физического сектора; поскольку нумерация
секторов на диске начинается с нуля, я и называю его нулевым сектором.

  Но та копия MBR, которую создал установщик,нас в данном случае не устраивает:
там же нет нашего загрузчика GRUB. Создадим свою, набрав в консоли (или в
командной строке файлового менеджера Midnight Commander):

  dd of=/mnt/sdb1/rezerv/mbr172.100511 if=/dev/sda bs=512 count=1
 
  Здесь копия MBR записывается на флешку в каталог rezerv c именем
mbr172.100511 - 172 это номер машины,так как у меня их несколько, цифры
после точки -дата,когда делалась копия; никаких разделов на флешке нет - тем не
менее LupuRus обозначает ее как sdb1; параметры if, of, bs и т.д. можно в
команде писать в любом порядке.

  Почему надежнее хранить копию MBR на флешке, а не на жестком диске? В случае
тяжелой аварии, когда в MBR будет затерт не только загрузчик (первые 446 байт),
но и таблица разделов (следующие 64 байта), найти файл с копией MBR на жестком
диске будет непросто - нужно будет пользоваться специальными программами,
позволяющими работать с отдельными секторами диска(хорошая программа Acronis
Disk Editor) и знать, хотя бы частично, содержимое искомого файла.
  А потому, для надежности, запишем копию MBR еще и на дискету, создав там
заранее каталог rezerv:

  dd of=/mnt/fd0/rezerv/mbr172.100511 if=/dev/sda bs=512 count=1
 
  Загрузчик GRUB, кроме нулевого сектора жесткого диска, занимает еще несколько
секторов в диапазоне секторов с номерами 1-62 (первый основной раздел всегда
начинается с сектора 63); если нет желания разбираться какие конкретно сектора
заняты загрузчиком можно скопировать всю эту область вместе с нулевым сектором:

  dd of=/mnt/sdb1/rezerv/s0-62_172.100511 if=/dev/sda bs=512 count=63
 
и на дискету:  
      
  dd of=/mnt/fd0/rezerv/s0-62_172.100511 if=/dev/sda bs=512 count=63
 
  Физически запись на дискету выполняется с задержкой примерно в минуту
по отношению к сообщению в консоли "скопировано 32256 байт".

  2.2 Восстановление с резервной копии командой dd
 
  К команде dd я проникся уважением после следующего случая. Желая все-таки
посмотреть как будет происходить загрузка после установки GRUB
в superblock  sda6  по команде меню:
 
  Install GRUB to Linux partition (on /dev/sda6)

я решил для чистоты эксперимента затереть загрузчик в MBR и программой
Acronis Disk Editor (ADE) записал нули в нулевой сектор диска, совершенно
упустив из виду, что тем самым я затру еще и  таблицу разделов. Хотя я
предварительно все той же ADE и записал в файлы копии нулевого сектора и
секторов 0-62, но записал я их не на флешку, а на раздел sda3 c файловой
системой FAT 32.
  Сразу после записи нулей ADE сказала мне, что диск у меня ничем не занят
и никаких разделов на нем нет. И задача моя в корне поменялась - надо было
восстанавливать MBR, поскольку мне очень не хотелось переустанавливать
4 системы и дополнительные программы к ним.
  Я знал, что нулевой сектор заканчивается так называемой сигнатурой -
шестнадцетеричным кодом 55 AA в последних двух байтах, и стал в ADE в режиме
поиска искать сектор с таким кодом. Но таких секторов нашлось штук тридцать -
я выбрал наиболее подходящий с моей точки зрения и записал его в нулевой
сектор. Я полагал, что если ошибусь, то попробую другой.
  Но ситуация резко ухудшилась. Программа ADE после загрузки стала выдавать
сообщение об ошибке, после чего зависала.
  Надо было вернуть нули в нулевой сектор. Вот тут я и вспомнил, что в файле
menu.lst указывалась команда dd для восстановления MBR. Кроме нее
воспользоваться было уже нечем. На другой машине с помощью все той же ADE я
нашел на жестком диске сектор с нулями и записал в файл с именем mbr.0, а затем
скопировал его на флешку.
  Загрузив затем на аварийной машине LupuRus-510 c CD-Live я на всякий случай
скопировал еще mbr.0 c флешки в каталог /root и уже оттуда командой

  dd if=/root/mbr.0 of=/dev/sda bs=512 count=1
 
записал нули в MBR. Команда сработала,несмотря на то, что внизу экрана в
составе имеющихся у меня устройств показывались только дискета fd0 и флешка
sdb1, а жесткий диск sda вообще не упоминался.
  Теперь ADE стала загружаться нормально и я стал искать уже копию секторов
0-62. Зная,что загрузчик точно занимает еще и сектора 1-2, я во втором секторе
списал шестнадцатеричный код первых 48 байтов и затем ввел их в строку поиска.
  ADE нашла точно такой же код в секторе 45 551 655. Значит копия нулевого
сектора должна была быть в секторе 45 551 653. На всякий случай посмотрел его
визуально, увидел сигнатуру, записал в нулевой сектор и перезагрузился.
  На экране возникло знакомое меню, с соответствующих строк которого я смог
успешно загрузить любую из 4-х вышеперечисленных систем.

  А вот сейчас, в случае переустановки Windows,я загрузив LupuRus-510 c CD-Live
легко восстановлю MBR c флешки:

  dd if=/mnt/sdb1/rezerv/mbr172.100511 of=/dev/sda bs=512 count=1
 
или с дискеты:
 
  dd if=/mnt/fd0/rezerv/mbr172.100511 of=/dev/sda bs=512 count=1
 
  Если же мне придется восстановить GRUB2 и поработать с ним, то чтобы
вернуться к GRUB1, я выполню команду:

  dd if=/mnt/sdb1/rezerv/s0-62_172.100511 of=/dev/sda bs=512 count=63
 
восстанавливаясь с флешки, или с дискеты:

  dd if=/mnt/fd0/rezerv/s0-62_172.100511 of=/dev/sda bs=512 count=63
 
  О команде dd очень хорошо и гораздо более подробно изложено по адресу
  http://www.youisbee.ru/head/25-linux/62-dd
 
  2.3 Восстановление GRUB командой setup
 
  Если вы затерли GRUB в MBR установкой Windows, а резервной копии MBR у вас
нет можно поступить так:
  Загружаем LupuRus-510 c CD-Live и в консоли набираем команду grub для
запуска командной оболочки GRUB. На экране возникнет подсказка командной
строки:
 
  grub>
 
  Далее командой
 
        root (hd0,5)

монтируем в командной оболочке GRUB наш раздел sda6, на котором в каталоге
/boot/grub находятся все файлы загрузчика; после этого GRUB будет искать все
нужные ему файлы и каталоги именно на нашем sda6 (а не на каком-нибудь другом
разделе, скажем, sda1 где тоже имеется каталог /boot/grub).
 
  Затем командой
 
         setup (hd0)
         
заставим GRUB установить себя в MBR нашего жесткого диска.

  Здесь нужно отметить,что поскольку GRUB может загружать различные
операционные системы, каждая из которых может использовать различные
обозначения дисков и разделов, он для дисков и разделов использует свои
собственные обозначения и нумерует и диски и разделы с нуля:

   (hd0) - первый жесткий диск
   (hd1) - второй жесткий диск
   (hd0,0) - первый раздел первого жесткого диска
   (hd1,3) - четвертый раздел второго жесткого диска
   
  Если по неосторожности будет уничтожен каталог grub, нужно создать его заново
и затем, загрузившись с CD-Live, скопировать все файлы из каталога
/initrd/pup_ro2/usr/lib/grub/i386-pc в папку /boot/grub на нашем sda6.
Так мы восстановим все файлы загрузчика, кроме menu.lst; чтобы не
восстанавливать его вручную, лучше его тоже заранее скопировать на флешку.

  Подробнее о GRUB можно посмотреть в статьях:
 
  GRUB (Русский)
  https://wiki.archlinux.org/index.php/GRUB_(Русский)
 
  Загрузись с помощью GRUB!
  http://www.lexpr.ru/node/353
 
  Инсталляция и конфигурация загрузчика GRUB
  http://www.unixdoc.ru/index.php?mode=2&podmode=1&arcicle_id=62&theme=GRUB%20freebsd%20linux
 
 
 
 
 
 
 

 

 

Рейтинг: -1 Голосов: 1 13463 просмотра