web-dev-qa-db-fra.com

Comment monter automatiquement le système de fichiers NTFS en veille prolongée en lecture seule?

Est-il possible de configurer Ubuntu de cette façon:

Si je ne peux pas monter le système de fichiers en mode rw, montez-le en mode ro dans le même répertoire.

En conséquence, je ne devrais pas recevoir la notification indiquant que le système ne peut pas monter le système de fichiers (notification de correction manuelle ou non). SO lorsque je démarre le système, mes partitions ntfs doivent être montées en mode rw ou ro, selon que la fenêtre est en veille prolongée.

entrée fstab:

#/dev/sda7
UUID=D0B43178B43161E0 /media/Dane           ntfs    defaults,errors=remount-ro 0        1

"mount -a" résultat:

The disk contains an unclean file system (0, 0).
Metadata kept in Windows cache, refused to mount.
Failed to mount '/dev/sda7': Operation not permitted
The NTFS partition is in an unsafe state. Please resume and shutdown
Windows fully (no hibernation or fast restarting), or mount the volume
read-only with the 'ro' mount option.

J'ai Ubuntu 13.10 et Win8. J'utilise uefi secure boot.

6
Piotr

J'ai trouvé un moyen de monter une partition Windows hibernée en mode lecture seule en cas d'erreur

J'espère que cela fonctionnera pour vous aussi. Je décris ci-dessous comment le faire.

  • Ouvrez le fichier /etc/rc.local avec les privilèges root dans n’importe quel éditeur.

    Sudo gedit /etc/rc.local
    
  • Ajoutez maintenant les lignes suivantes:

    Sudo mount /dev/sda7 /media/Dane
    if [ $? -eq 14 ]
    then
      Sudo mount -o ro /dev/sda7 /media/Dane
    fi
    exit 0
    

    Si exit 0 est déjà écrit, supprimez le doublon. Assurez-vous que /etc/sda7 est votre partition Windows que vous allez monter en cas d'erreur et qu'il existe déjà un répertoire nommé Dane créé dans /media. Sinon, changez /dev/sdaX en conséquence et créez le répertoire.

  • Maintenant, mettez à jour en utilisant la commande suivante:

    Sudo update-rc.d -f /etc/rc.local
    

    Je ne sais pas si cette commande est nécessaire ou non, mais exécutez-la simplement avec tous les messages qu'elle donne.

  • Maintenant, redémarrez enfin votre système lorsque Windows est en veille prolongée.

Une petite description:

La commande écrite dans le fichier /etc/rc.local est exécutée avant et après l’amorçage du système et joue donc le rôle de démarrage. La première commande du script essaiera de monter la partition et d'obtenir le code d'erreur renvoyé. alors $? est 14 quand une erreur survient. $? est 16 quand la partition est déjà montée et essaye de la remonter ...

Répondez si quelque chose ne va pas. J'attendrai ta réponse ..

1
Saurav Kumar

Tout d’abord, vous devez trouver l’identifiant de l’appareil en utilisant:

Sudo fdisk -l

Recherchez celui qui est formaté en tant que NTFS sous Système et souvenez-vous de l'ID de périphérique (devrait ressembler à/dev/sda2). Créez ensuite le répertoire de montage et montez-le.

mkdir Windows
Sudo mount -o ro /dev/sdaX Windows

(Remplacez X par votre identifiant d'appareil)

4
1lann

C'est ma solution, ce n'est pas la meilleure.

Je viens d'ajouter la deuxième entrée à l'option fstab avec nobootwait. Si la première entrée ne fonctionne pas, la deuxième entrée fonctionne et aucun message n'est signalé par le système. Si la première entrée fonctionne, alors la deuxième entrée ne fonctionne pas à cause de la première entrée. Nous verrons si cela fonctionnera correctement: D

#/dev/sda7
UUID=D0B43178B43161E0 /media/Dane           ntfs    defaults,nobootwait,errors=remount-ro 0        1
UUID=D0B43178B43161E0 /media/Dane           ntfs   suid,dev,exec,auto,nouser,async,nobootwait,ro    0       2
0
Piotr