Установка и восстановление загрузчика GRUB в LupuRus-510
Установка и восстановление загрузчика 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