web-dev-qa-db-fra.com

Perdu mon répertoire utilisateur, tous les fichiers encore présents lors de l'affichage d'une partition non montée à partir du disque de secours, comment restaurer?

J'utilise 11.10 (ext4) et j'ai perdu /home/myuserid. /home est là, mais semble vide. Je peux démarrer à l'invite de connexion et me connecter en tant qu'invité, mais lorsque j'essaie de me connecter en tant que myuserid, je suis renvoyé à l'écran de connexion. Je peux également démarrer en mode de récupération via Grub, puis sur une invite racine. En tant qu'invité et racine, /home apparaît vide:

root@ubuntu:~$ cd /home
root@ubuntu:/home$ ls -al
total 0
drwxr-xr-x  1 root   root    60 2012-01-13 07:42 .
drwxr-xr-x  1 root   root   240 2012-01-13 07:42 ..
root@ubuntu:/home$ 

Cependant, lorsque je démarre l'ordinateur avec mon installation USB Ubuntu, que je l'utilise et que j'ouvre Nautilus, je peux voir que /home/myuserid est présent et que tous les fichiers qu'il contient sont intacts. J'ai essayé de le récupérer en utilisant parted comme expliqué sur la page buntu Data Recovery , mais le rescue START END La commande n’a rien fait (elle n’a même pas donné de code retour, elle a simplement lancé une nouvelle invite).

Il semble que je viens de supprimer un pointeur de la table de partition sur l'emplacement sur le disque ou quelque chose de ce genre, sans supprimer la partition et les fichiers réels. Quelqu'un sait comment restaurer /home/myuserid?

PS - J'ai lu beaucoup de discussions sur ce sujet, mais elles semblent toutes orientées vers la restauration de fichiers perdus, plutôt que de restaurer un pointeur de la table de partition dans un dossier utilisateur ou de résoudre un problème avec un dossier utilisateur ne se montant pas correctement. ou quoi que ce soit que j'ai fait ici. Mes fichiers ne sont vraiment pas perdus, je peux les voir et les ouvrir correctement lorsque je cours à partir d'une clé USB, et j'hésite à essayer des outils de récupération comme PhotoRec lorsque 1) ils ne semblent pas fiables à 100%, et 2) I soupçonnez que la solution est plus simple.

Edit: /home n'est pas monté maintenant. Démarrer avec la clé USB, ce que je fais maintenant, ne le monte pas automatiquement. Et oui /home est sur sa propre partition (comme /boot, swap, / et /home, tous sur des partitions séparées).

4
Kurtosis

Nous ne savons pas pourquoi ni comment vous avez perdu votre $ HOME, mais d'après ce que vous avez dit, il semble toujours là.

Vous pouvez facilement basculer vers un shell à partir de votre session d’invité en appuyant sur Alt+Ctrl+F1. A partir de là, connectez-vous avec votre myuserid. Vous pouvez rencontrer une erreur en disant No directory: logging in with HOME=/. Après avoir été connecté, lancez

cd /home/myuserid
ls

Si tous les fichiers sont en place et seulement alors vous pourrez peut-être restaurer votre HOME avec la commande suivante

Sudo usermod -d /home/myuserid myuserid

Déconnectez-vous de la session invité et connectez-vous à votre compte comme d'habitude.

Si vos fichiers ne sont pas visibles depuis la session d'invité, faites comme les commentaires déjà suggérés. Sauvegardez vos données ou essayez de monter la partition où réside/home.

2
Takkat

La propre réponse de OP a été retirée de la question:

Solution: démarrez avec Ubuntu Live USB, recherchez le répertoire utilisateur manquant dans /media, sauvegardez-le, puis démarrez-le à l'invite de la racine de la console de récupération, exécutez mount -a pour forcer tout le montage dans fstab, puis redémarrez et essayez. se reconnecter. Détails:

  1. Backup/home/myuserdir en utilisant cp -ax pour conserver tous les liens et attributs:

    • Branchez un disque dur externe ou un autre support de sauvegarde via USB.
    • Démarrez à partir du disque de démarrage USB. [1] [1] [2] [2]
    • Ouvrir un terminal, cd/media
    • Recherchez la partition/home non montée dans/media. Il peut être nommé une longue chaîne GUID au lieu de/home. Juste cd dedans et voyez si la partition manquante /home/myuserid (ou /[GUID]/myuserid) est là. Une fois que vous l'avez trouvé, alors ...
    • Copiez tout le répertoire utilisateur sur le support de sauvegarde en utilisant [cp -ax pour conserver les liens et les attributs] [3]:
    • ubuntu@ubuntu:/> cd /media/[GUID]
    • ubuntu@ubuntu:/media/[GUID]> cp -ax * /media/backupdrivename/backupdir
    • Cela va prendre du temps. Environ 30-40m pour mes 117 Go, pour référence.
  2. Déconnectez-vous, arrêtez, retirez le lecteur de démarrage USB et le disque dur de sauvegarde. Redémarrez dans la console de récupération Ubuntu.

    • Maintenez la touche Maj enfoncée pendant le démarrage pour afficher le menu de démarrage GRUB. Choisissez l'option de démarrage de la console de récupération.
  3. Dans la console de récupération, sélectionnez l'option à insérer dans une invite racine.

  4. À l'invite de la racine, exécutez mount -a pour tout monter dans/etc/fstab. Maintenant, vérifiez/home avec ls -al /home. Avec de la chance, /home/myuserdir est maintenant là.

  5. Redémarrez avec Sudo reboot. Si Ubuntu lance la vérification automatique du système de fichiers lors du redémarrage, laissez-la s'exécuter, n'annulez pas. Sur l'écran de connexion, connectez-vous avec l'ID utilisateur normal.

  6. Après cela, mon/home/userdir a été restauré et j'ai pu me connecter normalement et tout a fonctionné.

2
Zanna