J'ai donc échangé mon SSD SATA brillant pour un SSD PCI-E encore plus brillant. Je lance mon système d'exploitation principal sur le SSD parce que c'est stupide-rapide. C'est ce que j'ai fait sur mon ancien disque SSD. J'ai donc créé une nouvelle partition EXT4, puis dd
edisposé les données (désolé, je ne connais plus la commande exacte que j'ai exécutée) et, après avoir réinstallé grub, j'ai démarré sur le périphérique PCI. E SSD. À première vue, tout avait parfaitement fonctionné et les choses allaient plus vite que jamais.
Mais ensuite, j'ai remarqué que l'espace disque disponible sur le nouveau disque plus grand était presque identique à celui de l'autre disque ... Un disque deux fois plus petit.
Il semble donc que j'ai copié les fichiers de manière incorrecte et que certaines métadonnées du système de fichiers ont été copiées.
Des outils comme du
et Disk Usage Analyzer reviennent avec les chiffres corrects. Les choses qui regardent la partition (et non les fichiers) semblent penser que le lecteur est de 120 Go
Cela fait une semaine que je me sers de ce disque, je ne suis donc plus synchronisé avec l'ancien disque SSD. Ce n'est donc pas un travail qui me remplit de joie que de relancer les données et de recommencer à zéro: deux questions:
Y at-il un moyen de réparer mon système de fichiers afin qu'il sache de quoi il s'agit vraiment? fsck
e2fsck
et badblocks
semblent tous être capables de le scanner sans trouver de problème.
Si je rebranche mon ancien SSD, y copie les données de mon PCI-E, puis les copie sur un nouveau système de fichiers (par exemple, jongle avec les données), quel est le meilleur moyen de le faire? Je souhaite évidemment conserver toutes les autorisations et les liens symboliques là où ils se trouvent.
L'outil que vous avez utilisé dd
n'est pas un outil de copie de fichier, c'est un outil de copie de disque qui copie octet pour octet. Cela signifie que toutes les informations, y compris les métadonnées relatives à la quantité d'espace disponible sur la partition du lecteur, ont été copiées.
Vous devez effectuer une sauvegarde complète de vos fichiers, formater le lecteur (y compris un format de parition complet), créer une nouvelle partition ext4 et un lecteur de remplacement, puis copier les fichiers.
Une fois les fichiers copiés, vous devez chroot
sur le nouveau système et exécuter la commande update-grub
pour installer le système d’amorçage sur le nouveau lecteur.
Ou vous pouvez simplement lancer une nouvelle installation d'Ubuntu et remettre vos fichiers.
A couru
Sudo rsync -ax /media/ssd /media/backup-drive/ssd-backup
Cela prend beaucoup de temps. Avant de copier, je nettoyais un peu, mais il me restait encore 35 Go. Pendant que j'écrivais des rafales d'écriture d'environ 120 Mo/s, cela m'a pris un certain temps. rsync ne vous donnera pas de sortie par défaut, mais vous pouvez ajouter --progress
si vous voulez une quantité de détails pervers (bien que cela ait été trop rapide pour que je puisse vraiment le lire - et probablement juste pour ralentir les choses).
killall ubiquity
après avoir copié les fichiers.Ensuite, j'ai fouillé tous les fichiers que le programme d'installation avait copiés, puis j'ai copié les fichiers de sauvegarde:
Sudo rm -rf /media/ssd/*
Sudo rsync -ax /media/backup-drive/ssd-backup /media/ssd
/etc/fstab
pendant que vous y êtes.Je suppose que vous faites quelque chose comme:
Sudo dd if=/dev/sda98 of=/dev/sda99
où/dev/sda98 a une taille de 12 Go et/dev/sda99 une taille de 25 Go.
Évidemment, ces noms sont faux, mais vous voyez l'idée.
Ce que vous avez fait est de déplacer non seulement les données, mais tout le système de fichiers, y compris toutes ses métadonnées décrivant ce qui est gratuit et ce qui est utilisé, vers la nouvelle partition. Il a beaucoup d'espace libre, mais cet espace libre n'a pas été incorporé dans le système de fichiers sous/dev/sda99, il est donc caché à la fin de la partition et complètement inutilisable.
La solution consiste à redimensionner le système de fichiers situé dans la partition:
Sudo resize2fs /dev/sda99
cela fonctionne sur les systèmes de fichiers EXT2, EXT3 et EXT4.
Vous devez d'abord faire une sauvegarde.
Cela indiquera au système de fichiers de se développer dans tout l'espace disponible sur la partition, en incorporant le nouvel espace dans les métadonnées du système de fichiers afin que les fichiers puissent y être stockés.
Vous ne pouvez pas copier une partition plus grande sur une partition plus petite avec dd
que si vous lui indiquez de ne copier autant qu'avec le paramètre count. dd
copie un peu, bit par bit, de tout ce qui se trouve dans la partition source vers la partition cible. Dans ce cas, il tente de copier tout l'espace caché/invisible sur la plus petite partition avec le contenu d'origine. Il n'a aucune idée de ce qu'il est en train de copier - il ne doit pas du tout être un système de fichiers valide.
En fait, il est OK de dd
le disque entier dans un autre. Mais vous devez ensuite redimensionner les partitions pour remplir le nouveau disque plus grand. Vous pouvez utiliser l’impressionnant outil de partitionnement de disque gparted
pour le faire. Ils ont aussi leur propre LiveCD.
J'ai rencontré ce problème lors du redimensionnement d'une partition Linux EX2 à l'aide de Paragon Partition Manager sous Windows. Heureusement, j'avais deux partitions Linux EX2, chacune avec des distributions Linux. J'ai pu démarrer sur la partition Linux qui n'avait pas été redimensionnée, puis utiliser Gparted pour réduire puis étendre à nouveau la partition qui n'avait pas correctement alloué l'espace libre au système de fichiers. Cela a fonctionné parfaitement!