Overblog Suivre ce blog
Editer l'article Administration Créer mon blog

Sous FreeBSD, un disque dur en tant que périphérique se dénomme "ada" pour un disque SATA/ATA (ATA= IDE) ou encore "da" pour un disque SCSI/USB. Ainsi, on peut retrouver le disque SATA "x" dans le répertoire /dex/adax. Ou bien encore le disque dur USB externe sous /dev/dax.

INTRODUCTION

L'utilitaire gpart est utilisé pour contrôler le partitionnement des disques avec la classe GEOM qui est un framework d'abstraction d'accès à des périphériques bruts. Cette commande sert donc à gérer les partitions/tranches d'un disque.

Depuis que le BIOS existe, les disques durs utilisent la table de partitionnement MBR( Master Boot Record = Registre de démarrage principal).. Grâce à l'UEFI, remplacant progressivement le BIOS classique, la change donne et on voit l'apparition d'une nouvelle table de partitionnement bien avantageuse, le GPT (Globally Unique Identifier -GUID- Partition Table).

Avec une table de partition GPT on peut créer jusqu'à 128 partitions d'où un de ses principaux avantages (avec la capacité de stockage du disque quasi illimitée). Par contre, une table de partition MBR ne permet que de créer seulement 4 partitions primaires dont une au moins qui doit être active pour contenir le système d'exploitation bootable. FreeBSD apelle une partition primaire une "tranche" ou "slice" dans laquelle il sera possible d'incorporer d'autres partitions (logiques, étendues).

Avec une table de partition en GPT FreeBSD partitionne directement. Ainsi nous pourrions faire disons 6 partitions sur le disque ada0. Que ce soit pour le secteur de démarrage, le /, le /home, le /var le swap etc les dénominations seraient les suivantes:

ada0p1, ada0p2, ada0p3, ada0p4, ada0p5 et ada0p6.

Si la table de partition est en MBR on pourra créer jusqu'à 4 tranches au total (4 partitions primaires) dans lesquelles on pourra incorporer des partitions étendues.

Disons par exemple que nous avons 2 tranches ou "slices": ce sera ada0s1 et ada0s2.

Au sein de la tranche ada0s2

 

Manipuler un disque avec gpart

Afficher les disques et les informations relatives à leurs tables de partitions:

 

% /sbin/gpart show - pl /dev/adax

% gpart show -pr dax

utile: : l'option "-p" montre les noms plutôt que l'index des partitons!

 

Effacer une partition y (1,n) sur le disque x

# /sbin/gpart delete -i y /dev/adax

# gpart delete -i y dax

 

Effacer toute partition est nécessaire avant d'effacer une table de partition entière sur un disque!

 

Effacer une table des partitions

# /sbin/gpart destroy /dev/adax

# gpart destroy dax

 

Pour plus de propreté on pensera à effectuer cette commande (voir le chapitre "dd" pour plus de compréhension).

 

 dd if=/dev/zero of=/dev/ada1 count=1024

 

Réparer une table de partition

 

# /sbin/gpart recover /dev/adax

# gpart recover dax

 

 

La réparation d'une table des paritions ne fonctionne que sur une table des paritions GPT.

 

Ajouter une table des partitions sur un disque vierge de table des partitions

# gpart create -s GPT /dev/adax

# /sbin/gpart create -s GPT -f active adax

# gpart create -s MBR dax

 

Ajouter une partition sur GPT

# gpart add -t freebsd-ufs adax

# gpart add -t apple-hfs -s 500G dax

 

Ajouter une slice sur MBR

# gpart add -t fat32 adax

# gpart add -t ntfs -s 300G dax

 

Redimensionner une partition

 

Voir section "EXAMPLES" de la man page de gpart ...

 

TRAVAUX PRATIQUES

Exercice 1 faire manuellement le partitionnement automatique sur une table de partition GPT que ferait FreeBSD en vue d'installer le système sur le disque adax d'une capacité de 128G.

 

 

# gpart create -s GPT -f active /dev/adax

# gpart add -s 1M -t bios-boot /dev/adax

# gpart add -s 120G -t freebsd-ufs /dev/adax

# gpart add -t freebsd-swap /dev/adax

 

Exercice 2: Créer des slices et partitions pour installer FreeBSD dans une table de partitionnement MBR.

 

1
2
3
4
5
6
7
8
9
10
11
12
13
gpart create -s mbr ada0
gpart add -t freebsd ada0
gpart create -s bsd ada0s1
# ada0s1a => /
gpart add -s 32G -t freebsd-ufs ada0s1
# ada0s1b => Swap
gpart add -s 2G -t freebsd-swap ada0s1
# ada0s1c => /var
gpart add -s 32G -t freebsd-ufs ada0s1
# ada0s1d => /usr
gpart add -s 32G -t freebsd-ufs ada0s1
# ada0s1e => /usr/home
gpart add -t freebsd-ufs ada0s1

Install the boot loader and set the first partition as active.

1
2
3
gpart set -a active -i 1 ada0
gpart bootcode -b /boot/mbr ada0
gpart bootcode -b /boot/boot ada0s1

Create the label and filesystems:

1
2
3
4
5
6
# Labels and filesystems
glabel label swap0 /dev/ada0s1b
newfs -L rootfs -U /dev/ada0s1a
newfs -L varfs  -U /dev/ada0s1d
newfs -L usrfs  -U /dev/ada0s1e
newfs -L usrhomefs  -U /dev/ada0s1f

Write the fstab file in /tmp/bsdinstall_etc/fstab:

1
2
3
4
5
6
# Device            Mountpoint      FStype  Options     Dump    Pass#
/dev/ufs/rootfs     /               ufs     rw          1       1
/dev/label/swap0    none            swap    sw          0       0
/dev/ufs/varfs      /var            ufs     rw          1       2
/dev/ufs/usrfs      /usr            ufs     rw          1       3
/dev/ufs/usrhomefs  /usr/home       ufs     rw          1       4

Mount the systems so that the installer can write into them:

1
2
3
4
5
6
7
mount /dev/ufs/rootfs /mnt/
mkdir /mnt/var

Partager cet article

Repost 0