web-dev-qa-db-fra.com

Copier la partition racine et / home sur un nouveau disque dur plus grand

Je reçois un disque dur plus grand et j'aimerais y copier le répertoire racine. La partition pour root est 20G. Je voudrais le rendre plus grand sur le nouveau disque. Je voudrais aussi copier/home sur une partition plus grande sur le nouveau disque.

  1. Puis-je utiliser dd pour copier la partition ou existe-t-il un meilleur moyen de copier la partition?

  2. Devrais-je formater le nouveau disque avant de copier la partition?

  3. Que dois-je faire à côté de Sudo update-grub pour indiquer que je vais utiliser le nouveau lecteur?

  4. Je le sais de manière subjective, mais j'ai trouvé 20G un peu faible pour une partition racine si vous ajoutez beaucoup de programmes. 40G serait-il assez grand ou une plus grande partition serait-elle meilleure?

6
Timothy

Commençons par partitionner le nouveau lecteur. Comme ce sera un deuxième disque dans le système, nous le configurons comme nous le souhaitons. Si vous n'êtes pas sûr des exigences de taille de vos partitions, utilisez LVM. (Je ne vais pas couvrir cela ici.) Cela, espérons-le, vous donnera suffisamment d'indicateurs pour savoir quoi faire.

  1. N'utilisez pas dd à moins que vous ne fassiez une copie identique de l'ancien (disons, permuter un disque plus rapidement, mais de la même taille). Commencez par partitionner le nouveau lecteur, puis formatez la partition (par exemple, ext4). Ensuite, la copie réelle peut être faite avec: tar -c --one-file-system -f - . | (cd /newPartitionMountPoint/; tar -xvf -)
  2. Nouveau lecteur: non, en utilisant dd pour la partition: non, après le parted: oui (sauf si cela formate la partition automatiquement)
  3. Lorsque vous modifiez des partitions qui existaient auparavant, vous devez également modifier /etc/fstab, utilisez blkid pour afficher les nouveaux et les anciens UUID + LABELS et modifier fstab en conséquence. Si vous aviez /boot sur une partition séparée sur /dev/sda c'est la majeure partie.
  4. La taille de la partition pour root est subjective. En fait, je n'ai jamais eu besoin de plus de 20G root, mais cela signifie que j'ai des partitions séparées pour /var/lib (si une base de données est nécessaire), /data pour mes besoins en données génériques et bien sûr /home

Il est plus facile de déplacer le système autour des disques durs sous Linux que sous Windows, mais le déplacement le plus difficile consiste à déplacer "/" et "/ boot". Je dirais qu'il est beaucoup plus facile pour vous de vérifier où vous utilisez votre espace avec: du -hsc /* Créez ensuite une partition pour le plus grand dossier (comme /usr)/dev/sdb1 20G LABEL = myusr/dev/sdb2 100G LABEL = myhome

Ensuite, créez le dossier usrtmp et synchronisez les anciens utilisateurs à cet endroit: Notez que ceci est avancé et pourrait bousiller votre système, même si tout fonctionnait correctement. En gros, si vous saviez comment faire cela, allez-y. Si vous ne le saviez pas, je ne le ferais pas ...

mkdir /usrtmp
mount LABEL=myusr  /usrtmp
cd /usr
tar -c --one-file-system -f - . | (cd /usrtmp/; tar -xvf -)
# this might be dangerous so I would do it with livecd myself..
# If you're feeling risky do this:
cd /
mv /usr /usr_old && mv /usrtmp /usr
## Now you can edit /etc/fstab to mount LABEL=myusr to /usr
## if you forget this but you did the mv then you won't be able to use your system
## Reboot, if everything is okay, you can remove /usr_old
## Repeat the same for home, but change labels accordingly
2
Manwe