Ceci est une ancienne révision du document !
Table des matières
GRUB
RAID 1 et double boot
Lien: http://wickerl.bechelaren.at/Bechelaren/web/wickerl_blog.nsf/d6plinks/HWSR-6XZ8ZR
Dans une configuration RAID 1, il peut être utile que si l'un disque est mort, l'autre soit bootable aussi.
Donc, soit 2 disks: hde
et hdg
.
Alors on fait:
# grub GNU GRUB version 0.97 (640K lower / 3072K upper memory) [ Minimal BASH-like line editing is supported. For the first word, TAB lists possible command completions. Anywhere else TAB lists the possible completions of a device/filename. ] grub>
Installer le bootloader sur le premier disk (dans notre cas /dev/hde)
grub> device (hd0) /dev/hde grub> root (hd0,0) Filesystem type is ext2fs, partition type 0xfd grub> setup (hd0) Checking if "/boot/grub/stage1" exists... yes Checking if "/boot/grub/stage2" exists... yes Checking if "/boot/grub/e2fs_stage1_5" exists... yes Running "embed /boot/grub/e2fs_stage1_5 (hd0)"... 15 sectors are embedded. succeeded Running "install /boot/grub/stage1 (hd0) (hd0)1+15 p (hd0,0)/boot/grub/stage2 /boot/grub/menu.lst"... succeeded Done.
Maintenant, installer sur le second disk (dans notre cas /dev/hdg)
grub> device (hd0) /dev/hdg grub> root (hd0,0) Filesystem type is ext2fs, partition type 0xfd grub> setup (hd0) Checking if "/boot/grub/stage1" exists... yes Checking if "/boot/grub/stage2" exists... yes Checking if "/boot/grub/e2fs_stage1_5" exists... yes Running "embed /boot/grub/e2fs_stage1_5 (hd0)"... 15 sectors are embedded. succeeded Running "install /boot/grub/stage1 (hd0) (hd0)1+15 p (hd0,0)/boot/grub/stage2 /boot/grub/menu.lst"... succeeded Done.
Fin.
grub> quit
J'ai testé (sur un RAID en SATA) et ça fonctionne.
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
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 !
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…
–