Merge the following from the English version:
(new) -> 1.12 Makefile (new) -> 1.39 article.sgml Submitted by: Vitaly Bogdanov <gad@gad.glazov.net> Obtained from: The FreeBSD Russian Documentation Project
This commit is contained in:
parent
4cd535a62b
commit
5bf362c1a3
Notes:
svn2git
2020-12-08 03:00:23 +00:00
svn path=/head/; revision=24801
2 changed files with 754 additions and 0 deletions
ru_RU.KOI8-R/articles/multi-os
22
ru_RU.KOI8-R/articles/multi-os/Makefile
Normal file
22
ru_RU.KOI8-R/articles/multi-os/Makefile
Normal file
|
@ -0,0 +1,22 @@
|
|||
#
|
||||
# The FreeBSD Russian Documentation Project
|
||||
#
|
||||
# $FreeBSD$
|
||||
# $FreeBSDru: frdp/doc/ru_RU.KOI8-R/articles/multi-os/Makefile,v 1.1 2005/05/19 15:55:28 gad Exp $
|
||||
#
|
||||
# Original revision: 1.12
|
||||
#
|
||||
# Article: Installing and Using FreeBSD With Other Operating Systems
|
||||
|
||||
DOC?= article
|
||||
|
||||
FORMATS?= html
|
||||
WITH_ARTICLE_TOC?= YES
|
||||
|
||||
INSTALL_COMPRESSED?=gz
|
||||
INSTALL_ONLY_COMPRESSED?=
|
||||
|
||||
SRCS= article.sgml
|
||||
|
||||
DOC_PREFIX?= ${.CURDIR}/../../..
|
||||
.include "${DOC_PREFIX}/share/mk/doc.project.mk"
|
732
ru_RU.KOI8-R/articles/multi-os/article.sgml
Normal file
732
ru_RU.KOI8-R/articles/multi-os/article.sgml
Normal file
|
@ -0,0 +1,732 @@
|
|||
<!--
|
||||
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>
|
Loading…
Reference in a new issue