Comment monter le bon lecteur à chaque redémarrage du Raspberry Pi?


13

Je sais généralement comment monter des disques durs dans un système UNIX. Mais je suis confus avec une chose. Dis que j'ai disk #1et disk #2. Je monte disk #1avec sudo mount /dev/sda1 /mnt/drive. Comment saurai-je que cela sda1sera attribué disk #1et non disk #2, surtout après le redémarrage du Raspberry Pi? En d'autres termes, comment puis-je avoir sda1et sdb1assigné au disque # 1 et # 2 respectivement et l'empêcher de permuter entre eux après le redémarrage?


1
C'est une bonne question car sur un système multidisque / dev / sda n'est pas toujours / dev / sda après un redémarrage.
Octopus

Réponses:


16

Les unités de disque se distinguent par leur UUID (identificateur universel unique). Vous pouvez trouver l'UUID de vos disques durs avec la commande ls -l /dev/disk/by-uuid/ Ensuite, vous devez créer les points de montage sudo mkdir /MOUNT/POINT1 et modifier leurs autorisations sudo chmod 775 /MOUNT/POINT1 Ensuite, vous ajoutez une ligne à votre fichier fstab (qui se trouve dans / etc / fstab) qui ressemble à ça:

UUID=BLAHBLAH12341234 /MOUNT/POINT1 ntfs-3g rw,defaults 0 0
UUID=12341234BLAHBLAH /MOUNT/POINT2 ext rw,defaults 0 0

Bien sûr, vous devez le modifier en fonction de votre système de fichiers, etc. Enregistrez ensuite le fichier et redémarrez et vos disques durs se monteront automatiquement aux points de montage donnés.


1
Comme je l'ai souligné dans ma réponse, ce ne sont pas les lecteurs, mais les partitions sur les lecteurs qui sont identifiées par un UUID. (Une différence subtile.) Si vous reformatez un lecteur, cela crée une nouvelle partition qui obtient un nouvel UUID.
Fred

Que voulez-vous dire par " / MOUNT / POINT1 "? Est-ce la définition littérale du point de montage?
IgorGanapolsky

1
@IgorGanapolsky est juste le nom du dossier dans lequel vous souhaitez monter vos partitions. Choisissez comme vous voulez.
ios.id0

Mieux qu'un simple redémarrage consiste à exécuter sudo mount -aet à voir s'il y a des erreurs. S'il y en avait, cela pourrait conduire à un système qui ne démarre pas.
Jan

7

Il s'agit strictement d'une question générique Linux, mais la réponse est de toute façon les UUID de partition (identificateurs universellement uniques). Comme le nom l'indique sur l'étain, lorsqu'une partition est formatée, un ID unique aléatoire est généré qui la décrit. Vous pouvez l'utiliser pour monter pour vous assurer d'obtenir toujours la bonne partition. La blkidcommande donne une liste d'UUID pour les périphériques actuellement connectés, par exemple:

/dev/sda4: UUID="2d02d277-a79c-4818-adc7-c37484e17c6a" TYPE="ext3" 

Cela correspondra à un périphérique / dev, dans ce cas /dev/disk/by-uuid/2d02d277-a79c-4818-adc7-c37484e17c6a. Vous pouvez l'utiliser pour monter. Vous pouvez utiliser une notation légèrement plus courte avec in /etc/fstabpour spécifier qu'un lecteur doit être monté:

UUID=2d02d277-a79c-4818-adc7-c37484e17c6a /mnt/backup ext3 defaults 0 0

Voir ici pour plus de détails ou consulter les résultats de la recherche UUID ici .


1
Quand je tape blkid , je ne reçois rien!
IgorGanapolsky

@IgorGanapolsky Try sudo blkid. Nécessite apparemment blkiddes privilèges root, mais sur un Raspberry Pi par défaut, vous vous connecterez en tant qu'utilisateur non privilégié pi.
herzbube

0

Merci pour la solution de contournement de Gabriel, même problème ici (Raspberry 2). Mais je pouvais sauter les 30 secondes au moment où le rc.local fonctionnait, le périphérique a été trouvé, donc un

sudo mount -a

dans /etc/rc.local a fait le travail.


-2

Eh bien, vrai et faux Dans mon cas, RPI v2 4 core, quelque chose a changé depuis la version v1 en tant que tel: l'édition de fstab afin de monter automatiquement le disque dur externe au démarrage ne fonctionne pas du tout, n'utilise pas uuid, n'utilise pas / dev / sda1

le problème est que je dois attendre 30 secondes après le démarrage complet pour monter mon disque dur externe, bizarre, c'est que sur la clé USB, fstab fonctionne parfaitement. Donc, j'ai fait un script pour dormir 30; sudo mount -a pour exécuter les choses.

voici / etc / fstab

pi@raspberrypi ~ $ cat /etc/fstab 
proc            /proc           proc    defaults          0       0
/dev/mmcblk0p1  /boot           vfat    defaults          0       2
/dev/mmcblk0p2  /               ext4    defaults,noatime  0       1
# a swapfile is not a swap partition, so no using swapon|off from here on, use  dphys-swapfile swap[on|off]  for that

Et ajouté la dernière ligne

UUID=3d81d9e2-7d1b-4015-8c2c-29ec0875f762 /media/250_gb ext4 defaults 0 0

Voici mon extension /etc/rc.local

# Begin all drives remount
clear
echo "Please wait 30 seconsds in order to remount all missing drives !!!"
for x in `seq 1 30`
do
echo -n "."
sleep 1
done
sudo mount -a
sudo service minidlna force-reload

# End drives remount 

exit 0

Cela pourrait être quelque chose avec l'adaptateur usb jmicron, sans attendre 30 secondes, il dit que l'appareil n'est pas présent même si lsusb obtient l'adaptateur Jmicron correct.

Voici 2 de mes instantanés télévisés Avant entrez la description de l'image ici après entrez la description de l'image ici

gabriel@linux-romania.com


1
La question parle de la commande des disques et non du périphérique non disponible.
mpromonet
En utilisant notre site, vous reconnaissez avoir lu et compris notre politique liée aux cookies et notre politique de confidentialité.
Licensed under cc by-sa 3.0 with attribution required.