J'essayais d'installer Ubuntu en direct sur une clé USB avec des changements persistants. Cependant, je voulais écrire les modifications sur le disque dur au lieu de l'USB pour diverses raisons (performances, espace).
J'ai découvert que les modifications sont gérées dans un fichier avec un système de fichiers ext3 monté par le système (casper-rw). Mais il semble être détecté automatiquement sur le lecteur flash au démarrage.
Comment puis-je créer un nouveau fichier casper-rw sur le disque dur et rediriger le système Ubuntu live sur la clé USB vers le disque dur?
modifier le 14/07/2015:
Merci pour les réponses jusqu'à présent. Ils sont très intéressants et aident beaucoup à mieux comprendre la mécanique de la «fonction de sauvegarde persistante du système en direct» et montrent de bonnes approches pour résoudre le problème. Malheureusement, j'essayais de surmonter certaines limitations que j'avais à l'esprit en posant la question concernant l'accès au système hôte et / ou l'accès au nouveau matériel que je n'avais pas clairement indiqué (désolé pour cela).
Si le partitionnement est une option, je pense que la réponse indiquée ici est très bonne, car elle ne nécessite que de créer une nouvelle partition, de l'étiqueter casper-rw et vous avez terminé (le travail est excellent, je l'ai testé).
Si l'achat de nouveau matériel est une option, un lecteur flash USB 3.0 (MLC ou SLC), des disques durs portables, eSATA et d'autres options viennent à l'esprit qui ont de bien meilleures performances qu'un lecteur flash USB2.0 moyen.
Je me demandais donc s'il y avait un moyen de simplement créer un fichier casper-rw au lieu d'une partition sur un disque avec un accès limité à (ou copier / lier celui sur le lecteur flash).
De cette façon, il serait facile de simplement copier le fichier casper-rw sur le lecteur flash et de l'utiliser à nouveau à partir de là ou de le déplacer vers un autre ordinateur, offrant une grande flexibilité, des modifications minimales au disque dur et la suppression facile des modifications apportées à le système.
Réponses:
Vous pouvez facilement mettre le système de fichiers accessible en écriture (dans le fichier casper-rw) pour un média en direct sur un disque dur. La limitation est que le fichier casper-rw doit aller sur une partition FAT. Les machines plus récentes (UEFI) ont toutes une partition FAT EFI, mais celle-ci est généralement trop petite pour contenir un fichier casper-rw 1G-4G. Sur une autre partition FAT suffisamment grande, vous pouvez créer des répertoires contenant chacun un fichier casper-rw pour des médias en direct éventuellement différents. Supposons que sda11 soit 10G et possède un système de fichiers FAT 10G, monté sur / mnt / sda11, sur lequel se trouvent les répertoires / A, / B, / C, / D et / E. Supposons que nous utiliserons / A pour nos médias persistants, en y mettant un casper-rw.
Prenez vos médias en direct créés avec persistance et modifiez le fichier /boot/grub/grub.cfg et le fichier /syslinux/txt.cfg, en ajoutant après le mot "persistant"
/boot/grub/grub.cfg ...
/syslinux/txt.cfg
C'est tout. Vous n'avez même pas besoin de renommer / supprimer le fichier casper-rw sur le support USB.
S'il y a de la place sur le support USB, vous pouvez même copier le casper-rw du disque dur sur l'USB et emporter vos modifications avec vous.
Le chemin persistant ne permet aucune référence de disque explicite, il doit donc être unique sur toutes les partitions FAT. Testé avec 1 ou 2 partitions FAT (l'une étant la partition EFI). Ne fonctionnera pas sur un système de fichiers ext2 ou ntfs au lieu de FAT. Si vous ajoutez également le mot "toram" sur la même ligne que "persistant", votre système de fichiers compressé sur l'USB lent sera copié dans le ram et donnera de bien meilleures performances, cependant, il semble y avoir un problème d'arrêt, avec la partition FAT ne pas être proprement démonté (ce qui ne semble pas poser de problème mais ...)
la source
grub.cfg
ousyslinux.txt
étant donné que vous ne pouvez monter le média en direct qu'en lecture seule car il s'agit d'une iso ??C'est extrêmement simple si vous utilisez la configuration suivante:
Installez Ubuntu sur une clé USB SLC (USB 3.0 préféré si votre matériel le prend en charge) sans aucun des trucs casper (juste une installation normale, en traitant la clé USB comme un SSD.)
Pourquoi? Les SLC sont deux fois plus chers que les MLC mais ils sont 4 fois plus rapides et durent 8 * plus longtemps! Ce sont donc vraiment de petits SSD sur un bâton!
Optimisez le système et traitez la clé USB comme un petit SSD, donc:
Dans votre
/etc/sysctl.conf
ajout:Dans votre
/etc/fstab
ajouter les paramètres audacieux à votre ligne USB de démarrage. (Ce sera probablementsdc
ousdd
. Ce qui suit est un exemple, utilisez UID si possible)/dev/sdc / ext4 defaults,noatime,discard,errors=remount-ro 0 1
créer 2 utilisateurs: un utilisateur administrateur qui a son répertoire personnel sur la clé USB mais qui a très peu de fichiers et un utilisateur normal qui aura son répertoire personnel sur le disque dur.
Insérez seulement maintenant le disque dur et ajoutez les informations nécessaires au disque dur pour
fstab
monter automatiquement le disque dur et ajouter les paramètres suivants:nobootwait,nofail
pour permettre le démarrage même lorsque le disque dur n'est pas présent (si c'est le cas, seul l'utilisateur administrateur y aura accès, pas l'utilisateur normal)
Connectez-vous maintenant en tant qu'utilisateur administrateur et déplacez le répertoire personnel de l'utilisateur normal de la clé USB vers le disque dur:
cp --preserve=all /home/NormalUser/* /media/ExternalHDD/NormalUser
Si tout va bien:
Terminé! :-)
Pour mémoire: j'ai une clé USB 2.0 MLC de 16 Go comme celle-ci (plus que suffisante pour mon cas d'utilisation et pas trop chère et elle a environ 5 ans maintenant et fonctionne toujours!)
la source