(→Création de partition supérieur a 2 To) |
(→ajouter kpartx a initramfs pour que le système reconnaisse et utilise votre partition GPT) |
||
(39 versions intermédiaires masquées) | |||
Ligne 4 : | Ligne 4 : | ||
- | |||
- | *Depuis <b>Kubuntu 12.04</b> je n'ai plus rien a faire pour que mes partitions de plus de 2 To soient utilisables. Elles le sont même avec les CD ou DVD live de cette distribution | + | *Depuis <b>Kubuntu 12.04</b> je n'ai plus rien a faire pour que mes partitions de plus de 2 To soient utilisables. Elles le sont même avec les CD ou DVD live de cette distribution ! |
+ | ==Petit rappel sur le séquencement du Boot Kubuntu et autres Distributions GNU/Linux== | ||
+ | #BIOS | ||
+ | #GRUB | ||
+ | #IntRamFS | ||
+ | #Linux | ||
+ | #KDE | ||
+ | |||
+ | |||
+ | ==utilisons GPT pour des disques supérieur a 2To: Création d'une partition supérieur a 2 To== | ||
+ | <br> | ||
[http://www.linux-mag.com/id/7897/ http://www.linux-mag.com/id/7897/] | [http://www.linux-mag.com/id/7897/ http://www.linux-mag.com/id/7897/] | ||
- | *de nombreux | + | *de nombreux bios et fdisk ne gèrent pas les disques et/ou les partitions supérieurs a 2To. Il est nécessaire de passer par une table de partition de type GPT ([http://en.wikipedia.org/wiki/GUID_Partition_Table GUID Partition Table]).Pour cela utilisons l'utilitaire parted. |
- | |||
+ | *<span style="color:red"><b>Attention, ici on formate un disque ou un raid. Il y a donc perte de données sur le périphérique concerné</b></span> | ||
- | je lance parted, et je fais un "mklabel gpt" sur | + | je lance parted sur mon périphérique disque, et je fais un "mklabel gpt" sur mon disque pour créer une table de partition de type gpt. |
+ | <pre> | ||
+ | $ sudo parted /dev/mapper/isw_cfdcahfeac_DONNEES | ||
+ | > mklabel gpt | ||
+ | </pre> | ||
+ | puis "mkpart primary 0 -1" pour faire une partition primaire commençant a 0 et se terminant a -1 ( le max du disque ) | ||
+ | <pre> | ||
+ | > mkpart primary 0 -1 | ||
+ | </pre> | ||
+ | je lui donne un nom par name suivi du numero de partition et le nom souhaité | ||
+ | <pre>> name 1 DONNEES1</pre> | ||
+ | et j'affiche la table des partitions du disque par print | ||
<pre> | <pre> | ||
- | + | > print | |
- | + | ||
- | + | ||
- | + | ||
- | print | + | |
Numéro Début Fin Taille Système de fichiers Nom Fanions | Numéro Début Fin Taille Système de fichiers Nom Fanions | ||
1 17,4kB 3001GB 3001GB ext3 DONNEES1 raid | 1 17,4kB 3001GB 3001GB ext3 DONNEES1 raid | ||
+ | > quit | ||
</pre> | </pre> | ||
- | + | je quitte parted et je fait la création du FS par ( attention de choisir un type de FS qui supporte l'espace a formater ) <pre>$ sudo mkfs.ext3 /dev/mapper/isw_cfdcahfeac_DONNEES1</pre> | |
*En fait ce n'est pas un problème Linux mais un problème matériel et de bios lié a LBA.Les partitions GPT ne sont pas utilisé car les bios actuels ne peuvent pas booter sur ces partitions. Il semble que seul les nouveaux bios EFI puissent gérer nativement les partitions GPT. Au moment ou j’écris ces lignes, Linux est le seul OS a pouvoir utiliser des partitions GPT sans bios EFI : C'est ce que nous verrons dans la suite de la page. | *En fait ce n'est pas un problème Linux mais un problème matériel et de bios lié a LBA.Les partitions GPT ne sont pas utilisé car les bios actuels ne peuvent pas booter sur ces partitions. Il semble que seul les nouveaux bios EFI puissent gérer nativement les partitions GPT. Au moment ou j’écris ces lignes, Linux est le seul OS a pouvoir utiliser des partitions GPT sans bios EFI : C'est ce que nous verrons dans la suite de la page. | ||
Si vous avez une carte mère compatible EFI et donc GPT, il existe 2 options du noyaux pour les utiliser: | Si vous avez une carte mère compatible EFI et donc GPT, il existe 2 options du noyaux pour les utiliser: | ||
Ligne 36 : | Ligne 53 : | ||
ces 2 options permettent, après compilation, le support natif des partitions GPT sans utiliser kpartx. Je n'ai pas encore pu tester car je n'ai pas de bios EFI.Voir sur wikipedia: [http://en.wikipedia.org/wiki/GUID_Partition_Table table de parition GUID, en anglais :-(] | ces 2 options permettent, après compilation, le support natif des partitions GPT sans utiliser kpartx. Je n'ai pas encore pu tester car je n'ai pas de bios EFI.Voir sur wikipedia: [http://en.wikipedia.org/wiki/GUID_Partition_Table table de parition GUID, en anglais :-(] | ||
- | ==détecter des partitions GPT | + | ==détecter des disques et partitions GPT avec un bios ne gérant que mbr== |
- | pour cela | + | pour cela utilisons l'utilitaire kpartx (fait partie des multipathtools) qui permet de mapper de très nombreux types de partitions. |
<pre>sudo kpartx -l /dev/mapper/isw_cfdcahfeac_DONNEES</pre>la commande ci-dessus, permet de lister les partitions détectées. | <pre>sudo kpartx -l /dev/mapper/isw_cfdcahfeac_DONNEES</pre>la commande ci-dessus, permet de lister les partitions détectées. | ||
- | <pre>sudo kpartx -a /dev/mapper/isw_cfdcahfeac_DONNEES</pre>permet de détecter les partitions et de construire le fichier périphérique correspondant /dev/mapper/isw_cfdcahfeac_DONNEES1 dans mon cas de raid5 intel semi-matériel. | + | <pre>sudo kpartx -a /dev/mapper/isw_cfdcahfeac_DONNEES</pre>permet de détecter les partitions et de construire le fichier périphérique correspondant <b>/dev/mapper/isw_cfdcahfeac_DONNEES1</b> dans mon cas de raid5 intel semi-matériel. |
- | + | Vous pouvez maintenant accéder au périphérique comme vous le faite pour les autres patitions, avec un mount ou en ajoutant son UUID ( <b>tune2fs -l /dev/nom_periherique | grep UUID</b> , ou la commande <b>sudo blkid -g</b> avant un <b>sudo blkid</b>, ou encore <b>ls -l /dev/disk/by-uuid/</b>) au fichier fstab pour qu'il soit monté au démarrage, après l'initramfs. Attention a ne pas se tromper en prenant l'UUID du disque au lieu de celui de la partition :-) . Monter la patition a partir de fstab ne vous permettra pas de booter sur votre partion GPT. Pour booter sur cette partition vous devez configurer initramfs pour l'acces durant le boot et grub pour le boot lui-même. | |
- | <b>Sous kubuntu 12.04 cette partie n'est plus nécessaire. Ceci grâce a un nouveau pakage: kpartx-boot qui s'ajoute a kpartx et va aller | + | <br><br> |
+ | |||
+ | ==ajouter kpartx a initramfs pour que le système reconnaisse et utilise votre partition GPT== | ||
+ | <b>Sous kubuntu 12.04 cette partie n'est plus nécessaire. Ceci grâce a un nouveau pakage: kpartx-boot qui s'ajoute a kpartx et va aller s'installer dans l'initramfs et le systeme.</b> | ||
Afin de détecter ma partition GPT de plus de 2To dès que possible au boot, je suis passé par l'initramfs. Si vous installez la totalité des outils multipathtools, pas de problème, kpartx et les autres outils seront intégrés a l'initramfs. | Afin de détecter ma partition GPT de plus de 2To dès que possible au boot, je suis passé par l'initramfs. Si vous installez la totalité des outils multipathtools, pas de problème, kpartx et les autres outils seront intégrés a l'initramfs. | ||
Ligne 93 : | Ligne 113 : | ||
</pre> | </pre> | ||
- | sur Kubuntu 10.4 ( lucid) une temporisation est nécessaire du fait de l'optimisation du boot et de la mise en parallèles d'élément du boot. Le fichier /usr/share/initramfs-tools/scripts/local-top/kpartx devient ( j'ai rajouté une boucle pour | + | <b><u>UNIQUEMENT si vous avez un raid par dmraid sur Kubuntu 10.4 ( lucid):</u></b> une temporisation est nécessaire pour attendre la bonne execution de dmraid du fait de l'optimisation du boot et de la mise en parallèles d'élément du boot. Le fichier /usr/share/initramfs-tools/scripts/local-top/kpartx devient ( j'ai rajouté une boucle pour détecter toutes les secondes la disponibilité du raid ): |
<pre> | <pre> | ||
#!/bin/sh | #!/bin/sh | ||
Ligne 127 : | Ligne 147 : | ||
</pre> | </pre> | ||
après avoir fait une copie de sauvegarde de votre /boot/initrd.img* de démarrage | après avoir fait une copie de sauvegarde de votre /boot/initrd.img* de démarrage | ||
+ | |||
+ | ==faire que GRUB2 boot sur une partition gpt== | ||
+ | |||
+ | Pour ma part mon bios n'autorise pas le boot sur mon raid quelque soit le type de table de partition.<br> | ||
+ | J'ai donc un SSD pour le système, en MBR. Le SSD accélère notablement le système en plus de simplifier le boot<br><br> | ||
+ | N'ayant pas rencontré ce problème de GRUB sur GPT je vous laisse googleliser grub gpt. <br> | ||
+ | Il existe de multiples solutions: une fausse table de partion mbr, une mini partition mbr pour grub2 en début de disque, ... <br> | ||
+ | http://www.wensley.org.uk/gpt<br> | ||
+ | http://wiki.archlinux.org/index.php/GUID_Partition_Table<br> | ||
+ | http://www.linuxmint-fr.org/forum/33-trucs-et-astuces/72838-resolu-probleme-grub2-et-gpt.html<br> | ||
+ | <br><br> | ||
+ | N'hesitez pas a me faire vos retours sur cette partie ou sur d'autres d'ailleurs.Mon mail dans [[À_propos]]<br><br> |
retour vers Linux
http://www.linux-mag.com/id/7897/
je lance parted sur mon périphérique disque, et je fais un "mklabel gpt" sur mon disque pour créer une table de partition de type gpt.
$ sudo parted /dev/mapper/isw_cfdcahfeac_DONNEES > mklabel gpt
puis "mkpart primary 0 -1" pour faire une partition primaire commençant a 0 et se terminant a -1 ( le max du disque )
> mkpart primary 0 -1
je lui donne un nom par name suivi du numero de partition et le nom souhaité
> name 1 DONNEES1
et j'affiche la table des partitions du disque par print
> print Numéro Début Fin Taille Système de fichiers Nom Fanions 1 17,4kB 3001GB 3001GB ext3 DONNEES1 raid > quitje quitte parted et je fait la création du FS par ( attention de choisir un type de FS qui supporte l'espace a formater )
$ sudo mkfs.ext3 /dev/mapper/isw_cfdcahfeac_DONNEES1
Si vous avez une carte mère compatible EFI et donc GPT, il existe 2 options du noyaux pour les utiliser:
File Systems Partition Types [*] Advanced partition selection [*] EFI GUID Partition support (NEW)
ces 2 options permettent, après compilation, le support natif des partitions GPT sans utiliser kpartx. Je n'ai pas encore pu tester car je n'ai pas de bios EFI.Voir sur wikipedia: table de parition GUID, en anglais :-(
pour cela utilisons l'utilitaire kpartx (fait partie des multipathtools) qui permet de mapper de très nombreux types de partitions.
sudo kpartx -l /dev/mapper/isw_cfdcahfeac_DONNEESla commande ci-dessus, permet de lister les partitions détectées.
sudo kpartx -a /dev/mapper/isw_cfdcahfeac_DONNEESpermet de détecter les partitions et de construire le fichier périphérique correspondant /dev/mapper/isw_cfdcahfeac_DONNEES1 dans mon cas de raid5 intel semi-matériel.
Vous pouvez maintenant accéder au périphérique comme vous le faite pour les autres patitions, avec un mount ou en ajoutant son UUID ( tune2fs -l /dev/nom_periherique | grep UUID , ou la commande sudo blkid -g avant un sudo blkid, ou encore ls -l /dev/disk/by-uuid/) au fichier fstab pour qu'il soit monté au démarrage, après l'initramfs. Attention a ne pas se tromper en prenant l'UUID du disque au lieu de celui de la partition :-) . Monter la patition a partir de fstab ne vous permettra pas de booter sur votre partion GPT. Pour booter sur cette partition vous devez configurer initramfs pour l'acces durant le boot et grub pour le boot lui-même.
Sous kubuntu 12.04 cette partie n'est plus nécessaire. Ceci grâce a un nouveau pakage: kpartx-boot qui s'ajoute a kpartx et va aller s'installer dans l'initramfs et le systeme.
Afin de détecter ma partition GPT de plus de 2To dès que possible au boot, je suis passé par l'initramfs. Si vous installez la totalité des outils multipathtools, pas de problème, kpartx et les autres outils seront intégrés a l'initramfs. Par contre lorsque l'on installe kpartx sans les multipathtools celui-ci n'est pas installé dans initramfs.Pour l'installer seul dans l'initramfs,j'ai ajouté 2 fichiers:
#!/bin/sh #Ajout de kaprtx a /sbin pour la detection et le montage de partition sup a 2To PREREQS="" prereqs() { echo "$PREREQ" } case $1 in # get pre-requisites prereqs) prereqs exit 0 ;; esac . /usr/share/initramfs-tools/hook-functions copy_exec /sbin/kpartx sbin
Cela ajoute kpartx ( l'exécutable pas le script... hein.. tout le monde suit ? ) à /sbin qui sera copié dans l'initramfs lors de la mise a jours ou la creation d'initramfs.
#!/bin/sh # script d'exécution de kpartx après dmraid pour la détection de partition sup a 2To PREREQS="dmraid" prereqs() { echo $PREREQS } case $1 in # get pre-requisites prereqs) prereqs exit 0 ;; esac kpartx -a /dev/mapper/isw_*
UNIQUEMENT si vous avez un raid par dmraid sur Kubuntu 10.4 ( lucid): une temporisation est nécessaire pour attendre la bonne execution de dmraid du fait de l'optimisation du boot et de la mise en parallèles d'élément du boot. Le fichier /usr/share/initramfs-tools/scripts/local-top/kpartx devient ( j'ai rajouté une boucle pour détecter toutes les secondes la disponibilité du raid ):
#!/bin/sh # script d'exécution de kpartx après dmraid pour la detection de partition sup a 2To PREREQS="dmraid" prereqs() { echo $PREREQS } case $1 in # get pre-requisites prereqs) prereqs exit 0 ;; esac tempo=0 while [ ! -b /dev/mapper/isw_* ] && [ $tempo -le 60 ] do sleep 1 tempo=`expr $tempo + 1` echo "activation partition GPT en cours, attente disponibilité $tempo" done sleep 2 /sbin/kpartx -a /dev/mapper/isw_*
ne pas oublier de mettre les droit 755 avec le proprietaire root sur les 2 fichiers et de faire un
sudo update-initramfs -u
après avoir fait une copie de sauvegarde de votre /boot/initrd.img* de démarrage
Pour ma part mon bios n'autorise pas le boot sur mon raid quelque soit le type de table de partition.
J'ai donc un SSD pour le système, en MBR. Le SSD accélère notablement le système en plus de simplifier le boot
N'ayant pas rencontré ce problème de GRUB sur GPT je vous laisse googleliser grub gpt.
Il existe de multiples solutions: une fausse table de partion mbr, une mini partition mbr pour grub2 en début de disque, ...
http://www.wensley.org.uk/gpt
http://wiki.archlinux.org/index.php/GUID_Partition_Table
http://www.linuxmint-fr.org/forum/33-trucs-et-astuces/72838-resolu-probleme-grub2-et-gpt.html
N'hesitez pas a me faire vos retours sur cette partie ou sur d'autres d'ailleurs.Mon mail dans À_propos