Ce qui ne marche pas :
le login graphique,
sudo.
Ce qui marche : tout (semble-t-il) le reste en console.
- -
N.B. : La procédure suivie
C'est celle de gornthorn
http://gornthorn.over-blog.fr/article-live-usb-en-mode-persistant-avec-l-integralite-de-la-cle-usb-74373994.html, avec alignement sur les
cylindres comme conseillé par Babdu89 là
./viewtopic.php?pid=17492041#p17492041,
à quelques détails près :
- Le tuto du "Coin de Gorn dit :
Il est possible qu'il soit nécessaire de retirer la clé et de la rebrancher pour qu'elle soit "montée" ("reconnue") à nouveau.
mais je n'ai pas eu besoin de la retirer-rebrancher avant de supprimer le
fichier casper-rw.
- Comme j'ai utilisé un disque et non une clef, j'ai fait la partition de persistance en
ext4 et non en ext2,
- En raison du bug des versions récentes de gparted (*) (qui plante quand il lance fsck sur des FAT), bien qu'ayant commencé ma live persistante avec usb-creator-gtk de Trusty, je me suis rabattu sur le gparted 0.12.1 de CrunchBang pour réduire la FAT à 5 Go et créer la 2ème partition (casper-rw),
- J'ai demandé 4 Mio non alloué entre les partitions (7,84 Mio obtenus).
AJOUT : c'était une erreur ! puisqu'il faut
aligner les 2 partitions sur les cylindres ;
et 0 Mio entre les partitions.
FIN d'ajout.
- Enfin, dans CrunchBang, j'ai monté la partition en ext4 et, pour cela, j'ai fait un chown. Peut-être est-ce alors que j'ai corrompu /etc/sudoers ?
[center]= = = = =[/center]
_________________
(*) Test sur 4 versions
A) GParted v.
0.18.0-1 (en session installée)
plante dès que je lui demande de réduire à droite une FAT32.
En session installée, xubuntu 14.04.5 (3.13.0-105-generic i686),
selon gparted 0.18.0-1, la situation initiale :
sda1 est en fat32
espace libre avant : 0 Mio
Taille : 1428 Mio
espace libre suivant : 0 Mio
- -
A1) Je demande :
alignement sur les Mio
espace libre avant : 0 Mio
Taille : 1400 Mio
espace libre suivant : 28 Mio
L'opération commence et en moins d'une seconde
se fige sur "vérification du système de fichiers". Pas de trace de parted dans dmesg ni dans /var/log/kern.log ni dans /var/log/syslog.
A2) Je recommence :
moi@xub-14.04:~$ gksudo gparted /dev/sda
The process gpartedbin is already running.
Only one gpartedbin process is permitted.
moi@xub-14.04:~$
dans top, gpartedbin occupe 100% d'un CPU.
moi@xub-14.04:~$ sudo killall gpartedbin
[sudo] password for :
moi@xub-14.04:~$
A3) Je recommence :
moi@xub-14.04:~$ gksudo gparted /dev/sda
======================
libparted : 2.3
======================
selon gparted 0.18.0-1, la situation initiale :
sda1 en fat32
espace libre avant : 0 Mio
Taille : 1428 Mio
espace libre suivant : 0 Mio
- -
Je demande :
alignement sur les Mio
espace libre avant : 0 Mio
Taille : 1400 Mio
espace libre suivant : 28 Mio
Cette fois, la fenêtre de gparted se ferme instantanément, mais le retour du terminal est détaillé :
moi@xub-14.04:~$ gksudo gparted /dev/sda
======================
libparted : 2.3
======================
(gpartedbin:3109): GLib-CRITICAL **: Source ID 6 was not found when attempting to remove it
# J'abrège : il y en a 45 lignes identiques, à part le n° d'ID.
(gpartedbin:3109): GLib-CRITICAL **: Source ID 2874 was not found when attempting to remove it
Segmentation fault
moi@xub-14.04:~$
- -
A4)
Nouvel essai, en demandant juste de "vérifier" sda1 :
moi@xub-14.04:~$ gksudo gparted
======================
libparted : 2.3
======================
Cette fois, clic droit sur sda1 "Vérifier". Cela suscite la ligne "Vérifier et réparer le système de fichiers (fat32) sur /dev/sda1"
Je valide...
Et de nouveau gparted se fige et gpartedbin occupe, selon top, 100,2% des CPU.
dmesg | tail -22
(...)
[ 2998.082430] gpartedbin[3109]: segfault at 61687337 ip b692aa1e sp bf8cee60 error 6 in libc-2.19.so[b68b6000+1a8000]
sudo cat /var/log/kern.log | tail
Mar 25 10:47:57 xub-14.04 kernel: [ 2998.082430] gpartedbin[3109]: segfault at 61687337 ip b692aa1e sp bf8cee60 error 6 in libc-2.19.so[b68b6000+1a8000]
moi@xub-14.04:~$
sudo cat /var/log/syslog | tail
Mar 25 10:17:01 xub-14.04 CRON[3005]: (root) CMD ( cd / && run-parts --report /etc/cron.hourly)
Mar 25 10:47:57 xub-14.04 kernel: [ 2998.082430] gpartedbin[3109]: segfault at 61687337 ip b692aa1e sp bf8cee60 error 6 in libc-2.19.so[b68b6000+1a8000]
moi@xub-14.04:~$
Un "sudo killall gpartedbin" est encore nécessaire.
A5) Un passage par testdisk ayant montré que la seconde FAT était différente de la 1ère (qui fonctionne), je fais écraser par testdisk la 2nde FAT, remplacée par la 1ère. Puis je redémarre (c'est demandé par testdisk) et je recommence :
A5.1)
"Redimensionner"
gksudo gparted /dev/sda
======================
libparted : 2.3
======================
# "Redimensionner"
(gpartedbin:2670): GLib-CRITICAL **: Source ID 6 was not found when attempting to remove it
# (...) 48 lignes ne différant que par le n° d'ID.
(gpartedbin:2670): GLib-CRITICAL **: Source ID 1843 was not found when attempting to remove it
*** Error in `/usr/sbin/gpartedbin': malloc(): corrupted unsorted chunks 2: 0x09e7c800 ***
Aborted
moi@xub-14.04:~$
- -
A5.2)
"Vérifier"
gksudo gparted /dev/sda
======================
libparted : 2.3
======================
# "Vérifier" est suivi d'un gel immédiat de gparted.
De nouveau je dois tenter d'arrêter le processus dans le terminal par Ctrl C,
et de nouveau
top montre qu'il continue de mobiliser 100% d'un CPU, de sorte que je dois faire un sudo killall gpartedbin pour l'arrêter réellement.
[center]- -[/center]
B)
Echec même avec la version ancienne 0.12.1. Exemple:
GParted 0.12.1 --enable-libparted-dmraid
Libparted 2.3
Déplacer /dev/sdc5 vers la gauche et l'agrandir de 2.00 Gio à 2.00 Gio 00:00:09 ( ERREUR )
calibrer /dev/sdc5 00:00:00 ( SUCCÈS )
(...) taille : 4 192 902 (2.00 Gio)
vérifier le système de fichiers sur /dev/sdc5 et corriger les problèmes (si possible) 00:00:02 ( SUCCÈS )
dosfsck -a -w -v /dev/sdc5
dosfsck 3.0.13 (30 Jun 2012)
dosfsck 3.0.13, 30 Jun 2012, FAT32, LFN
Checking we can access the last sector of the filesystem
There are differences between boot sector and its backup.
Differences: (offset:original/backup)
71:53/00, 72:57/00, 73:41/00, 74:50/00, 75:20/00, 76:20/00, 77:20/00
, 78:20/00, 79:20/00, 80:20/00, 81:20/00
Not automatically fixing this.
Boot sector contents:
System ID "*****"
Media byte 0xf8 (hard disk)
512 bytes per logical sector
2048 bytes per cluster
34 reserved sectors
First FAT starts at byte 17408 (sector 34)
2 FATs, 32 bit entries
4177408 bytes per FAT (= 8159 sectors)
Root directory start at cluster 2 (arbitrary size)
Data area starts at byte 8372224 (sector 16352)
1044137 data clusters (2138392576 bytes)
63 sectors/track, 255 heads
113017338 hidden sectors
4192902 sectors total
Reclaiming unconnected clusters.
Checking free cluster summary.
/dev/sdc5: 7 files, 1027754/1044137 clusters
agrandit la partition de 2.00 Gio à 31.40 Gio 00:00:02 ( SUCCÈS )
ancien début : 113 017 338 ancienne fin : (...)
ancienne taille : 4 192 902 (2.00 Gio)
nouveau début : 51 353 600 nouvelle fin : [inchangée]
nouvelle taille : 65 856 640 (31.40 Gio)
déplacer le système de fichiers vers la gauche 00:00:02 ( ERREUR )
utilise libparted
annuler la dernière modification de la table des partitions 00:00:03 ( SUCCÈS )
réduit [de fait, restaure] la partition de 31.40 Gio à 2.00 Gio 00:00:03 ( SUCCÈS )
(...) ancienne taille : 65 856 640 (31.40 Gio)
(...) nouvelle taille : 4 192 902 (2.00 Gio)
messages de libparted ( INFO )
GNU Parted cannot resize this partition to this size. We're working on it!
[center]= = = = =[/center]
Conclusion :
Notons pour gparted 0.18.0-1 :
"
segfault at 61687337 ip b692aa1e sp bf8cee60 error 6 in
libc-2.19.so"
"Error in `/usr/sbin/
gpartedbin': malloc():
corrupted unsorted chunks"
GLib-CRITICAL **: Source ID xxxx was not found when attempting to remove it
Ces 3 bugs sont répertoriés sur launchpad depuis des années...
Et
en pratique, comme gparted ne sait plus traiter une FAT, on peut
- soit utiliser une version plus ancienne de gparted (ça marche, malgré un échec de dosfsck, avec gparted 0.2.5-2 de 2006; et ça marche avec
qtparted 0.4.5-2 de 2005:
C'est avec les vieux isos qu'on fait les meilleures galettes ! À noter: l'alignement sur les Mio
ne sera
pas proposé; mais ça tombe bien: l'alignement sur les cylindres fonctionne mieux pour les clefs de boot) ;
- soit passer par windows ;
- soit traiter la fat32 en ligne de commande, en espérant que les commandes n'utilisent pas de lib boguée comme la libc-2.19.so
(test à réaliser) ;
- soit sauvegarder les éventuelles données sur un autre support, lancer la version boguée de gparted, supprimer la partition fat32, et la recréer aux caractéristiques souhaitées.