Transfert de la partition home sur un plus grand disque dur

 La première étape consiste à formater le nouveau disque dur.

Pour ajouter ce nouveau disque sans redémarrer le système il conviendra de déterminer le numéro de host sur lequel il est raccordé. Pour cela utiliser la commande:

# ls /sys/class/scsi_host
     host0 host1 host2 host3

Puis une fois le host identifié (sinon tous les essayer) utiliser cette commande pour forcer le rescannage par fdisk des disques (les trois tirets doivent être séparés par des espaces, ce qui est important):

# echo “- – -” > /sys/class/scsi_host/host2/scan   (où 2 est dans ce cas le numéro de l'host)

La commande suivante permet alors de voir que le nouveau disque est bien présent: 

fdisk -l

qui renvoit:

Disk /dev/sda: 268.4 GB, 268435456000 bytes
255 heads, 63 sectors/track, 32635 cylinders
Units = cylinders of 16065 * 512 = 8225280 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes
Disk identifier: 0x000461b4
 
   Device Boot      Start         End      Blocks   Id  System
/dev/sda1   *           1       12931   103864320   83  Linux
/dev/sda2           12931       13055      990209    5  Extended
/dev/sda5           12931       13055      990208   82  Linux swap / Solaris
 
Disk /dev/sdc: 107.4 GB, 107374182400 bytes
255 heads, 63 sectors/track, 13054 cylinders
Units = cylinders of 16065 * 512 = 8225280 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes
Disk identifier: 0x00000000
 
Disk /dev/sdc doesn't contain a valid partition table
Puis pour formater le disque, la commande cfdisk sera utile, en l'occurence ici pour le sdc:
cfdisk /dev/sdc
Puis choisir "New", la taille, et enfin "Write"
La commande fdisk -l permet de vérifier que la nouvelle partition a bien été créée (et se nomme en l'occurence ici sdc1).
 
Il va falloir formater cette nouvelle partition, avec la commande:
mkfs.ext3 /dev/sdc1
Puis on va créer un nouveau répertoire home pour y transférer les données
 
mkdir /home-new
     mount -t ext3 /dev/sdc1 /home-new/
La commande df -h permet de vérifier que la nouvelle partition est bien montée au bon endroit
 
Puis il convient de recopier le contenu de home vers le home-new (attention au point qui est important)
cp -a /home/. /home-new/
Puis il restera à modifier les points de montage dans /etc/fstab puis de redémarrer l'ordinateur
Tout d'abord repérer le UUID du nouveau disque via 
ls -l /dev/disk/by-uuid/
et modifier /etc/fstab (par exemple avec pico) pour remplacer la ligne liée à /home (si home était déjà monté sur une partition séparée) ou ajouter une ligne comme suit (si home était sur la partition racine)
UUID=xxxxxxxxxxx      /home ext3 defaults 0 2
Si home était sur la partition racine les deux commandes seront nécessaires avant de redémarrer:
mv /home /home.bak
     mkdir /home
puis rm -rf /home.bak une fois le démarrage effectué