Pour partitionner il faut utiliser un logiciel dédié par exemple
cfdisk (en mode texte) qui doit bien entendu être lancé en root ou avec un sudo pour être effective.
Partitionner et formater
Il faut alors créer les partitions de ton choix (sans toucher à celles qui sont déjà existantes et que tu souhaites conserver). A ce stade, la partition est "déclarée" mais elle n'est pas "construite" (formatée). On parle de table des
partitions.
Formater une partition supprime les données qui y sont présentes et permet de construire un système de fichier (fs comme filesystem). L'ext4, l'ext3, la FAT32 (ou vfat), la ntfs sont autant de systèmes de fichiers (voir paragraphe suivant).
À chaque partition est associée sous linux un
device (/dev/sda1 par exemple), de la même façon que windows lui associera un lecteur (par exemple D:). En fait /dev/sd signifie "un périphérique USB/SCSI/SATA", ensuite la lettre (a ou b, c ou d...) dépend de si le disque est primaire ou secondaire, et le numéro qui suit est le numéro de partition sur le disque.
Exemple : /dev/sda1 signifie "la première partition d'un disque USB/SATA/SCSI primaire". Les périphériques IDE sont notés /dev/hd... (mais de nos jours ils sont en voie de disparition). De manière générale, linux crée un device pour presque tout (disques, clés USB, mais aussi carte son, souris etc...). Si le disque a trois partitions celles-ci s'appeleront /dev/sda1, /dev/sda2 et /dev/sda3.
Sous linux le formatage se fait avec des commandes qui dérivent de
mkfs (par exemple mkfs.ext4, mkfs.vfat etc...) ou avec des outils graphiques. Mkfs prend en paramètre le device et le système de fichier.
Les systèmes de fichiers
Le
système de fichiers est l'organisation qui permet à un système (linux, windows...) d'y retrouver des données. Sous linux les systèmes de fichiers sont pris en charge par le noyau (kernel) ou par un module. Un système de fichiers permet plus ou moins de choses (gestion de droits utilisateurs, de liens symboliques, taille maximale des fichiers, système de journalisation d'erreur etc...).
Par exemple la FAT32 est lisible et inscriptible sous linux et windows, mais il n'y a pas de notions de droit, de lien symbolique, et les fichiers sont limités en taille ; l'ext4 n'est par défaut pas lisible sous windows ; la ntfs se fragmente etc... Si un jour tu compiles ton propre noyau et que tu oublies d'y mettre le système de fichiers utilisé par /, tu auras probablement un beau "kernel panic".
Certains systèmes de fichiers ont un rôle très particulier, notamment pour importer des partages réseaux. Par exemple cifs permet de monter un partage réseau samba, nfs permet de monter un partage nfs (linux), sshfs permet de monter un système de fichier à travers ssh etc...
Jusqu'ici :
- de l'ext3 et à présent de l'ext4, mais il en existe d'autre (reiserfs, xfs). Après c'est une affaire de goûts ;-)
- de la fat32 pour les données communes aux différents systèmes (films, musique...) mais depuis que linux permet l'écriture sur de la ntfs (voir ntfs-3g) on pourrait envisager d'utiliser de la ntfs
- de la ntfs pour windows (du temps ou j'avais un windows :p)
Comment partitionner sous linux
Contrairement à windows, linux s'installe sur au moins deux partitions nommées / (le système) et swap (l'équivalent du fichiers d'échange sous windows, utilisé quand ta RAM est saturée). De la même façon que sous windows certains isolent leurs données sur une partition autre que le système (pour pouvoir le réinstaller directement), linux propose en général de mettre /home sur une partition autre que /.
En ce qui me concerne je trouve que ça a moins d'intérêt car on peut presque toujours réparer un linux (et au pire récupérer les données avec un CD d'installation). Il faut vraiment faire une fausse manip catastrophique sous linux avec un sudo (ou en root) pour le casser.
En pratique, il ne sert à rien d'avoir plus de 1Go de swap, et il faut compter 9Go ou plus pour installer le système et être tranquille. Si tu as juste un linux on peut donc imaginer un partitionnement du genre :
- 1 Go de swap
- le reste en ext4 (pour /)
... ou encore :
- 1 Go de swap
- 9Go en ext4 pour /
- le reste en ext4 pour /home
Dans mon cas, j'avais historiquement un windows donc mon partitionnement était plutôt du genre :
- 10 Go pour windows en ntfs (juste lisible sous linux)
- 1 Go de swap (invisible sous windows)
- 9 Go pour linux en ext3 (invisible sous windows)
- le reste en fat32 (pour les films et la musique, lisible et inscriptible par windows et linux).
Monter un système de fichiers
Indépendamment du périphérique (partition de disque dur, clé USB, CD...) lorsque tu branches un périphérique celui-ci est associé à un device (par exemple /dev/sda1, /dev/cdrom etc...). A celui-ci est associé un système de fichier (ext4, vfat...).
Au démarrage, le système crée un device par partition de disque dur (typiquement une pour / et pour la swap). Le système s'appuie alors sur /etc/fstab pour monter / et la swap (et éventuellement d'autres partitions marquées "auto" dans ce fichier).
Si c'est un branchement fait après avoir démarré linux,
udev surveille ce qui se passe en terme de branchement. Il est par exemple possible de définir des règles udev qui, en fonction du périphérique USB branché, nomment différemment le device (par exemple /dev/cle_usb ou /dev/telephone). Sinon (et si le périphérique et son système de fichiers sont correctement pris en charge) le système donne un nom par défaut (par exemple /dev/sdb1).
Dans le temps il fallait rajouter des règles dans /etc/fstab pour pouvoir monter facilement un périphérique, mais de plus en plus, c'est
hal qui s'occupe de tout. C'est notamment lui qui, quand tu branches un appareil photo ou une clé USB, te demande ce qu'il doit faire.
J'espère que c'est un peu plus clair pour toi, n'hésite pas à traîner sur doc ubuntu ou sur le manuel gentoo ou tout est également très bien expliqué (et sans doute de manière plus rigoureuse que ce résumé).
http://doc.ubuntu-fr.org/partitions
http://doc.ubuntu-fr.org/mount_fstab
http://doc.ubuntu-fr.org/udev
http://doc.ubuntu-fr.org/hal
Bonne chance