¿Cómo monte la unidad correcta cada vez que se reinicia la Raspberry Pi?

13

Generalmente sé cómo montar discos duros en un sistema UNIX. Pero estoy confundido con una cosa. Digamos que tengo disk #1y disk #2. Monto disk #1con sudo mount /dev/sda1 /mnt/drive. ¿Cómo sabré sda1si se asignará disk #1y no disk #2, especialmente después de que se reinicie la Raspberry Pi? En otras palabras, ¿cómo puedo tener sda1y sdb1asignar al disco # 1 y # 2 respectivamente y evitar que se intercambien entre sí después de reiniciar?

StarShire
fuente
1
Esta es una buena pregunta porque en un sistema multidisco / dev / sda no siempre es / dev / sda después de un reinicio.
Octopus

Respuestas:

16

Las unidades de disco se distinguen por su UUID (identificador universalmente único). Puede encontrar el UUID de sus HDs con el comando ls -l /dev/disk/by-uuid/ Luego debe crear los puntos de montaje sudo mkdir /MOUNT/POINT1 y cambiar los permisos de ellos sudo chmod 775 /MOUNT/POINT1 Luego agrega una línea a su archivo fstab (que se encuentra en / etc / fstab) que se ve así:

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

Por supuesto, debe cambiarlo de acuerdo con su sistema de archivos, etc. Luego guarde el archivo y reinicie y sus HD se montarán automáticamente en los puntos de montaje dados.

ios.id0
fuente
1
Como señalé en mi respuesta, no son las unidades, sino las particiones en las unidades identificadas por un UUID. (Una sutil diferencia.) Si vuelve a formatear una unidad, eso crea una nueva partición que obtiene un nuevo UUID.
Fred
¿Qué quieres decir con " / MOUNT / POINT1 "? ¿Es esa la definición literal del punto de montaje?
IgorGanapolsky
1
@IgorGanapolsky es solo el nombre de la carpeta en la que desea montar sus particiones. Elige como quieras.
ios.id0
Mejor que simplemente reiniciar es ejecutar sudo mount -ay ver si hay algún error. Si hubiera alguno, podría conducir a un sistema que no se inicia.
Jan
7

Esta es estrictamente una pregunta genérica de Linux, pero la respuesta de todos modos son los UUID de partición (identificadores únicos universalmente). Como dice el nombre en la lata, cuando se formatea una partición, se genera una ID única aleatoria que la describe. Puede usar esto para montar para asegurarse de obtener siempre la partición correcta. El blkidcomando proporciona una lista de UUID para los dispositivos conectados actualmente, por ejemplo:

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

Esto corresponderá a un dispositivo / dev, en este caso /dev/disk/by-uuid/2d02d277-a79c-4818-adc7-c37484e17c6a. Puedes usar eso para montar. Puede usar una notación ligeramente más corta con in /etc/fstabpara especificar que se debe montar una unidad:

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

Vea aquí para más detalles, o mire los resultados de búsqueda de UUID aquí .

Fred
fuente
1
Cuando escribo blkid , ¡no obtengo nada!
IgorGanapolsky
@IgorGanapolsky Intenta sudo blkid. Aparentemente blkidrequiere privilegios de root, pero en una Raspberry Pi por defecto iniciará sesión como usuario no privilegiado pi.
herzbube
0

Gracias por la solución de gabriel, el mismo problema aquí (Raspberry 2). Pero pude evitar los 30 segundos para cuando el rc.local comenzó a funcionar, se encontró el dispositivo, así que

sudo mount -a

en /etc/rc.local hizo el trabajo.

Puñal
fuente
-2

Bueno, cierto y no cierto En mi caso, RPI v2 4 core, algo ha cambiado desde la versión v1 como tal: editar fstab para montar automáticamente el disco duro externo al inicio no se ejecuta, no usa uuid, no usa / dev / sda1

el problema es que tengo que esperar 30 segundos después de completar el arranque para montar mi disco duro externo, lo extraño es que en una memoria USB, fstab funciona perfectamente. Entonces, hice un guión para dormir 30; sudo mount -a para agotar las cosas.

aquí está / 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

Y agregó la última línea

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

Aquí está mi /etc/rc.local extension

# 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

Podría ser algo con el adaptador usb jmicron, sin 30 segundos de espera, dice que el dispositivo no está presente a pesar de que lsusb obtiene el adaptador Jmicron correcto.

Aquí hay 2 de mis instantáneas de TV Antes ingrese la descripción de la imagen aquí después ingrese la descripción de la imagen aquí

[email protected]

Gabriel
fuente
1
La pregunta habla sobre el pedido de discos y no sobre el dispositivo no disponible.
mpromonet