Outils pour utilisateurs

Outils du site


informatique_newbie_disks

Ceci est une ancienne révision du document !


Introduc

GRUB

Ecrasement MBR et SuperGrub

Aprés installation de XP, qui a joyeusement écrasé la MBR, je n'ai pas reussi a reinstaller GRUB par les methodes manuelles.

J'ai utilisé le CD bootable supergrub qui est ici:
http://supergrub.forjamari.linex.org

Grub et Splash

# apt-get install grub-splashimages

Ensuite, editer grub afin d'ajouter:

splashimage=/grub/splashimages/firework.xpm.gz

On peut aussi essayé le logiciel grime ou grubconf.

Deplacer une partition

Preambule: Le CD bootable GParted est trés bien pour cela aussi.

Aprés avoir agrandi mon disk, j'ai voulu deplacer la partition linux a la fin… Ca ressemblait à ça:

 # fdisk -u -l
 Disque /dev/hda: 80.0 Go, 80026361856 octets
 255 têtes, 63 secteurs/piste, 9729 cylindres, total 156301488 secteurs
 Unités = secteurs de 1 * 512 = 512 octets
 Périphérique Amorce    Début         Fin      Blocs    Id  Système
 /dev/hda1   *          63    16771859     8385898+   7  HPFS/NTFS
 /dev/hda2        16771860    37254734    10241437+   5  Extended
 /dev/hda3        37254735    78172289    20458777+  83  Linux
 /dev/hda4        78172290    80292869     1060290   82  Linux swap / Solaris
 /dev/hda5        16771923    37254734    10241406    7  HPFS/NTFS

En clair, au dela des 40 Go (37254734+1), j'ai que du vide.

On souhaite conserver l'ordre des partitions… c-a-d: le swap aprés la partition Linux. On va faire ça par étape:

Deplacer la partition Linux

En etat du disk:

Le dernier secteur du disk est le numéro: 156301487 (la numérotation commence a 0) Il y a donc 156301488 secteurs en tout, soit: 156301488*512 = 80026361856 ⇒ 80026361856/1024^3 , soit 74 Go…

La taille de la partition Linux est: (78172289-37254735)+1 = 40917555 , soit 19 Go La taille du swap est (etait): (80292869-78172290)+1 = 2120580 , soit 1 Go

Donc, la nouvelle partition aura pour 1er secteur: 156301488-2120580-40917555 = 113263353 Et pour le swap: 113263353+40917555 = 154180908

En clair:

Fin du disk 156301488
Swap dernier secteur 156301487
Swap premier secteur 154180908
Linux dernier secteur 154180907
Linux premier secteur 113263353
en dessous… 113263352
Debut du disk

Notez qu'il peut être encore temps de decider d'agrandir ou reduire la taille de la partition SWAP. Ici, on part du principe qu'on veut avoir la même taille qu'avant.

Copier la partition Linux

Il faut d'abord booter sur un live cd, genre Kubuntu. Il y a trop de partition pour cela (en tout cas, fdisk refuse d'en ajouter une) donc on va d'abord supprimer le swap.

 # fdisk -u /dev/hda
 (d) delete 
 (4) partition swap

Ensuite, on cree une nouvelle partition Linux de la même taille que celle qu'on va copier, mais a la fin du disk.

 (n)
 (p) primary partition
 la partition aura le numero 4
 First sector: 113263353
 Last sector: 154180907

Maintenant on ecrit sur disk:

 (w) ecriture

Et on sort:

 (q)

On verifie que le systeme voit bien ce qu'on a fait (problème de synchro disk):

 # fdisk -u -l

Ok… Maintenant on lance la copie et on va prendre un café:

 # dd if=/dev/hda3 of=/dev/hda4 

Quelques minutes plus tard, on 2 partitions identique :-) Effacer la partition /dev/hda3 ! on en a plus besoin !
Il y a aussi beaucoup plus rapide avec:

 # dd if=/dev/hda3 of=/dev/hda4 bs=4k

Effacer la partition Linux hda3

 # fdisk -u /dev/hda
 (d) delete
 (3) partition hda3

Maintenant, il faut recreer le swap…

Creer le swap

Ce n'est pas indispensable, vous pouvez sauter cette etape si vous voulez booter sans swap… (c'est curieux non?)

 # fdisk -u /dev/hda
 (n) new
 (p) primary partition
 First sector: 154180908
 Last sector: 156301487
 La partition /dev/hda3 est créé !

Oups, les partitions sont inversés… pas de problème

 (x) Menu expert
 (f) fix order je sais pas quoi
 (p) print

Et voila

 (r) retour au menu principal

Marquer correcter le type de partition en SWAP:

 (t) toggle
 (4) choisir /dev/hda4
 (82) pour swap

C'est presque fini.
Revenir sous shell et faire:

 # mkswap -c /dev/hda4

Un premier bilan

On a alors:

 # fdisk -u -l
 Périphérique Amorce    Début         Fin      Blocs    Id  Système
 /dev/hda1   *          63    16771859     8385898+   7  HPFS/NTFS
 /dev/hda2        16771860   113258249    48243195    5  Extended
 /dev/hda3       113263353   154180907    20458777+  83  Linux
 /dev/hda4       154180908   156301487     1060290   82  Linux swap / Solaris
 /dev/hda5        16771923    37254734    10241406    7  HPFS/NTFS

Maintenant, il faut un peu bidouiller les fichiers dans Linux.
Au final, ca m'a semblé inutile, mais il faut verifier cela.

Mounter la partition Linux

 # mkdir /mnt/a
 # mount /dev/hda3 /mnt/a

Le mystère UUID

Avant de continuer, il faut que vous sachiez qu'Ubuntu a pris la mauvaise habitude de remplacer les /dev/hdxxx par leur equivalent UUID… parait que c'est top mieux. On voit la relation /dev/hdxxx vers UUID (ou l'inverse) dans:

 /dev/disk/by-uuid

Avec ca, vous etes a la suite.

GRUB

Il faut que GRUB retrouve ses petits disk, donc on verifie que les UUID n'ont pas changé, dans le doute, on rajoute une entrée au menu (par exemple) en précisant que le disk root est /dev/hda3

fstab

Editer /mnt/a/etc/fstab Et verifier que les UUID des disks ne vont pas poser de problèmes, dans le doute, remplacer par: /dev/hda3 et /dev/hda4 là où c'est necessaire.

Reboot

On reboot… c'est beau… ca marche…. Enfin presque.

Le SWAP a peut être besoin d'être remonté (ca m'est arrivé):

D'abord est-ce qu'il existe:

  # free
  Swap est a 0 0 ???

Et aussi:

  # cat /proc/swaps
  ne renvoit rien...

Donc, pas de swap: pas grave:

 # mkswap -c /dev/hda4

(ce qu'on a deja fait, mais bon…)
Si necessaire, verifier que le /etc/fstab reference bien le swap

 # swapon -a

Ou bien:

 # swapon /dev/hda4

Si on est pas certain de fstab

Et voila ? Ca devrait fonctionner.

Redimensionner les partitions NTFS

Pour resumé, rien ne fonctionnait… ni Qparted sous Kubuntu, ni resizentfs…
Et puis j'ai booté sur une image iso GParted-Clonezilla:

  http://gparted.sourceforge.net/livecd.php

Et avec GParted , c'etait super facile.

Mounter un disk FreeBSD

(Enfin presque)

 # mount -r -t ufs -o ufstype=44bsd /dev/hda1 /mnt/a

Par exemple… Ou essayer /dev/hda5 /dev/hda8 etc…

Ou bien ca aussi:

 # mount -r -t ufs -o ufstype=ufs2 /dev/hda5 /mnt/a

Formater un disk

partitionner

Utiliser fdisk.

Par exemple:

 # fdisk /dev/hdb

Et puis, effacer les partitions:

 > d

Creer une nouvelle partition (linux):

 > n 

Et suivre les instructions…
On verifie l'etat des partitions (non encore sauvegardé):

 > p

Et on ecrit:

 > w

Et on sort:

 > q

Effacer tout un disk

C'est simple lorsqu'on le sait:

 # dd if=/dev/zero of=/dev/hdb

Le disque est alors rempli de zero… (et on est bon pour re-creer les partitions !)

Pour savoir ou en est dd dans son traitement:

 # kill -USR1 pid_du_dd

(sur l'ecran du dd (ou screen)):

 30536961+0 records in
 30536961+0 records out
 15634924032 bytes (16 GB) copied, 874.499 seconds, 17.9 MB/s

Effacer tout un disk, avec des données aleatoires !!!!

Trucs pour les espions:

 # dd if=/dev/urandom of=/dev/hdb

J'ai juste un doute sur la vitesse du traitement…

informatique_newbie_disks.1189631132.txt.gz · Dernière modification : 2007/09/12 21:05 de thierry