(new) -> 1.12 Makefile (new) -> 1.39 article.sgml Submitted by: Vitaly Bogdanov <gad@gad.glazov.net> Obtained from: The FreeBSD Russian Documentation Project
732 lines
29 KiB
Text
732 lines
29 KiB
Text
<!--
|
||
The FreeBSD Russian Documentation Project
|
||
|
||
$FreeBSDru: frdp/doc/ru_RU.KOI8-R/articles/multi-os/article.sgml,v 1.3 2005/06/10 08:03:28 den Exp $
|
||
$FreeBSD$
|
||
|
||
Original revision: 1.39
|
||
-->
|
||
|
||
<!DOCTYPE ARTICLE PUBLIC "-//FreeBSD//DTD DocBook V4.1-Based Extension//EN" [
|
||
<!ENTITY % articles.ent PUBLIC "-//FreeBSD//ENTITIES DocBook FreeBSD Articles Entity Set//EN">
|
||
%articles.ent;
|
||
]>
|
||
|
||
<article lang=ru>
|
||
<articleinfo>
|
||
<title>Установка и использование FreeBSD совместно с другими операционными системами</title>
|
||
|
||
<authorgroup>
|
||
<author>
|
||
<firstname>Jay</firstname>
|
||
|
||
<surname>Richmond</surname>
|
||
|
||
<affiliation>
|
||
<address>
|
||
<email>jayrich@sysc.com</email>
|
||
</address>
|
||
</affiliation>
|
||
</author>
|
||
<author>
|
||
<firstname>Виталий</firstname>
|
||
<surname>Богданов</surname>
|
||
<contrib>Перевод на русский язык: </contrib>
|
||
</author>
|
||
</authorgroup>
|
||
|
||
<pubdate>6 августа 1996</pubdate>
|
||
|
||
<legalnotice id="trademarks" role="trademarks">
|
||
&tm-attrib.freebsd;
|
||
&tm-attrib.ibm;
|
||
&tm-attrib.linux;
|
||
&tm-attrib.microsoft;
|
||
&tm-attrib.powerquest;
|
||
&tm-attrib.general;
|
||
</legalnotice>
|
||
|
||
<abstract>
|
||
<para>В этом документе описывается как заставить FreeBSD нормально сосуществовать
|
||
с другими популярными операционными системами, такими как, Linux, &ms-dos;,
|
||
&os2;, и &windows; 95. Отдельное спасибо: Annelise Anderson
|
||
<email>andrsn@stanford.edu</email>, Randall Hopper
|
||
<email>rhh@ct.picker.com</email>, и &a.jkh;.</para>
|
||
</abstract>
|
||
</articleinfo>
|
||
|
||
<sect1>
|
||
<title>Введение</title>
|
||
|
||
<para>Большинство людей не в состоянии установить несколько операционных
|
||
систем без применения дополнительного винчестера большего размера.
|
||
По этой причине была добавлена информация по работе с EIDE дисками. Существует
|
||
большое количество всевозможных комбинаций устанавливаемых операционных систем
|
||
и конфигураций жёсткого диска, поэтому <xref linkend="ch5"> может оказаться наиболее
|
||
полезным. В нем содержатся описания специфичных рабочих конфигураций, использующих несколько
|
||
операционных систем.</para>
|
||
|
||
<para>Чтение данного документа предполагает, что на вашем жёстком диске
|
||
имеется выделенное пространство для размещения дополнительной операционной
|
||
системы. Всякий раз, при изменении таблицы разделов, повышается
|
||
риск порчи данных на уже существующих разделах. В случае, если раздел DOS
|
||
единственный на вашем диске, вы можете использовать утилиту FIPS, находящуюся
|
||
на компакт-диске с FreeBSD в каталоге <filename>\TOOLS</filename>
|
||
или на <ulink url="ftp://ftp.FreeBSD.org/pub/FreeBSD/tools/">ftp</ulink>.
|
||
С её помощью вы можете изменять таблицу разделов без потери данных. Существует также
|
||
коммерческая программа <application>&partitionmagic;</application>, которая даёт
|
||
возможность изменять размер и удалять разделы без тяжёлых последствий.</para>
|
||
</sect1>
|
||
|
||
<sect1 id="ch2">
|
||
<title>Обзор менеджеров загрузки</title>
|
||
|
||
<para>Ниже представлены описания некоторых часто встречаемых менеджеров загрузки.
|
||
В зависимости от установок вашего компьютера, возможно, вы будете
|
||
использовать несколько из них на одной системе.</para>
|
||
|
||
<variablelist>
|
||
<varlistentry>
|
||
<term>Boot Easy</term>
|
||
|
||
<listitem>
|
||
<para>Этот менеджер загрузки используется во FreeBSD по умолчанию.
|
||
Он может загружать любую операционную систему, включая BSD,
|
||
&os2; (HPFS), &windows; 95 (FAT и FAT32), и Linux.
|
||
Разделы выбираются с помощью функциональных клавиш.</para>
|
||
</listitem>
|
||
</varlistentry>
|
||
|
||
<varlistentry>
|
||
<term>&os2; Boot Manager</term>
|
||
|
||
<listitem>
|
||
<para>Этот менеджер может работать с разделами FAT, FAT32, HPFS,
|
||
FFS (FreeBSD), и EXT2 (Linux). Разделы выбираются с помощью
|
||
клавиш со стрелками. The &os2; Boot Manager единственный менеджер
|
||
загрузки, использующий свой отдельный раздел, в отличии от
|
||
других, которые используют master boot record (MBR). Следовательно,
|
||
он должен быть установлен до 1024 цилиндра, чтобы избежать проблем
|
||
с загрузкой. Данный менеджер может загружать Linux, используя LILO,
|
||
когда последний находится в загрузочном секторе раздела. Смотрите <ulink
|
||
url="http://www.linuxresources.com/LDP/HOWTO/HOWTO-INDEX.html">Linux
|
||
HOWTOs</ulink> для дополнительной информации о загрузке Linux
|
||
с помощью the &os2; boot manager.</para>
|
||
</listitem>
|
||
</varlistentry>
|
||
|
||
<varlistentry>
|
||
<term>OS-BS</term>
|
||
|
||
<listitem>
|
||
<para>Данный менеджер - альтернатива Boot Easy. Он предоставляет
|
||
больше контроля над процессом загрузки, с возможностью выбора раздела по
|
||
умолчанию и booting timeout. Бета версии этих программ позволяют выбирать
|
||
ОС с помощью стрелок. Данную программу можно найти на диске
|
||
с FreeBSD в папке <filename class="directory">\TOOLS</filename> или на <ulink
|
||
url="ftp://ftp.FreeBSD.org/pub/FreeBSD/tools/">ftp</ulink>.</para>
|
||
</listitem>
|
||
</varlistentry>
|
||
|
||
<varlistentry>
|
||
<term>LILO, или LInux LOader</term>
|
||
|
||
<listitem>
|
||
<para>Ограниченный менеджер загрузки. После некоторых манипуляций с
|
||
конфигурационным файлом, способен загружать FreeBSD.</para>
|
||
</listitem>
|
||
</varlistentry>
|
||
</variablelist>
|
||
|
||
<note id="fat32">
|
||
<title>Несколько слов про FAT32</title>
|
||
|
||
<para>FAT32 - это замена файловой системы FAT, впервые
|
||
появившаяся в Microsoft's OEM SR2 Beta release. Своим
|
||
появлением к концу 1996 года, FAT32 начала вытеснять FAT
|
||
с компьютеров с установленной &windows; 95. FAT32 - это
|
||
продолжение файловой системы FAT. Она позволяет использовать
|
||
кластеры меньшего размера для больших жёстких дисков. Также
|
||
были внесены изменения в структуру загрузочного сектора и в таблицу
|
||
секторов, сделав её тем самым, несовместимой с некоторыми менеджерами
|
||
загрузки.</para>
|
||
</note>
|
||
</sect1>
|
||
|
||
<sect1 id="ch3">
|
||
<title>Пример типичной установки</title>
|
||
|
||
<para>Предположим, что у меня есть 2 EIDE диска большого объёма. Мне
|
||
надо установить FreeBSD, Linux и &windows; 95.</para>
|
||
|
||
<para>Вот как бы я это сделал:</para>
|
||
|
||
<itemizedlist>
|
||
<listitem>
|
||
<para><filename>/dev/wd0</filename> (первый жёсткий диск)</para>
|
||
</listitem>
|
||
|
||
<listitem>
|
||
<para><filename>/dev/wd1</filename> (второй жёсткий диск)</para>
|
||
</listitem>
|
||
</itemizedlist>
|
||
|
||
<para>У обоих дисков 1416 цилиндра.</para>
|
||
|
||
<procedure>
|
||
<step>
|
||
<para>Используя загрузочную дискету от &ms-dos; или &windows; 95, с
|
||
помощью утилиты <filename>FDISK.EXE</filename> на первом диске
|
||
создаю первичный (primary) раздел размером 50 MB (35-40
|
||
для &windows; 95, плюс немного свободного места) . Затем на втором
|
||
диске создаю раздел побольше для моих &windows; приложений и данных.</para>
|
||
</step>
|
||
|
||
<step>
|
||
<para>Перезагружаюсь и устанавливаю &windows; 95 (легче сказать, чем сделать)
|
||
на диск <filename>C:</filename> .</para>
|
||
</step>
|
||
|
||
<step>
|
||
<para>Дальше устанавливаю Linux. Не уверен про все дистрибутивы Linux,
|
||
но в <ulink url="http://www.slackware.com">Slackware</ulink> LILO
|
||
включен по умолчанию (смотрите <xref linkend="ch2">). С помощью
|
||
<command>fdisk</command> от Linux выделяю место на первом
|
||
диске (примерно 300 MB под большой раздел root и немного под swap).</para>
|
||
</step>
|
||
|
||
<step>
|
||
<para>LILO устанавливаю в загрузочный сектор Linux root раздела, а не в
|
||
MBR (master boot record).</para>
|
||
</step>
|
||
|
||
<step>
|
||
<para>Оставшееся на дисках место отдаю FreeBSD. Убеждаюсь, что
|
||
мой FreeBSD root раздел не выходит за пределы 1024 цилиндра (на наших
|
||
гипотетических 720 MB дисках 1024 цилиндр равен 528 MB).
|
||
Пространство первого диска (примерно 270 MB) отдам под разделы
|
||
<filename class="directory">/usr</filename> и <filename class="directory">/</filename>.
|
||
Остаток второго жёсткого диска (его размер зависит от размера раздела под
|
||
&windows; приложения/данные, выделенного мною на первом шаге)
|
||
можно выделить под <filename class="directory">/usr/src</filename> раздел и swap
|
||
пространство.</para>
|
||
</step>
|
||
|
||
<step>
|
||
<para>При просмотре в программе <command>fdisk</command> от &windows; 95
|
||
мои диски должны выглядеть примерно так:
|
||
|
||
<screen>---------------------------------------------------------------------
|
||
|
||
Display Partition Information
|
||
|
||
Current fixed disk drive: 1
|
||
|
||
Partition Status Type Volume_Label Mbytes System Usage
|
||
C: 1 A PRI DOS 50 FAT** 7%
|
||
2 A Non-DOS (Linux) 300 43%
|
||
|
||
Total disk space is 696 Mbytes (1 Mbyte = 1048576 bytes)
|
||
|
||
Press Esc to continue
|
||
|
||
---------------------------------------------------------------------
|
||
|
||
Display Partition Information
|
||
|
||
Current fixed disk drive: 2
|
||
|
||
Partition Status Type Volume_Label Mbytes System Usage
|
||
D: 1 A PRI DOS 420 FAT** 60%
|
||
|
||
Total disk space is 696 Mbytes (1 Mbyte = 1048576 bytes)
|
||
|
||
Press Esc to continue
|
||
|
||
---------------------------------------------------------------------</screen>
|
||
** FAT16 или FAT32. Зависит от того, используется ли OEM SR2
|
||
update. Подробнее в <xref linkend="ch2"> .</para>
|
||
</step>
|
||
|
||
<step>
|
||
<para>Устанавливаю FreeBSD. В настройках BIOS для моего первого диска
|
||
должна стоять опция <quote>NORMAL</quote>. Если это не так, то
|
||
я ввожу реальные данные геометрии диска во время
|
||
загрузки. Чтобы их узнать - загружаю &windows; 95 и смотрю необходимую
|
||
информацию в Microsoft Diagnostics (<filename>MSD.EXE</filename>)
|
||
или смотрю их в BIOS. Ввожу <literal>hd0=1416,16,63</literal>,
|
||
где <replaceable>1416</replaceable> - количество цилиндров на моем
|
||
диске, <replaceable>16</replaceable> - количество головок,
|
||
<replaceable>63</replaceable> - количество секторов на дорожку.</para>
|
||
</step>
|
||
|
||
<step>
|
||
<para>При разбивке диска устанавливаю Boot Easy на первый жёсткий
|
||
диск. Не стоит беспокоиться о втором диске, т.к. там нечему загружаться.</para>
|
||
</step>
|
||
|
||
<step>
|
||
<para>После перезагрузки Boot Easy должен определить мои три
|
||
загружаемых раздела, как DOS (&windows; 95), Linux и BSD (FreeBSD).</para>
|
||
</step>
|
||
</procedure>
|
||
</sect1>
|
||
|
||
<sect1 id="ch4">
|
||
<title>Важные замечания</title>
|
||
|
||
<para>Большинство операционных систем очень придирчивы в вопросах, где и
|
||
как они будут установлены на диске. &windows; 95 и DOS должны быть
|
||
установлены в первичный (primary) раздел на первом жёстком диске. &os2;
|
||
не требует таких ограничений. Она может быть установлена на первый или
|
||
второй диск в первичный (primary) или расширенный (extended) раздел. Если вы не
|
||
уверены, то располагайте начало загрузочных разделов до 1024 цилиндра.</para>
|
||
|
||
<para>Если вы устанавливаете &windows; 95 на компьютер с уже установленной BSD
|
||
системой, то установка <quote>уничтожит</quote> ваш MBR, и вам надо будет заново
|
||
переустановить ваш предыдущий загрузчик. Boot Easy может быть
|
||
переустановлен с помощью программы <filename>BOOTINST.EXE</filename>,
|
||
расположенной на установочном диске FreeBSD в
|
||
каталоге <filename class="directory">\TOOLS</filename> или
|
||
на <ulink url="ftp://ftp.FreeBSD.org/pub/FreeBSD/tools/">ftp</ulink>.
|
||
Также вы можете заново начать процесс установки. В редакторе разделов
|
||
для FreeBSD раздела поставьте флаг "загрузочный", выберите менеджер загрузки,
|
||
а затем нажмите W, чтобы записать ((W)rite) информацию в MBR. После перезагрузи
|
||
Boot Easy должен определить &windows; 95, как DOS.</para>
|
||
|
||
<para>Заметьте, что &os2; поддерживает FAT и HPFS, но не FFS (FreeBSD)
|
||
или EXT2 (Linux) разделы. Аналогично, &windows; 95 может работать только с
|
||
файловыми системами FAT и FAT32 (смотрите <xref linkend="ch2">). FreeBSD может
|
||
работать с большинством файловых систем, но на сегодняшний день не
|
||
поддерживает HPFS разделы. Linux может читать HPFS разделы, но не может
|
||
писать на них. Последние версии Linux kernel (2.x) поддерживают &windows; 95
|
||
VFAT разделы (VFAT поддерживает длинные имена файлов в &windows; 95,
|
||
а в основном это тот же самый FAT). Linux тоже умеет работать с большим
|
||
количеством файловых систем.</para>
|
||
</sect1>
|
||
|
||
<sect1 id="ch5">
|
||
<title>Примеры</title>
|
||
|
||
<para><emphasis>(Глава нуждается в доработке, пожалуйста присылайте ваши примеры
|
||
на адрес <email>jayrich@sysc.com</email>)</emphasis>.</para>
|
||
|
||
<para>FreeBSD + &windows; 95: Если вы установили FreeBSD следом за &windows; 95,
|
||
то в меню Boot Easy вы увидите <literal>DOS</literal>. Это и есть
|
||
&windows; 95. Если же вы установили &windows; 95 после FreeBSD, то пожалуйста
|
||
прочтите <xref linkend="ch4"> . Если у вашего диска меньше 1024 цилиндров, то
|
||
у вас не должно быть проблем с загрузкой. Если один из ваших разделов лежит
|
||
за допустимыми границами, а от DOS (&windows; 95) вы получаете сообщения,
|
||
типа <errorname>invalid system disk</errorname>, а FreeBSD отказывается
|
||
загружаться, то проверьте наличие опции <quote>> 1024 cylinder
|
||
support</quote> или <quote>NORMAL/LBA</quote> режима в вашем BIOS. DOS, для
|
||
нормальной загрузки, может нуждаться в LBA (Logical Block Addressing). Если
|
||
переключение настроек в BIOS каждый раз при загрузке не привлекает вас, то
|
||
вы можете загружать FreeBSD из DOS, используя утилиту <filename>FBSDBOOT.EXE</filename>,
|
||
расположенную на вашем CD (находит FreeBSD раздел и загружает его).</para>
|
||
|
||
<para>FreeBSD + &os2; + &windows; 95: The &os2; Boot Manager может
|
||
загружать все эти системы. Думаю, что здесь не должно быть проблем.</para>
|
||
|
||
<para>FreeBSD + Linux: Можете использовать Boot Easy.</para>
|
||
|
||
<para>FreeBSD + Linux + &windows; 95: (смотрите <xref linkend="ch3">)</para>
|
||
</sect1>
|
||
|
||
<sect1 id="sources">
|
||
<title>Другие источники информации</title>
|
||
|
||
<para>Существует большое количество <ulink
|
||
url="http://www.linuxresources.com/LDP/HOWTO/HOWTO-INDEX.html">Linux
|
||
HOW-TOs</ulink>, в которых рассматриваются вопросы использования нескольких операционных
|
||
систем на одном диске.</para>
|
||
|
||
<para>В <ulink
|
||
url="http://www.linuxresources.com/LDP/HOWTO/mini/Linux+DOS+Win95+OS2.html">Linux+DOS+Win95+OS2
|
||
mini-HOWTO</ulink> можно найти информацию по настройке &os2; boot
|
||
manager. Полезными могут быть следующие ссылки: <ulink
|
||
url="http://www.linuxresources.com/LDP/HOWTO/mini/Linux+FreeBSD.html">Linux+FreeBSD
|
||
mini-HOWTO</ulink>, и <ulink url="http://www.in.net/~jkatz/win95/Linux-HOWTO.html">Linux-HOWTO</ulink>.</para>
|
||
|
||
<para>Статья <ulink
|
||
url="http://www.tburke.net/info/ntldr/ntldr_hacking_guide.htm">&windowsnt;
|
||
Loader Hacking Guide</ulink> содержит полезную информацию по
|
||
мультизагрузке &windowsnt;, &windows; 95 и DOS с другими операционными
|
||
системами.</para>
|
||
|
||
<para>В архиве документации от Hale Landis <quote>How It Works</quote> содержится
|
||
много интересной информации по всем видам геометрии диска и по процессу
|
||
загрузки. Доступен по адресу:
|
||
<ulink url="ftp://fission.dt.wdc.com/pub/otherdocs/pc_systems/how_it_works/allhiw.zip"></ulink>.</para>
|
||
|
||
<para>И наконец, не забывайте про документацию ядра FreeBSD по процедуре
|
||
загрузки, доступную в исходных текстах ядра (смотрите
|
||
файл <ulink
|
||
url="file://localhost/usr/src/sys/i386/boot/biosboot/README.386BSD">/usr/src/sys/i386/boot/biosboot/README.386BSD</ulink>.</para>
|
||
</sect1>
|
||
|
||
<sect1>
|
||
<title>Технические подробности</title>
|
||
|
||
<para><emphasis>(Главу написал Randall Hopper,
|
||
<email>rhh@ct.picker.com</email>)</emphasis></para>
|
||
|
||
<para>В этой главе я попытаюсь дать достаточно основной информации,
|
||
касающейся жёстких дисков и процесса загрузки, так, чтобы при наличии
|
||
определенных проблем, у вас не возникло трудностей при их
|
||
разрешении. Глава начинается с довольно простых терминов,
|
||
так что, при желании вы можете спокойно пропустить часть главы
|
||
и начать чтение с незнакомой для вас информации.</para>
|
||
|
||
<sect2>
|
||
<title>Вводная информация по дискам</title>
|
||
|
||
<para>Существует три фундаментальных термина, определяющих
|
||
расположение данных на жёстком диске: цилиндры, головки и
|
||
сектора (Cylindres, Heads, Sectors). Совсем не обязательно
|
||
знать, что означает в отдельности каждый из этих терминов,
|
||
главное, что вместе они определяют физическое расположение
|
||
данных на вашем винчестере.</para>
|
||
|
||
<para>На диске находится определенное количество цилиндров, головок
|
||
и секторов на цилиндр-головку (другое название - дорожка (track) ). Вместе
|
||
данная информация определяет
|
||
<quote>физическую геометрию диска</quote>. В одном секторе 512 байт,
|
||
и 63 сектора на одной дорожке. Количество цилиндров и головок
|
||
различно у каждого диска. Таким образом можно подсчитать размер
|
||
вашего диска в байтах:</para>
|
||
|
||
<informalexample>
|
||
<para>(# of cylinders) × (# heads) × (63
|
||
sectors/track) × (512 bytes/sect)</para>
|
||
</informalexample>
|
||
|
||
<para>Возьмем, к примеру, мой жесткий диск 1.6Gb Western Digital AC31600 EIDE:</para>
|
||
|
||
<informalexample>
|
||
<para>(3148 cyl) × (16 heads) × (63
|
||
sectors/track) × (512 bytes/sect)</para>
|
||
</informalexample>
|
||
|
||
<para>Получаю 1,624,670,208 байт, что примерно равно 1.6 гигабайт.</para>
|
||
|
||
<para>Как вы можете заметить, физическая геометрия диска
|
||
(количество цилиндров, головок и секторов на дорожку), показываемая в
|
||
программе ATAID и во многих других не соответствует
|
||
действительности. Вероятно ваш жёсткий диск тоже характеризуется
|
||
параметрами, полученными этими программами. Будьте
|
||
осторожны: если вы используйте BIOS LBA (смотрите <xref linkend="limits">),
|
||
вы не можете использовать любую программу для получения
|
||
данных физической геометрии. Это происходит по причине того,
|
||
что многие программы (например, <filename>MSD.EXE</filename> или
|
||
fdisk от FreeBSD) не работают с физической геометрией,
|
||
вместо этого они показывают
|
||
данные <firstterm>измененной геометрии</firstterm> (виртуальные номера,
|
||
полученные с помощью LBA). Читайте дальше, чтобы узнать что это значит.</para>
|
||
|
||
<para>Номер цилиндра, номер головки и
|
||
номер сектора в пределах дорожки характеризуют сектор на
|
||
диске (блок данных размером в 512B). Цилиндры и головки нумеруются
|
||
начиная с нуля, а сектора с единицы.</para>
|
||
|
||
<para>Для тех кто заинтересовался дополнительной информацией, касающейся
|
||
геометрии диска, загрузочных секторов, BIOS и т.д. могут найти все
|
||
необходимое в сети. Проверьте Query Lycos, Yahoo и др. по ключевым словам
|
||
<literal>boot sector</literal> или <literal>master boot record</literal>.
|
||
Среди другой полезной информации, вы найдете архив документов от
|
||
Hale Landis <citetitle>How It Works</citetitle>. В <xref
|
||
linkend="sources"> находится ссылка на этот архив.</para>
|
||
|
||
<para>Достаточно терминологии. Давайте поговорим о загрузке.</para>
|
||
</sect2>
|
||
|
||
<sect2 id="booting">
|
||
<title>Процесс загрузки</title>
|
||
|
||
<para>В первом секторе вашего диска (0 цилиндр, 0 головка, 1 сектор)
|
||
находится главная загрузочная запись (Master Boot
|
||
Record (MBR) ). В ней содержится информация о разделах
|
||
вашего диска. Там может храниться информация о 4
|
||
<firstterm>разделах</firstterm>. Для обозначения разделов во FreeBSD используют
|
||
термин <firstterm>slices</firstterm> (слайсы), чтобы не возникало путаницы с её
|
||
собственными разделами, но это не относится к нашей теме. На каждый из разделов
|
||
можно установить операционную систему.</para>
|
||
|
||
<para>Каждая запись в MBR состоит из полей <firstterm>Partition
|
||
ID</firstterm>, <firstterm>Start Cylinder/Head/Sector</firstterm> и
|
||
<firstterm>End Cylinder/Head/Sector</firstterm>. Partition ID
|
||
сообщает нам к какому типу файловой системы (к какой ОС) относится данный
|
||
раздел, а Start/End говорит о местонахождении данного
|
||
раздела. В таблице <xref linkend="tbl-pid"> представлено несколько
|
||
примеров Partition IDs.</para>
|
||
|
||
<table id="tbl-pid">
|
||
<title>Partition IDs</title>
|
||
|
||
<tgroup cols="2">
|
||
<thead>
|
||
<row>
|
||
<entry>ID (hex)</entry>
|
||
<entry>Description</entry>
|
||
</row>
|
||
</thead>
|
||
|
||
<tbody>
|
||
<row>
|
||
<entry>01</entry>
|
||
<entry>Primary DOS12 (12-bit FAT)</entry>
|
||
</row>
|
||
|
||
<row>
|
||
<entry>04</entry>
|
||
<entry>Primary DOS16 (16-bit FAT)</entry>
|
||
</row>
|
||
|
||
<row>
|
||
<entry>05</entry>
|
||
<entry>Extended DOS</entry>
|
||
</row>
|
||
|
||
<row>
|
||
<entry>06</entry>
|
||
<entry>Primary big DOS (> 32MB)</entry>
|
||
</row>
|
||
|
||
<row>
|
||
<entry>0A</entry>
|
||
<entry>&os2;</entry>
|
||
</row>
|
||
|
||
<row>
|
||
<entry>83</entry>
|
||
<entry>Linux (EXT2FS)</entry>
|
||
</row>
|
||
|
||
<row>
|
||
<entry>A5</entry>
|
||
<entry>FreeBSD, NetBSD, 386BSD (UFS)</entry>
|
||
</row>
|
||
</tbody>
|
||
</tgroup>
|
||
</table>
|
||
|
||
<para>Не все разделы могут быть загружаемыми (например, Extended
|
||
DOS). Некоторые могут—некоторые нет. Настройка
|
||
<firstterm>загрузочного сектора раздела</firstterm>, присутствующего
|
||
в начале, позволяет сделать раздел загружаемым.</para>
|
||
|
||
<para>Когда вы настраиваете ваш любимый загрузчик,
|
||
он просматривает MBR каждого диска и дает вам возможность присвоить
|
||
имена найденным разделам. При загрузке из MBR вашего первого
|
||
диска запускается менеджер загрузки. Он просматривает информацию
|
||
о выбранном вами разделе и использует значение поля
|
||
Start Cylinder/Head/Sector для передачи управления загрузочному сектору
|
||
вашего раздела. В свою очередь этот загрузочный сектор содержит
|
||
достаточно информации для загрузки операционной системы.</para>
|
||
|
||
<para>Один немаловажный момент: на каждом диске есть свой MBR, но
|
||
используется MBR того диска, который определяется BIOS
|
||
первым. Если у вас только IDE диски,
|
||
то основным будет первый диск на первом контролёре. Похожая
|
||
схема и для SCSI дисков. Если у вас имеется
|
||
и IDE, и SCSI диск, то BIOS первым определит IDE диск. Загрузочный
|
||
менеджер будет установлен на первый определившийся диск.</para>
|
||
</sect2>
|
||
|
||
<sect2 id="limits">
|
||
<title>Ограничения при загрузке и предупреждения</title>
|
||
|
||
<para>Интересная информация, которую стоит прочитать.</para>
|
||
|
||
<sect3>
|
||
<title>Ограничение в 1024 цилиндра и чем может помочь BIOS LBA</title>
|
||
|
||
<para>Первая часть загрузочного процесса происходит на уровне
|
||
BIOS (если это термин новый для вас, BIOS это программируемый
|
||
чип, находящийся на материнской плате, который обеспечивает
|
||
компьютер загрузочным кодом). И так, первая часть процесса
|
||
загрузки может подвергаться ограничениям BIOS.</para>
|
||
|
||
<para>На данном этапе интерфейс BIOS производит чтение
|
||
диска (INT 13H, 2 подфункция) и выделяет 10 бит на номер
|
||
цилиндра, 8 бит на номер головки и 6 бит на номер
|
||
сектора. Это сильно ограничивает пользователей
|
||
данного интерфейса (менеджеров загрузки, находящихся в MBR, а
|
||
также загрузчиков ОС, находящихся в загрузочных секторах) следующими
|
||
значениями:</para>
|
||
|
||
<itemizedlist>
|
||
<listitem>
|
||
<para>Максимально возможное количество цилиндров - 1024</para>
|
||
</listitem>
|
||
|
||
<listitem>
|
||
<para>Максимально возможное количество головок - 256</para>
|
||
</listitem>
|
||
|
||
<listitem>
|
||
<para>Максимально возможное количество секторов на дорожку -
|
||
64 (если точнее, то 63, <literal>0</literal>
|
||
не используется)</para>
|
||
</listitem>
|
||
</itemizedlist>
|
||
|
||
<para>В настоящее время у жёстких дисков большое количество
|
||
цилиндров, но мало головок и, несомненно, что количество
|
||
цилиндров в современных винчестерах превышает 1024. Учитывая
|
||
данный факт и интерфейс BIOS мы теперь не можем грузиться с
|
||
любого места диска. Загрузочный код (менеджеры загрузки и
|
||
загрузчики ОС, находящиеся на всех
|
||
загружаемых разделах) должен располагаться до 1024
|
||
цилиндра. Если у вас обычный жесткий диск с 16 головками,
|
||
то он равен:</para>
|
||
|
||
<informalexample>
|
||
<para>1024 cyl/disk × 16 heads/disk × 63
|
||
sect/(cyl-head) × 512 bytes/sector</para>
|
||
</informalexample>
|
||
|
||
<para>Это примерно равно часто упоминаемому лимиту в 528MB.</para>
|
||
|
||
<para>Вот здесь на помощь приходит режим BIOS
|
||
LBA (Logical Block Addressing). BIOS LBA предоставляет
|
||
пользователям вызовов BIOS API доступ к цилиндрам, лежащим
|
||
выше 1024 цилиндра, посредством переопределения
|
||
цилиндра. Данный режим переназначает количество цилиндров и
|
||
количество головок, делая его для BIOS диском, видимым
|
||
с меньшим количеством цилиндров и большим количеством
|
||
головок. Другими словами, используется преимущество того факта,
|
||
что жёсткие диски имеют сравнительно небольшое количество
|
||
головок и гораздо больше цилиндров. Происходит изменение
|
||
баланса между количеством цилиндров и головок, так, что
|
||
теперь оба параметра умещаются в выше упомянутые
|
||
ограничения (1024 цилиндра, 256 головок).</para>
|
||
|
||
<para>С BIOS LBA предел объёма жёсткого диска виртуально
|
||
убирается (переносится на 8Гб). Если у вас поддерживается
|
||
LBA BIOS, то вы можете установить FreeBSD или любую другую
|
||
ОС в какое угодно место на диске, не боясь 1024 цилиндра.</para>
|
||
|
||
<para>Возьмем, к примеру, мой жёсткий диск
|
||
1.6 Gig Western Digital. Вот данные его физической геометрии:</para>
|
||
|
||
<informalexample>
|
||
<para>(3148 cyl, 16 heads, 63 sectors/track, 512
|
||
bytes/sector)</para>
|
||
</informalexample>
|
||
|
||
<para>BIOS LBA преобразует их к виду:</para>
|
||
|
||
<informalexample>
|
||
<para>(787 cyl, 64 heads, 63 sectors/track, 512
|
||
bytes/sector)</para>
|
||
</informalexample>
|
||
|
||
<para>В итоге получается тот же размер диска, но с
|
||
количеством цилиндров и головок, лежащим в пределах
|
||
значений BIOS API. На одном из моих дисков установленные
|
||
Linux и FreeBSD находятся за 1024 физическим
|
||
цилиндром. Благодаря BIOS LBA, обе операционные системы
|
||
нормально загружаются.</para>
|
||
</sect3>
|
||
|
||
<sect3>
|
||
<title>Выделение дополнительного места для менеджерa загрузки</title>
|
||
|
||
<para>Другой момент, на который следует обратить
|
||
внимание - выделение пространства для менеджера
|
||
загрузки. Следует хорошо разбираться в данном вопросе, чтобы
|
||
избавить себя от повторных переустановок одной или нескольких
|
||
ОС.</para>
|
||
|
||
<para>Если вы смотрели <xref linkend="booting"> и читали про
|
||
главную загрузочную запись (MBR), загрузочные сектора разделов и
|
||
процесс загрузки, возможно у вас появился вопрос о том,
|
||
где ваш менеджер загрузки будет располагаться. Некоторые
|
||
менеджеры довольно малы и они вместе с таблицей разделов
|
||
нормально умещаются в Master Boot Sector. Другие требуют
|
||
дополнительного пространства и обычно используют несколько
|
||
секторов на дорожке с 0 цилиндром и 0 головкой, находящейся
|
||
после MBR, так как обычно она свободна…обычно.</para>
|
||
|
||
<para>В этом и состоит уловка. Некоторые операционные системы,
|
||
включая FreeBSD, позволяют создавать разделы, начинающиеся
|
||
сразу после MBR (0 цилиндр, 0 головка, 2 сектор). Если в
|
||
программе sysinstall вы укажите полностью свободный диск
|
||
или с свободным пространством в начале, то FreeBSD создаст
|
||
радел, начинающийся именно с самого начала диска (так было,
|
||
когда я в последний раз занимался этим вопросом). Затем,
|
||
когда вы будете устанавливать менеджер загрузки, требующий
|
||
несколько дополнительных секторов, то вы затрете начальные
|
||
данные первого раздела. В случае с FreeBSD, вы потеряете
|
||
disk label, что приведет к невозможности загрузки с FreeBSD
|
||
раздела.</para>
|
||
|
||
<para>Самый простой путь избежать данной проблемы и
|
||
позже попробовать другие менеджеры загрузки - при разбивке
|
||
диска всегда оставлять первую дорожку диска вне
|
||
разделов. Это значит, что надо оставить свободное место,
|
||
начиная с 0 цилиндра, 0 головки, 2 сектора до 0 цилиндра, 1 головки,
|
||
63 сектора и создать первый раздел, начинающийся с
|
||
0 цилиндра, 1 головки, 1 сектора. Полезно в начале диска
|
||
создавать DOS раздел, так как он оставляет данное место свободным
|
||
(по этой причине менеджеры загрузки предполагают, что
|
||
начало диска свободно). Я предпочитаю создавать в начале
|
||
диска DOS раздел размером в 1 мегабайт, так как это также предотвращает
|
||
изменения букв дисков, представляющих первичные (primary) разделы,
|
||
при последующем изменении таблицы разделов.</para>
|
||
|
||
<para>Следующие менеджеры загрузки используют Master Boot Sector
|
||
для хранения своего кода и данных:</para>
|
||
|
||
<itemizedlist>
|
||
<listitem>
|
||
<para>OS-BS 1.35</para>
|
||
</listitem>
|
||
|
||
<listitem>
|
||
<para>Boot Easy</para>
|
||
</listitem>
|
||
|
||
<listitem>
|
||
<para>LILO</para>
|
||
</listitem>
|
||
</itemizedlist>
|
||
|
||
<para>Эти менеджеры загрузки требуют несколько дополнительных секторов
|
||
после Master Boot Sector:</para>
|
||
|
||
<itemizedlist>
|
||
<listitem>
|
||
<para>OS-BS 2.0 Beta 8 (сектора со 2 по 5)</para>
|
||
</listitem>
|
||
|
||
<listitem>
|
||
<para>The &os2; boot manager</para>
|
||
</listitem>
|
||
</itemizedlist>
|
||
</sect3>
|
||
|
||
<sect3>
|
||
<title>Что делать если компьютер вдруг отказывается загружаться?</title>
|
||
|
||
<para>В некоторый момент, при установке загрузчиков, ваш MBR может
|
||
оказаться в таком состоянии, что вы не сможете
|
||
загрузиться. Это маловероятно, но возможно, например, при
|
||
повторном разбиении диска с уже установленным загрузчиком.</para>
|
||
|
||
<para>Если у вас имеется DOS раздел, то вы можете загрузиться с
|
||
загрузочной DOS дискеты и выполнить команду:</para>
|
||
|
||
<informalexample>
|
||
<screen>A:\> <userinput>FDISK /MBR</userinput></screen>
|
||
</informalexample>
|
||
|
||
<para>Это заново установит в MBR загрузочный код
|
||
DOS. Теперь вы можете загружать DOS и только DOS.
|
||
Аналогично, просто перезапустите установку вашего менеджера
|
||
загрузки с загрузочной дискеты.</para>
|
||
</sect3>
|
||
</sect2>
|
||
</sect1>
|
||
</article>
|