Различия

Здесь показаны различия между выбранной ревизией и текущей версией данной страницы.

setups:howto-grub [28.02.2010 в 21:46]
setups:howto-grub [01.03.2016 в 18:18] (текущий)
Строка 1: Строка 1:
 +======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 [[http://www.geocities.com/imulgrew/grub_files.tar.gz|здесь]].
 +
 +Если вы загружаете "grub_files.tar.gz" архив с форума, сохраните его в /root/my-applications. Чтобы распаковать его, откройте терминал, кликнув на значке rxvt на рабочем столе и наберите,
 +
 +<code bash>
 +  tar zxvf /root/my-applications/grub_files.tar.gz
 +</code>
 +
 +После чего появится каталог  "Grub_files' в /root/my-applications.
 +
 +Чтобы загрузить Grub вы должны иметь каталог /boot/grub, содержащий необходимые файлы. У меня был только один раздел на моем жестком диске и я создал boot каталог в корневом.
 +
 +Откройте rxvt и наберите:
 +
 +<code bash>
 +  mkdir -p /boot/grub
 +</code>
 +
 +Теперь нужно записать vmlinuz в /boot каталог, (Можно скопировать с загрузочной дискеты Puppy, созданной в процессе установки, или Puppy CD).
 +
 +Вставьте загрузочную дискету и с помощью Пуск -> Файловые менеджеры -> монтировать/отмонтировать диски (Start -> File managers -> Mount/unmount drives) смонтировать дискету.
 +
 +Перейти к ''/mnt/floppy'' и перетащите или скопируйте ''vmlinuz'' в ''/boot''.
 +
 +<code bash>
 +  cp /mnt/floppy/vmlinuz /boot
 +</code>
 +
 +Затем скопируем ''stage1'', ''stage2'', ''menu.lst'' и ''e2fs_stage1_5'' (или другой необходимый) в ''/boot/grub''.
 +
 +<code bash>
 +  cp /root/my-applications/Grub_files/stage1 stage2 menu.lst e2fs_stage1_5 /boot/grub
 +</code>
 +
 +Теперь скопируйте ''stage1'' и ''stage2'' на дискету:
 +
 +<code bash>
 +  cd /boot/grub
 +</code>
 +
 +Вставьте дискету и наберите
 +
 +<code bash>
 +dd if=stage1 of=/dev/fd0 bs=512 count=1
 +1+0 records in
 +1+0 records out
 +</code>
 +
 +Теперь ''stage2''
 +
 +<code bash>
 +dd if=stage2 of=/dev/fd0 bs=512 seek=1
 +153+1 records in
 +153+1 records out
 +</code>
 +
 +Далее Вам необходимо перезагрузить систему с дискеты 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’) набираем:
 +
 +<code bash>
 +grub> root (hd0,0)
 +</code>
 +
 +Это определяет ''/hda1'' как ''hd0,0''. Теперь запустите команду установки 'setup'.
 +
 +<code bash>
 +grub> setup (hd0)
 +</code>
 +
 +Это установит загрузчик в главную загрузочную запись(MBR) в начале диска. Затем выходите ('quit') из GRUB.
 +
 +<code bash>
 +grub> quit
 +</code>
 +
 +Теперь осталось только одно, вы должны задать для загрузчика инструкции о том, как и что загружать. Для этого требуется откорректировать файл ''/boot/grub/menu.lst''.
 +
 +Простейшая его конфигурация следующая:
 +
 +<file>
 +default 0
 +# По умолчанию загрузка из первой строки меню GRUB.
 +timeout 30
 +# Загрузки автоматически начнется через 30 сек
 +title Puppy Linux  
 +# Наименование строки меню характеризующее загружаемую операционную систему  
 +root (hd0,0)
 +kernel /boot/vmlinuz /root=/dev/hda1
 +#Где операционная система расположена (и опции её загрузки)
 +</file>
 +
 +Этот файл может быть отредактирован с помощью текстового редактора ‘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 через <key>Пуск</key>-><key>Утилиты</key>, чтобы открыть файл grub_files.tar.gz или перейдите в каталог, где с архивным файлом, откройте rox с рабочего стола, а затем воспользовавшись правой кнопкой мыши, выберите Xterm в текущем каталоге, и наберите
 +
 +<code bash>
 +tar -zxvf grub_files.tar.gz
 +</code>
 +
 +Откройте терминал, нажав на rxvt. Создайте каталог iso (лучше его создать в /my-applications).
 +
 +<code bash>
 +cd my-applications
 +</code>
 +
 +Создать каталог iso.
 +
 +<code bash>
 +mkdir iso
 +</code>
 +
 +Сделать /boot и /boot/grub/ каталоги.
 +
 +<code bash>
 +mkd -p iso/boot/grub
 +</code>
 +
 +Скопируйте файл для ''stage2_eltoito'' в ''iso/boot/grub''
 +
 +<code bash>
 +cp stage2_eltorito iso/boot/grub
 +</code>
 +
 +Вставьте дискету в дисковод и с помощью <key>Пуск</key>-><key>Файловые менеджеры</key>-><key>монтировать/отмонтировать диски</key>, смонтируйте дискету (прим.пер: ''#mount /dev/fd0 /mnt/floppy'' тоже вполне подойдет). Откроется окно Rox, отображающее содержимое загрузочной дискеты (boot floppy).
 +Щелкните правой кнопкой мыши на ''autoexe.bat'' и выберите прочитать файл (read the entries), вам это понадобиться для конфигурационного файла.
 +Вам придется принимать решение о том, что будет загружаться в первую очередь Windows или Puppy.
 +
 +Сделайте конфигурационный файл ''menu.lst''. (Помните, что в расширении файла используется строчная L - '.lst', а не единица - '.1st')
 +Вы можете сделать это, с помощью Beaver, просто открыть Beaver и либо выберите в меню "Файл / Новый" или нажать на иконку "Создать новый документ". Вставьте указанные ниже строки в новый документ:
 +
 +<file>
 +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
 +</file>
 +
 +Сохранить файл как ''iso/boot/grub/menu.lst''
 +Теперь создайте файловую систему iso набрав:
 +
 +<code bash>
 +mkisofs -R -b boot/grub/stage2_eltorito -no-emul-boot -boot-load-size 4 -boot-info-table -o grub.iso iso
 +</code>
 +
 +Это все набирается одной строкой.
 +Нажмите <key>Enter</key>, и создастся файл с именем ''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), созданной при установке обнаруживаете следующее:
 +
 +<code>
 +tiny.exe c:\vmlinuz c:\image.gz root=/dev/ram0 PFILE=pup1-none-524288 PHOME=hda1
 +</code>
 +
 +Итак определяемся, что  дискета была загружает файл pup1.
 +На жестком диске нашлись файлы vmlinuz, image.gz
 +Это наводит на мысль, создать следующее изменение в menu.lst:
 +
 +<file>
 +title Puppy Linux 1
 +kernel /vmlinuz root=/dev/ram0 PFILE=pup1-none-524288 PHOME=hda1
 +initrd /image.gz
 +</file>
 +
 +Я обозначил этот вариант, как Puppy Linux 1, и сделал аналогичную запись  с незначительными изменениями --- 'pup001' для Puppy Linux 001. Это вместе с записью для Windows98 дало мне три загрузочные строки в меню, которые работали.
 +
 +
 +====Предложения====
 + 
 +Я бы предложил следующее, если Вы хотите установить Puppy в Windows98 или ME раздел, после загрузки с live CD, найти на жестком диске файл pupsomething, удалите его и приступайте к установке на раздел Win с помощью мастера (wizard).
 +
 +Возможно, вам придется также отмонтировать раздел, на который вы будете устанавливать.
 +В заключение я надеюсь, что этот документ поможет тем, кто не имел опыта в использовании Linux и его программ.
 +
 +Этот документ был составлен из многих источников и практического опыта работы, если у вас есть какие-либо вопросы или предложения, пожалуйста оставляйте их на форуме или wiki Puppy Linux (прим.пер.:или Puppyrus).
 +
 +{{tag>GRUB загрузка}}
 +
 +//[[http://www.puppylinux.org/~whodo/wiki/how-tos/general/grubpuppyboot|Оригинал статьи]]//
 +
 +//перевел Jabx 08:33, 3 июня 2008 (UTC)//
 
 
За исключением случаев, когда указано иное, содержимое этой вики предоставляется на условиях следующей лицензии: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