Table des matières
Introduc
Liens:
monter une partition d'une image disk
kpartx
Soit un disk:
# fdisk -l /dev/vgraid1/win2k_test Disk /dev/vgraid1/win2k_test: 10.7 GB, 10737418240 bytes 255 heads, 63 sectors/track, 1305 cylinders Units = cylinders of 16065 * 512 = 8225280 bytes Disk identifier: 0x6a4a6e04
Device Boot Start End Blocks Id System /dev/vgraid1/win2k_test1 * 1 1304 10474348+ 7 HPFS/NTFS
On aimerait bien mounter “win2k_test1” …
Lister les partitions existentes:
# kpartx -l /dev/vgraid1/win2k_test vgraid1-win2k_test1 : 0 20948697 /dev/vgraid1/win2k_test 63
Ajouter les partitions a son systeme:
# kpartx -a /dev/vgraid1/win2k_test
Et voila les partitions dans /dev/mapper/… :
brw-rw---- 1 root disk 253, 27 mai 17 20:44 vgraid1-win2k_test brw-rw---- 1 root disk 253, 28 mai 18 11:51 vgraid1-win2k_test1
Maintenant, on peut mounter comme d'hab:
# mount -o loop /dev/mapper/vgraid1-win2k_test1 /mnt/win
aprés utilisation, a la fin, on démounter:
# umount /mnt/win
Et puis:
# kpartx -d /dev/vgraid1/win2k_test
a la main
A la main, on aurait fait comme cela:
# fdisk -ul eeePC_backup_2009-09-20.dd You must set cylinders. You can do this from the extra functions menu. Disk eeePC_backup_2009-09-20.dd: 0 MB, 0 bytes 255 heads, 63 sectors/track, 0 cylinders, total 0 sectors Units = sectors of 1 * 512 = 512 bytes Disk identifier: 0x3c173c16 Device Boot Start End Blocks Id System eeePC_backup_2009-09-20.dd1 * 63 192779 96358+ 83 Linux eeePC_backup_2009-09-20.dd2 192780 7807589 3807405 83 Linux
Récupérer l'information de la partition visé dans la colonne “Start” (“Debut”):
192780
Notons bien que “Units = sectors of 1 * 512 = 512 bytes”.
Ainsi, nous avons une position relativement au debut:
512*192780
… qu'on utilise pour monter cette partition:
# mount -o loop,offset=$((512*192780)) eeePC_backup_2009-09-20.dd /mnt/test
et voila, la partition est visible dans /mnt/test
;)
Undelete
Recuperer des fichiers effacés sur une partition ext3:
Lien:
(pas essayé)
GRUB
GRUB 2
Liens:
RAID 1 et boot
Si on a un RAID 1 (avec mdadm), GRUB plante si on essaye de demarrer sur le 2ieme disk.
La solution: Forcer le mode “console” ajoutant (ou décommentant) la ligne:
GRUB_TERMINAL=console
Et voila.
default
Choisir l'entrée par defaut, en modifiant le fichier /etc/default/grub
:
GRUB_DEFAULT=4
Et puis:
# update-grub2
lvm/xen
Virer les entrées “parasites” , comme des partitions “lvm/xen”.
Modifier le fichier /etc/default/grub
et ajouter:
GRUB_DISABLE_OS_PROBER="true"
Et puis:
# update-grub2
vga
“vga=” est obsolete!
Il y a 2 mode graphique géré par grub:
#la resolution du menu grub #la resolution de la console linux, aprés le passage par le menu grub
Pour connaitre les résolutions possibles:
#reboot sur le menu grub #taper la touche "c" pour entrer dans le shell #entrer "vbeinfo" et on voit la liste...
Exemple:
640x400x16 800x600x32 1024x768x32 1280x1024x32
Rien de plus que “1280x…” dommage
Retour sous linux, il faut modifier le fichier /etc/default/grub
et faire, par exemple:
# TJ ------------- GRUB_GFXMODE=800x600 GRUB_GFXPAYLOAD_LINUX=1280x1024x32 # ----------------
- “gfxmode” est la resolution du menu grub.
- “gfxpayload” est la resolution sous linux
# update-grub # reboot
device.map
Lien: http://www.cepcasa.info/blog/?p=193
Il n'existe plus, en theorie.
En pratique, pour ajouter ou retirer un disk du “pool grub”, il faut faire:
# dpkg-reconfigure grub-pc
Et suivre et modifier des trucs…
Voila.
GRUB 1
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…
|
–