Montare automaticamente tutte le partizioni sul disco rigido su Linux Mint


14

Problema
Ho un'installazione di Linux Mint. Ogni volta che avvio, devo montare manualmente le due partizioni sul mio computer ( New volume De Drive C). Se non lo faccio, queste unità non vengono visualizzate da nessuna parte. Voglio sapere se esiste un modo per automatizzare questo processo.

Obiettivo
Montaggio automatico di tutte le partizioni sul disco rigido ogni volta che avvio.

Specifiche
Linux Mint 14 dual boot con Windows XP SP3



Come discusso nella risposta precedente accettata, il file / etc / fstab ti aiuterà a farlo. Dai un'occhiata a genfstab che, come suggerito, usa blkid per crearne uno automaticamente.
Rany Albeg Wein,

Risposte:


15

Puoi farlo attraverso il file /etc/fstab. Dai un'occhiata a questo link . Questo tutorial ha anche buoni dettagli.

Passaggi di esempio

Per prima cosa devi scoprire l'UUID dei dischi rigidi. È possibile utilizzare il comando blkidper questo. Per esempio:

% 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" 

L'output del blkidcomando precedente può essere utilizzato per identificare il disco rigido quando si aggiungono voci a /etc/fstab.

Successivamente è necessario modificare il /etc/fstabfile. Le linee in questo file sono organizzate come segue:

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

Ora modifica il file:

% sudo vi /etc/fstab

E aggiungi un file come questo, ad esempio:

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

Salvare il file e quindi rielaborare il file con il mount -acomando.

Partizioni Windows

Per montare una partizione NTFS dovrai fare qualcosa del genere nel tuo /etc/fstabfile:

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

le due partizioni /dev/sda5e dev/sda6non sono elencate nel fstabfile e nel blkidcomando. perché?
IcyFlame

va bene. capito. è perché è una partizione di Windows che si trova in / media
IcyFlame il

Le partizioni di Windows dovrai usare dev / sda * per montarle, inoltre dovrai specificare ntfs-3g per il tipo di file system che credo.
slm

14

Puoi farlo nel modo più semplice. Vai a:

  • Menu -> Dischi (app)
  • Seleziona il volume che desideri montare e fai clic sulle sue opzioni
  • Seleziona "Modifica opzioni di montaggio" -> E assicurati di selezionare "Monta all'avvio" nell'unità.

A volte la gui ha un senso o è facile fare queste cose.
Ramsharan,

Oh, Holly S ***, bello !!!
Felipsmartins,

Soluzione Wysiwyg, migliore per i principianti.
Sandburg,

1

Se hai molte partizioni da montare, forse hai bisogno di uno script come ho fatto io.


# ! 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))




È uno script Python, dipende da "/ bin / lsblk", salva l'output in due script shell per mount e 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
Sarebbe utile se tu potessi spiegare esattamente cosa fa il tuo comando.
Dhag,

Mettere una sequenza enorme di comandi e strutture di controllo sulla stessa linea non rende davvero il tuo codice una linea . Rende inutilmente più difficile da capire ...
John WH Smith il

0

Backup di fstab corrente:

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

elabora l'output di lsblk -f usando sed e awk e reindirizza l'output su 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

montare i nuovi punti di montaggio invocando

#mount -a
Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.