[ Anterior ] [ Indice ] [ Seguinte ]


2. O xeito de etiquetar discos duros de FreeBSD

Linux e FreeBSD etiquetan os discos duros e particións con dous esquemas diferentes. Esta sección explica as diferencias principais entre os dous esquemas. De feito o esquema de etiquetado de FreeBSD é unha adaptación do estilo tradicional de etiquetado BSD portado ás particións fdisk dos PCs. É, polo tanto, moi semellante a outros sistemas Unix baseados en BSD tales coma NetBSD, OpenBSD, Ultrix, Digital Unix, SunOS e Solaris.

2.1 Slices e particións de FreeBSD

FreeBSD precisa dunha das catro entradas da táboa de particións do disco duro do teu PC. Esta partición primaria chámase "slice" na terminoloxía FreeBSD. Logo utiliza o programa disklabel pra facer oito particións nesta particións primaria. Estas particións lóxicas chámanse "particións" na terminoloxía de FreeBSD. Este concepto é semellante ó xeito no que Linux (e DOS) manexan particións lóxicas nunha partición extendida. Non podes instalar FreeBSD nunha partición extendida feita por Linux (ou DOS). Fíxate en que o programa de Linux fdisk non visualiza as particións BSD nun slice FreeBSD dende o menú principal, pero pode visualizar información sobre o etiquetado de discos BSD se dás o o comando 'b'. A saída é algo coma isto (/dev/hda4 é o 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#
As letras 'a'...'f' na primeira columna son as mesmas etiquetas que as amosadas abaixo no exemplo pra un slice FreeBSD. Hai tres particións especiais na parte de BSD. A letra 'a' designa a partición raíz, o 'b' designa a partición swap, ou de intercambio, namentras que o 'c' designa o slice enteiro. Le a documentación de FreeBSD pra máis información sobre a maneira "estándar" de asignar estas letras ós diferentes tipos de partición.

2.2 Etiquetado de unidades e particións en Linux e FreeBSD

Os discos duros son etiquetados do seguinte xeito en Linux e FreeBSD:

                        Linux           FreeBSD
First IDE drive         /dev/hda        /dev/wd0
Second IDE drive        /dev/hdb        /dev/wd1
First SCSI drive        /dev/sda        /dev/sd0
Second SCSI drive       /dev/sdb        /dev/sd1
As particións (slices FreeBSD nunha unidade IDE) son etiquetadas do seguinte xeito (/dev/hda úsase coma exemplo):
					Linux		FreeBSD
Primeira partición primaria	/dev/hda1	/dev/wd0s1
Segunda partición primaria	/dev/hda2	/dev/wd0s2
Terceira partición primaria	/dev/hda3	/dev/wd0s3
Cuarta partición primaria	/dev/hda4	/dev/wd0s4

As particións no meu slice FreeBSD están etiquetadas do seguinte xeito. É o etiquetado que acadas por defecto. É posible trocar o etiquetado se fas unha instalación personalizada de FreeBSD (/dev/hda4 é o slice FreeBSD no exemplo):

Linux label     FreeBSD label   FreeBSD mount point 
/dev/hda5       /dev/wd0s4a     /
/dev/hda6       /dev/wd0s4b     swap
/dev/hda7       /dev/wd0s4e     /var
/dev/hda8       /dev/wd0s4f     /usr

Se executas dmesg en Linux verás isto coma (o kernel de Linux debe ser construido co soporte ó sistema de ficheiros UFS pra que isto funcione. Le a sección Instalar e preparar Linux):

Partition check:
 hda: hda1 hda2 hda3 hda4 < hda5 hda6 hda7 hda8 >
Se instalaches FreeBSD no slice /dev/sd1s3 (/dev/sdb3 na parte Linux), e /dev/sdb2 é unha partición extendida de Linux que contén dúas particións lóxicas (/dev/sdb5 e /dev/sdb6), o exemplo anterior sería así:
etiqueta Linux    etiqueta FreeBSD    FreeBSD mount point 
/dev/sdb7         /dev/sd1s3a         /
/dev/sdb8         /dev/sd1s3b         swap
/dev/sdb9         /dev/sd1s3e         /var
/dev/sdb10        /dev/sd1s3f         /usr

Isto amosarase coma:

Partition check:
 sdb: sdb1 sdb2 < sdb5 sdb6 > sdb3 < sdb7 sdb8 sdb9 sdb10 >
na saída de dmesg.

Se tes unha partición extendida de Linux logo do teu slice FreeBSD estás nun problema, xa que moitos disquetes de instalación están construidos sen soporte UFS, non recoñecerán as particións FreeBSD do slice. O que deberías ver coma (/dev/hda3 é o slice FreeBSD e /dev/hda4 é a partición extendida de Linux)

Partition check:
 hda: hda1 hda2 hda3 < hda5 hda6 hda7 hda8 > hda4 < hda9 hda10 >
vese coma:
Partition check:
 hda: hda1 hda2 hda3 hda4 < hda5 hda6 >
Isto pode proporcionar un asignamento de dispositivos erróneo e causar a perda de datos. O meu consello é que poñas sempre o teu slice FreeBSD logo de calquera partición extendida de Linux e non troques nengunha partición lóxica das túas particións extendidas de Linux logo de instalar FreeBSD.


[ Anterior ] [ Indice ] [ Seguinte ]