Разметка жесткого диска
В Linux и FreeBSD названия жестких дисков и разделов строятся по двум
разным схемам. В этой главе описаны главные различия между ними.
Фактически, в FreeBSD маркировка разделов взята из традиционного BSD; она
адаптирована для fdisk. Таким образом, она очень похожа на ту, которая
используется в BSD-подобных системах, таких как NetBSD, OpenBSD, Ultrix,
Digital Unix, SunOS и Solaris.
FreeBSD: "slices" и "partitions".
FreeBSD необходим свой раздел на Вашем жестком диске. В FreeBSD этот
первичный раздел называется "slice". На первичном разделе с помощью
программы disklabel, можно создать до восьми подразделов . В FreeBSD эти
логические разделы называют ``partitions'' . Эта концепция подобна Linux (и
DOS) с разбивкой расширенного раздела на логические. FreeBSD нельзя
устанавливать в расширенный раздел, сделанный Linux (или DOS). Обратите
внимание, что Linux-программа fdisk не показывает "partition"-разделы из
основного меню, но она может это делать при помощи команды "b". Это
выглядит примерно так (/dev/hda4 - это "slice"-раздел FreeBSD):
bash# fdisk /dev/hda
Command (m for help): p
Disk /dev/hda: 64 heads, 63 sectors, 621 cylinders
Units = cylinders of 4032 * 512 bytes
Device Boot Begin Start End Blocks Id System
/dev/hda1 * 1 1 27 54400+ 83 Linux native
/dev/hda2 28 28 55 56448 83 Linux native
/dev/hda3 56 56 403 701568 83 Linux native
/dev/hda4 404 404 621 439488 a5 BSD/386
Command (m for help): b
Reading disklabel of /dev/hda4 at sector 1624897.
BSD disklabel command (m for help): p
8 partitions:
# size offset fstype [fsize bsize cpg]
a: 64512 1624896 4.2BSD 0 0 0 # (Cyl. 404 - 419)
b: 104832 1689408 swap # (Cyl. 420 - 445)
c: 878976 1624896 unused 0 0 # (Cyl. 404 - 621)
e: 64512 1794240 4.2BSD 0 0 0 # (Cyl. 446 - 461)
f: 645120 1858752 4.2BSD 0 0 0 # (Cyl. 462 - 621)
BSD disklabel command (m for help): q
bash# |
Буквы `a'...`f' в первой колонке соответствуют тому, что выводит программа
disklabel FreeBSD (колонка Id). Первые три раздела - специальные. Буква `a'
определяет корневой раздел, `b' определяет раздел подкачки в то время, как
`c' определяет весь "slice"-раздел. Смотрите документацию к FreeBSD для
получения большей информации об этих буквах и различных типах разделов.
Раздел Linux. Сравнение Linux и FreeBSD.
Названия жестких дисков в Linux и FreeBSD:
Linux FreeBSD
Первичный IDE винчестер /dev/hda /dev/wd0
Вторичный IDE винчестер /dev/hdb /dev/wd1
Первичный SCSI винчестер /dev/sda /dev/sd0
Вторичный SCSI винчестер /dev/sdb /dev/sd1 |
Названия разделов (в FreeBSD "slices"-разделов) на IDE-винчестере (например, /dev/hda):
Linux FreeBSD
Первый первичный раздел /dev/hda1 /dev/wd0s1
Второй первичный раздел /dev/hda2 /dev/wd0s2
Третий первичный раздел /dev/hda3 /dev/wd0s3
Четвертый первичный раздел /dev/hda4 /dev/wd0s4 |
Названия разделов "partitions" в моей системе FreeBSD. Эти наименования вы получите по умолчанию. Вы можете изменить их, если выберете выборочную установку FreeBSD (/dev/hda4 - это FreeBSD "slice" раздел):
Linux наимен. FreeBSD наимен. FreeBSD точка монтирования
/dev/hda5 /dev/wd0s4a /
/dev/hda6 /dev/wd0s4b swap
/dev/hda7 /dev/wd0s4e /var
/dev/hda8 /dev/wd0s4f /usr |
Если Вы запустите dmesg в Linux, то вы увидите примерно следующее (Ядро
linux должно быть собранно с поддержкой файловой системы UFS. См. главу
Установка и настройка Linux):
hda: hda1 hda2 hda3 hda4 < hda5 hda6 hda7 hda8 > |
Если система FreeBSD у Вас установлена в раздел /dev/sd1s3 (/dev/sdb3 в Linux), а /dev/sdb2 - это расширенный раздел Linux, содержащий два логических раздела (/dev/sdb5 и /dev/sdb6), то предыдущий пример будет выглядеть так:
Linux наимен. FreeBSD наимен. FreeBSD точка монтирования
/dev/sdb7 /dev/sd1s3a /
/dev/sdb8 /dev/sd1s3b swap
/dev/sdb9 /dev/sd1s3e /var
/dev/sdb10 /dev/sd1s3f /usr |
Это будет показано dmesg как:
Partition check:
sdb: sdb1 sdb2 < sdb5 sdb6 > sdb3 < sdb7 sdb8 sdb9 sdb10 > |
Если расширенный раздел Linux находится после "slice"-раздела FreeBSD, то
у Вас могут возникнуть некоторые проблемы, т.к. обычно Linux инсталлируется
без поддержки UFS. В этом случае, он не будет распознавать разделение внутри
"slice"-раздела FreeBSD. Данная ситуация может выглядеть следующим образом
(/dev/hda3 "slice"-раздел FreeBSD, а /dev/hda4 - это расширенный раздел
Linux) с поддержкой UFS:
Partition check:
hda: hda1 hda2 hda3 < hda5 hda6 hda7 hda8 > hda4 < hda9 hda10 > |
без нее:
Partition check:
hda: hda1 hda2 hda3 hda4 < hda5 hda6 > |
Из-за этого Вы можете получить неправильные названия устройств и даже
потерять некоторую информацию. Мой совет: всегда располагайте ваш
"slice"-раздел FreeBSD после расширенных разделов Linux и не изменяйте
никакие логические разделы в расширенном разделе Linux, после установки
FreeBSD!
Пред. | Начало | След. |
Мини-HOWTO: "Linux+FreeBSD" | | Совместное использование области подкачки в Linux и FreeBSD. |