Contenu | Rechercher | Menus

Annonce

Si vous avez des soucis pour rester connecté, déconnectez-vous puis reconnectez-vous depuis ce lien en cochant la case
Me connecter automatiquement lors de mes prochaines visites.

À propos de l'équipe du forum.

#1 Le 24/10/2009, à 18:21

Zenigata

Redimensionner la partition root sans livecd ou autre os

Bonjour,

    Parfois on peut avoir besoin de faire des changements à sa partition racine, sans avoir moyen de booter sous autre chose que son os. Je vais décrire ici les étapes permettant de faire cette opération sous Ubuntu, si l'on veut étendre cette partition, on supposera que / est /dev/sda1, on peut adapter à sdaX

1) En mode graphique (éventuellement en recovery) faire de la place après la partition / afin de pouvoir l'étendre.

2) On redémarre, on édite la ligne de GRUB 'e', et on change les options de la ligne kernel en ROOT=/dev/untrucquinestpaslaracinedavant init=uncheminquinexistepas

3) On se retrouve alors dans un shell minimaliste qui permet plein de trucs.

on fait

mkdir /svtools
mkdir /oldroot

mount /dev/sda1 /oldroot
cd /svtools
cp /oldroot/sbin/e2fsck .
cp /oldroot/sbin/tune2fs .
cp /oldroot/sbin/resize2fs .
cp /oldroot/sbin/fdisk .
cp /oldroot/lib/libext2fs.so.2 /lib
cp /oldroot/lib/libcomm_err* /lib
cp /oldroot/lib/libe2p* /lib
cp /oldroot/lib/libblkid* /lib
cp /oldroot/lib/libuuid* /lib
cp /oldroot/etc/mtab /etc/mtab
sed -i s/sda1/truc1/g /etc/mtab

umount /dev/sda1

4) On change sda1 en ext2 et on redimensionne la partition (mais pas le système de fichier)

./tune2fs -O ^has_journal /dev/sda1
./fdisk /dev/sda
p    # on note bien le start de la partition sda1
d    # on efface la partition
1
n    #on la recrée à la nouvelle taille, même début, fin plus loin
p
1
start cylinder relevé précédemment
end cylinder celui proposé
a   #on lui remet le drapeau bootable
1
w   # on écrit les changements
q

reboot

5) On redimensionne le système de fichier

on reprend 2) et 3)

umount /dev/sda1 #on sait jamais
cd /svtools
./e2fsck -f /dev/sda1
./resize2fs /dev/sda1
./tune2fs -j /dev/sda1

reboot

Et voila, on a étendu la partition racine sans recourir à un live cd ou un autre os

Hors ligne

#2 Le 24/10/2009, à 18:39

Qid

Re : Redimensionner la partition root sans livecd ou autre os

mouai ... c'est quand meme pas à la portée de tout le monde ...
il n'y a rien de mieux qu'un livecd ...
bon et entre nous en mode singleuser (rescue donc) ça suffit pas ?


"GNU/Linux c'est que du bon mais M$ Windows ce n'est pas si mal"
Référent technique Ubuntu d'un Groupe d'Utilisateur du Libre
plus d'info sur mon profil

Hors ligne

#3 Le 24/10/2009, à 18:43

Zenigata

Re : Redimensionner la partition root sans livecd ou autre os

Alors oui, quand on peut mettre un livecd, c'est le top, mais sur une machine sans lecteur de cd, c'est moins évident.

Et oui, ce n'est clairement pas à la protée de tout le monde et on peut faire tout plein de bêtises pas forcément réparables en essayant de faire ça.

Et non, le rescue mode ne suffit pas, car / sera toujours monté, la seule solution est de se trouver dans le système minimaliste embarqué dans le initramfs, sans ça on ne peut pas toucher à une partition montée (fin le resize2fs pour agrandir le fs devrait marcher dès qu'on a un noyau > 2.6, par contre fdisk a toutes les chances de gueuler je crois)

Hors ligne

#4 Le 26/10/2009, à 22:27

Sciensous

Re : Redimensionner la partition root sans livecd ou autre os

hello
je suis intéressé par un lancement "minimaliste" (pour autre chose) mais je ne comprends pas la procédure (suis sous le héron)

pour root=/dev on peut mettre n'importe quoi ou il faut une partition qui existe (ext3, fat32 ou swap possibles)
pour init, c'est toujours la ligne kernel ou c'est initrd

Pourrais-tu mettre un exemple de lignes stp ?
wink


antiX 19 et 21 et Ubuntu 20.04 et 22.04
( sous LXDE et gnome-shell )

Hors ligne

#5 Le 27/10/2009, à 00:34

Zenigata

Re : Redimensionner la partition root sans livecd ou autre os

A priori, c'est une partition qui existe, mais je pense qu'on doit pouvoir se passer de cette ligne (pour moi l'idée c'était de récupérer des exécutables mis sur cette partition (en gros éviter les cp que je fais avant).

Et tout est sur la ligne du kernel, c'est la même astuce que pour récupérer un mot de passe root avec le init=/bin/sh, sauf que pour mettre root=/bin/sh, il faut que root soit convenablement monté et correspondent bien à / (ça donne aussi un bon résultat un peu moins minimaliste qu'avec un init qui n'exsite pas...

D'ailleurs, sans doute que ne pas donner de root ni de init suffit pour se trouver dans le busy box...

Hors ligne

#6 Le 27/10/2009, à 20:57

Sciensous

Re : Redimensionner la partition root sans livecd ou autre os

alors le boot en editant kernel et enlevant root=... ne marche pas , meme en mettant single au lieu de quiet splash
(sous hardy heron)
sad


antiX 19 et 21 et Ubuntu 20.04 et 22.04
( sous LXDE et gnome-shell )

Hors ligne