HOW-TO GRUB для PuppyLinux

Это серия страниц HOWTO форума Puppy познакомит Вас с настройкой загрузчика GRUB на загрузку Puppy из MBR («главной загрузочной записи» — 'Master Boot Record') с вашего жесткого диска или создания CD, который позволит Вам загружать Puppy и Windows, если у вас есть Puppy, установленный в Windows-разделе.

Имена Windows-Linux разделов в GRUB

Это введение для начинающих по загрузчику Grub и принципам его работы с Windows и Linux.

Прежде всего, мы должны познакомить с основной идеей жестких дисков и разделов тех из вас, кто мало знаком или вообще не знаком с данной темой.

Жесткий диск состоит из пластин, уложенных внутри стопкой, доступ к которым осуществляется посредством так называемых головок. Эти диски похожи на компакт-диски (CD) в определенной степени, но отличаются тем, что запись/чтение осуществимо на обоих сторонах и то, как они разделены на секции, также отличает их от CD.

Жесткие диски разбиты на разделы — секторы, и секторы сгруппированы в так называемые цилиндры (дорожки), сочетания секторов и цилиндров составляет общую вместимость жесткого диска.

Жесткие диски можно разделить на разделы, отделенные друг от друга и других областей, и определяемые по номеру цилиндра, начиная с 1 и до конца жесткого диска, по необходимости. Например, на жестком диске 4.1 ГБ вы можете иметь один большой раздел, занимающий всё пространство на жестком диске и это будет выглядеть следующим образом:

Start of partition (начало)  = cyl no. 1 
End of partition (конец)     = cyl no. 525 
Общий размер                 = 4.2GB

В Windows этот раздел будет называться диск C (C:), так обычно называется раздел в Windows.

Если Вы решили создать два раздела на жестком диске, Windows назовет второй раздел диском D (D:) И у Вас будут отображаться в Windows жесткие диски: C: и D:, (всё это относится и к DOS, но мы будем использовать термин Windows, охватывая все операционные системы Microsoft) так что для каждого дополнительного раздела, который Вы создаете, Windows просто использует следующую букву алфавита. Это же применимо и к компакт-дискам.

Linux называет по-другому, во-первых, имя жесткого диска начинается с hd и затем, начиная с первого жесткого диска он тоже использует букву алфавита, так, что первый жесткий диск на вашей системе (если он Primary и Master), называется hda. Разделы диска нумеруются, начиная с номера 1.

Так, Ваш диск C: в Windows будет называться hda1 в Linux и последующие разделы будут, hda2, hda3, и т.д. Если у вас второй жесткий диск установлен ведомым (Slave), под Linux он станет hdb и разделы будут названы hdb1, hdb2… (Прим.: жесткие диски могут иметь названия начинающиеся с sd — от Serial Disk drive).

Загрузчик GRUB начинает запись с нулевого цилиндра, он также использует hd наименование, но оно несколько отличается (от общепринятого в Linux). Для первого жесткого диска GRUB показывает hd0, для второго, hd1 т.д.

Разделы также начинаются с нуля, поэтому первый раздел на первом жестком диске будет называться hd0,0. Для распознования Grub-ом собственных наименований, они должно быть заключены в скобки, например (hd0,0).

В начале жесткого диска присутствует небольшой раздел, который никогда не появляется в Windows и в большинстве операционных систем, он называется главная загрузочная запись (Master Boot Record, MBR) которому передает доступ BIOS вашего компьютера для загрузки операционной системы. Именно туда установливается GRUB, если Вы делаете полную установку на жесткий диск, как вариант GRUB может быть установлен на CD, который будет использоваться для загрузки операционных систем.

Когда GRUB загружается, он ищет загрузочный (/boot) каталог с каталогом grub внутри него (/boot/grub), содержащий конфигурационный файл. Этот файл, можно изменять для настройки запуска своей операционной системы. В зависимости от версии Linux, этот файл может называтся menu.lst, grub.conf или т.п., но все они используют одинаковую терминологию для описания, что и как должно загружаться GRUB-ом (конфигурации загрузки).

Подводя итог мы будем сравнивать обозначение разделов.

Windows c:\
Linux: /dev/hda1
Grub: (hd0,0)

Когда проводится разметка жесткого диска, необходимо придерживаться определенных правил, которые применяются для Windows и Linux.

В Windows допускается только один первичный (Primary) раздел на жестком диске, чтобы иметь дополнительные разделы, вы должны создать расширенный(Extended) раздел, которые не содержит данных, кроме описания дополнительных разделов, называемых логическими дисками.

В Linux вы можете иметь до четырех первичных разделов на вашем жестком диске.

Надеюсь, статья поможет вам понять как обозначаются диски и разделы и как это отображено в Grub. И должно помочь, при редактирования файла конфигурации Grub.

Настройка Grub при "single" установке Puppy на жесткий диск (HDD)

Если вы устанавливаете Puppy как автономную (единственную) операционную систему на имеющийся ext2fs раздел жесткого диска и используете дискету для загрузки, вот простой и быстрый способ настройки загрузчика.

Я использовал Grub и установил его вручную, он не имеет ярких заставок (splashscreen) но загружается быстрее, чем с дискеты.

Для Grub требуется всего четыре файла плюс файл vmlinuz (и возможно initrd) Вашей текущей установки.

файлы Grub:

  • stage1
  • stage2
  • e2fs_stage1_5 (Если вы используете другую файловую систему, вы должны выбрать соответствующие stage1_5 файл.)
  • menu.lst

Они доступны из форума Puppy здесь.

Если вы загружаете «grub_files.tar.gz» архив с форума, сохраните его в /root/my-applications. Чтобы распаковать его, откройте терминал, кликнув на значке rxvt на рабочем столе и наберите,

  tar zxvf /root/my-applications/grub_files.tar.gz

После чего появится каталог «Grub_files' в /root/my-applications.

Чтобы загрузить Grub вы должны иметь каталог /boot/grub, содержащий необходимые файлы. У меня был только один раздел на моем жестком диске и я создал boot каталог в корневом.

Откройте rxvt и наберите:

  mkdir -p /boot/grub

Теперь нужно записать vmlinuz в /boot каталог, (Можно скопировать с загрузочной дискеты Puppy, созданной в процессе установки, или Puppy CD).

Вставьте загрузочную дискету и с помощью Пуск → Файловые менеджеры → монтировать/отмонтировать диски (Start → File managers → Mount/unmount drives) смонтировать дискету.

Перейти к /mnt/floppy и перетащите или скопируйте vmlinuz в /boot.

  cp /mnt/floppy/vmlinuz /boot

Затем скопируем stage1, stage2, menu.lst и e2fs_stage1_5 (или другой необходимый) в /boot/grub.

  cp /root/my-applications/Grub_files/stage1 stage2 menu.lst e2fs_stage1_5 /boot/grub

Теперь скопируйте stage1 и stage2 на дискету:

  cd /boot/grub

Вставьте дискету и наберите

dd if=stage1 of=/dev/fd0 bs=512 count=1 
1+0 records in 
1+0 records out

Теперь stage2

dd if=stage2 of=/dev/fd0 bs=512 seek=1
153+1 records in
153+1 records out

Далее Вам необходимо перезагрузить систему с дискеты Grub и когда дело доходит до подсказки grub 'grub>' Вы должны указать Grub на ‘root device’, на раздел, содержащий boot каталог.

Grub использует названия, отличающиеся от используются в Linux, при наименовании разделов: Главная загрузочная запись на жестком диске называется (hd0), и разделы называюся соответственно.

Если у вас есть только один раздел, /hda1 в Linux или C: в Windows, он становится (hd0) + 0 раздел вместо hda1 и C. Следующий раздел будет 1, далее 2, и т.д. Поэтому Grub видит hda1 или C: как (hd0,0), то есть «жесткий диск ноль запятая ноль» и всегда название заключено в скобки.

Так что для определения «корневого устройства»(‘root device’) набираем:

grub> root (hd0,0)

Это определяет /hda1 как hd0,0. Теперь запустите команду установки 'setup'.

grub> setup (hd0)

Это установит загрузчик в главную загрузочную запись(MBR) в начале диска. Затем выходите ('quit') из GRUB.

grub> quit

Теперь осталось только одно, вы должны задать для загрузчика инструкции о том, как и что загружать. Для этого требуется откорректировать файл /boot/grub/menu.lst.

Простейшая его конфигурация следующая:

default 0
# По умолчанию загрузка из первой строки меню GRUB. 
timeout 30
# Загрузки автоматически начнется через 30 сек 
title Puppy Linux  
# Наименование строки меню характеризующее загружаемую операционную систему  
root (hd0,0)
kernel /boot/vmlinuz /root=/dev/hda1
#Где операционная система расположена (и опции её загрузки)

Этот файл может быть отредактирован с помощью текстового редактора ‘Beaver’ на рабочем столе (подойдет любой другой консольный редактор — vi, nano и т.п., править файл необходимо под учетной записью суперпользователя 'root').

Если ваши установки такие же, как описаная выше, не стоит беспокоиться по поводу редактирования файла menu.lst. После перезагрузки вам будет предложено текстовое меню, нажмите ввод и Puppy начнет загружаться.

Это было введение в основы конфигурации Grub, если вы хотите настроить мульти-загрузочную или другие настройки, вам необходимо ознакомиться с оригинальным руководством Grub.

Для настройки двойной загрузки Puppy и Windows, читайте дальше.

Загрузка Puppy в Windows с Grub CD

Создания загрузочного Grub CD для загрузки Puppy в Windows

Рекомендуется всем, кто не уверен, что знает о том, как создавать загрузочный компакт-диск.

Создание файла образа

Установить Puppy в Windows9x с помощью мастера и live CD.

Во время установки Puppy Вы должны сделать загрузочный флоппи-диск, который вам после понадобится. Загрузите Puppy с floppy диска. Скопируйте оттуда файл stage2_eltorito и скопировать его в /my-applications, он также присутствует в grub_files.tar.gz, о котором говорилось ранее. В Puppy можно воспользоваться архиватором TkZip через ПускУтилиты, чтобы открыть файл grub_files.tar.gz или перейдите в каталог, где с архивным файлом, откройте rox с рабочего стола, а затем воспользовавшись правой кнопкой мыши, выберите Xterm в текущем каталоге, и наберите

tar -zxvf grub_files.tar.gz

Откройте терминал, нажав на rxvt. Создайте каталог iso (лучше его создать в /my-applications).

cd my-applications

Создать каталог iso.

mkdir iso

Сделать /boot и /boot/grub/ каталоги.

mkd -p iso/boot/grub

Скопируйте файл для stage2_eltoito в iso/boot/grub

cp stage2_eltorito iso/boot/grub

Вставьте дискету в дисковод и с помощью ПускФайловые менеджерымонтировать/отмонтировать диски, смонтируйте дискету (прим.пер: #mount /dev/fd0 /mnt/floppy тоже вполне подойдет). Откроется окно Rox, отображающее содержимое загрузочной дискеты (boot floppy). Щелкните правой кнопкой мыши на autoexe.bat и выберите прочитать файл (read the entries), вам это понадобиться для конфигурационного файла. Вам придется принимать решение о том, что будет загружаться в первую очередь Windows или Puppy.

Сделайте конфигурационный файл menu.lst. (Помните, что в расширении файла используется строчная L - '.lst', а не единица - '.1st') Вы можете сделать это, с помощью Beaver, просто открыть Beaver и либо выберите в меню «Файл / Новый» или нажать на иконку «Создать новый документ». Вставьте указанные ниже строки в новый документ:

default 0  
timeout 30  
title Win98 
rootnoverify (hd0,0)  
chainloader +1 
title Puppy Linux  
rootnoverify (hd0,0)  
kernel /vmlinuz root=/dev/ram0 PFILE=pup1 -none-524288 
initrd /image.gz

Сохранить файл как iso/boot/grub/menu.lst Теперь создайте файловую систему iso набрав:

mkisofs -R -b boot/grub/stage2_eltorito -no-emul-boot -boot-load-size 4 -boot-info-table -o grub.iso iso

Это все набирается одной строкой. Нажмите Enter, и создастся файл с именем grub.iso.

Сообщения об ошибках

Если вы получаете какие-либо сообщения об ошибках проверьте в первую очередь следующее:

  • Создали ли вы iso/boot/grub в каталоге my-applications.
  • Находитесь ли Вы в каталоге /my-applications, проверить это можно набрав pwd в командной строке, результат должен быть /root/my-applications.
  • Проверьте синтаксис написания команды для создания файла iso.

Заключение

Если Вы успешно создали файл grub.iso, следующим шагом будет его запись на CD. Рекомендуется использовать перезаписываемые диски, если что-то пойдет не так, можно его очистить и начать все с нуля. Используя любую имеющуюся программу записи, создать новый CD из файла образа grub.iso. Перезагрузите компьютер и установите в BIOS загрузку с CD-ROM в первую очередь, затем вставте диск в привод и перезагрузите машину. Если все прошло удачно, Вам будет предложено загрузочное меню (boot menu), выберете нужный вариант воспользовавшись клавишами стрелок вверх/вниз, нажмите ввод и Grub продолжит загрузку выбранной ОС.

Данный HOWTO описывает как установить Grub на компакт-диск для загрузки Windows и Puppy в таком порядке, если вы хотите загружаться в Puppy просто поменяйте их местами (прим.пер.:или настройте опцию default загрузчика grub в menu.lst).

Следующий раздел рассматривает некоторые полезные вещи, которые иногда необходимо сделать.

Некоторые вопросы для рассмотрения

Есть некоторые вещи, с которыми я столкнулся в ходе создания загрузочного CD, которые я хотел бы отразить здесь. Сначала я установил Puppy 0.9.8 в fat32 раздел, в котором работала Windows 98, стандартную установку, занимающую под запись системы диск целиком. Для этого я использовал live CD. Теперь, когда вы загружаетесь с live CD он ищет файл с именем pup001 или подобный, и если он не может найти то, она создает его, если это возможно (зависит от файловой системы — Puppy не работает с NTFS).

Этот файл используется для хранения параметров конфигурации, данных и т.д., для live CD. То же самое происходит когда вы инсталлируете Puppy в раздел Windows, создаются файлы pup*. При внимательного изучения диска С: системы Windows на предмет изменений после установки Puppy, обнаруживаются 2 файла: pup1 и pup001, что усложняет ситуацию.

Взглянув на содержимое файл autoexe.bat на загрузочной дискете (boot floppy), созданной при установке обнаруживаете следующее:

tiny.exe c:\vmlinuz c:\image.gz root=/dev/ram0 PFILE=pup1-none-524288 PHOME=hda1

Итак определяемся, что дискета была загружает файл pup1. На жестком диске нашлись файлы vmlinuz, image.gz Это наводит на мысль, создать следующее изменение в menu.lst:

title Puppy Linux 1
kernel /vmlinuz root=/dev/ram0 PFILE=pup1-none-524288 PHOME=hda1
initrd /image.gz 

Я обозначил этот вариант, как Puppy Linux 1, и сделал аналогичную запись с незначительными изменениями — 'pup001' для Puppy Linux 001. Это вместе с записью для Windows98 дало мне три загрузочные строки в меню, которые работали.

Предложения

Я бы предложил следующее, если Вы хотите установить Puppy в Windows98 или ME раздел, после загрузки с live CD, найти на жестком диске файл pupsomething, удалите его и приступайте к установке на раздел Win с помощью мастера (wizard).

Возможно, вам придется также отмонтировать раздел, на который вы будете устанавливать. В заключение я надеюсь, что этот документ поможет тем, кто не имел опыта в использовании Linux и его программ.

Этот документ был составлен из многих источников и практического опыта работы, если у вас есть какие-либо вопросы или предложения, пожалуйста оставляйте их на форуме или wiki Puppy Linux (прим.пер.:или Puppyrus).

Оригинал статьи

перевел Jabx 08:33, 3 июня 2008 (UTC)

 
setups/howto-grub.txt · Последние изменения: 01.03.2016 в 18:18 (внешнее изменение)
 
За исключением случаев, когда указано иное, содержимое этой вики предоставляется на условиях следующей лицензии:CC Attribution-Noncommercial-Share Alike 3.0 Unported
Recent changes RSS feed Donate Powered by PHP Valid XHTML 1.0 Valid CSS Driven by DokuWiki