Montaje de todas las particiones en el disco duro automáticamente en Linux Mint


14

Problema
Tengo una instalación de Linux Mint. Cada vez que inicio, necesito montar manualmente las dos particiones en mi computadora ( New volume Dy Drive C). Si no hago esto, estas unidades no aparecen en ningún lado. Quiero saber si hay alguna forma de automatizar este proceso.

Objetivo Montar
automáticamente todas las particiones en el disco duro cada vez que arranque.

Especificaciones
arranque dual Linux Mint 14 con Windows XP SP3



Como se discutió en la respuesta anterior aceptada, el archivo / etc / fstab lo ayudará a lograrlo. Eche un vistazo a genfstab que, como se sugiere, utiliza blkid para crear uno automáticamente.
Rany Albeg Wein

Respuestas:


15

Puedes hacer esto a través del archivo /etc/fstab. Echa un vistazo a este enlace . Este tutorial también tiene buenos detalles.

Pasos de ejemplo

Primero debe averiguar el UUID de los discos duros. Puedes usar el comando blkidpara esto. Por ejemplo:

% sudo blkid
/dev/sda1: TYPE="ntfs" UUID="A0F0582EF0580CC2"
/dev/sda2: UUID="8c2da865-13f4-47a2-9c92-2f31738469e8" SEC_TYPE="ext2" TYPE="ext3"
/dev/sda3: TYPE="swap" UUID="5641913f-9bcc-4d8a-8bcb-ddfc3159e70f"
/dev/sda5: UUID="FAB008D6B0089AF1" TYPE="ntfs"
/dev/sdb1: UUID="32c61b65-f2f8-4041-a5d5-3d5ef4182723" SEC_TYPE="ext2" TYPE="ext3"
/dev/sdb2: UUID="41c22818-fbad-4da6-8196-c816df0b7aa8" SEC_TYPE="ext2" TYPE="ext3" 

El resultado del blkidcomando anterior se puede utilizar para identificar el disco duro al agregar entradas /etc/fstab.

A continuación, debe editar el /etc/fstabarchivo. Las líneas en este archivo están organizadas de la siguiente manera:

UUID={YOUR-UID}    {/path/to/mount/point}               {file-system-type}    defaults,errors=remount-ro 0       1

Ahora edite el archivo:

% sudo vi /etc/fstab

Y agregue un archivo como este, por ejemplo:

UUID=41c22818-fbad-4da6-8196-c816df0b7aa8  /disk2p2      ext3    defaults,errors=remount-ro 0       1

Guarde el archivo y luego reprocese el archivo con el mount -acomando.

Particiones de Windows

Para montar una partición ntfs, deberá hacer algo como esto en su /etc/fstabarchivo:

/dev/sda2   /mnt/excess ntfs-3g    permissions,locale=en_US.utf8    0   2

las dos particiones /dev/sda5y dev/sda6no se enumeran en el fstabarchivo y en el blkidcomando. ¿por qué?
IcyFlame

bueno. Lo tengo. es porque es una partición de Windows que está en / media
IcyFlame

Las particiones de Windows necesitarán usar dev / sda * para montarlas, también necesitarán especificar ntfs-3g para el tipo de sistema de archivos, creo.
slm

14

Puedes hacer esto de la manera más simple. Ir:

  • Menú -> Discos (aplicación)
  • Seleccione el volumen que desea montar y haga clic en sus opciones
  • Seleccione "Editar opciones de montaje" -> Y asegúrese de seleccionar "Montar al inicio" en la unidad.

En algún momento, la interfaz gráfica tiene sentido o es fácil hacer estas cosas.
Ramsharan

¡Oh, Holly S ***, bien!
felipsmartins

Solución Wysiwyg, mejor para principiantes.
Sandburg

1

Si tiene muchas particiones para montar, tal vez necesite un script como yo.


# ! python
# mount all partition by neoedmund
from subprocess import Popen
from subprocess import PIPE

def getCol(col, line):
    p1 = line.find(col)
    if p1<0 : return ""
    p2 = p1 + len(col) + 1
    p3 = line.find('"',p2+1)
    return line[p2+1:p3]

data_stream = Popen(["/bin/lsblk", "-P", "-o", "FSTYPE,UUID,MOUNTPOINT,KNAME"], stdout=PIPE)
data=[]
for line in data_stream.stdout:
    fstype = getCol("FSTYPE", line)
    if fstype=="": continue # no fs
    mountpoint = getCol("MOUNTPOINT", line)
    if mountpoint!="":continue  # already mounted   
    uuid = getCol("UUID", line)
    kname = getCol("KNAME", line)
    data.append((kname, uuid))

print("### mount script ###")
for (kname,uuid) in data:
    print("mkdir /media/%s-%s"%(kname, uuid))
    print("mount /dev/%s /media/%s-%s" %(kname, kname, uuid))

print("### umount script ###")
for (kname,uuid) in data:
    print("umount /dev/%s" %(kname))




Es un script de Python, depende de "/ bin / lsblk", guarda la salida en dos scripts de shell para mount y umount.


0
for i in $(lsblk -r |awk '{ print $1 }'|grep -v md |grep -v loop |grep .*[[:digit:]]|sort|uniq;); 
do
    if [ -z  "$(grep  $i /proc/mounts)" ]
    then  
        mkdir /mnt/$i;
        mount /dev/$i /mnt/$i
    fi
done

2
Sería útil si pudiera explicar exactamente lo que hace su comando.
Dhag

Poner una secuencia enorme de comandos y estructuras de control en la misma línea realmente no hace que su código sea de una sola línea . Simplemente hace que sea más difícil de entender ...
John WH Smith

0

Copia de seguridad de fstab actual:

#cp -a /etc/fstab /etc/fstab.bk

procese la salida de lsblk -f usando sed y awk y redirija la salida a fstab:

#lsblk -f|sed 's/\[SWAP]/swap /g'|awk '/(-)/{printf"UUID=%-36s %-23s %-7s defaults 
           0 0\n", $3, ($4==""?mnt"NR:$4), $2}'>/etc/fstab

montar los nuevos puntos de montaje invocando

#mount -a
Al usar nuestro sitio, usted reconoce que ha leído y comprende nuestra Política de Cookies y Política de Privacidad.
Licensed under cc by-sa 3.0 with attribution required.