Mounten Sie alle Partitionen auf der Festplatte automatisch unter Linux Mint

14

Problem
Ich habe eine Linux Mint-Installation. Jedes Mal, wenn ich boote, muss ich die beiden Partitionen auf meinem Computer ( New volume Dund Drive C) manuell mounten . Wenn ich das nicht mache, werden diese Laufwerke nirgendwo angezeigt. Ich möchte wissen, ob es eine Möglichkeit gibt, diesen Prozess zu automatisieren.

Ziel
Mounten Sie bei jedem Start automatisch alle Partitionen auf der Festplatte.

Specs
Linux Mint 14 Dual-Boot mit Windows XP SP3

IcyFlame
quelle
Wie in der akzeptierten vorherigen Antwort beschrieben, hilft Ihnen die Datei / etc / fstab dabei. Bitte werfen Sie einen Blick auf genfstab, das, wie vorgeschlagen, blkid verwendet, um automatisch eine zu erstellen.
Rany Albeg Wein

Antworten:

15

Sie können dies über die Datei tun /etc/fstab. Schauen Sie sich diesen Link an . Dieses Tutorial enthält auch gute Details.

Beispielschritte

Zuerst müssen Sie die UUID der Festplatten herausfinden. Hierfür können Sie den Befehl verwenden blkid. Beispielsweise:

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

Die Ausgabe des blkidobigen Befehls kann verwendet werden, um die Festplatte beim Hinzufügen von Einträgen zu identifizieren /etc/fstab.

Als nächstes müssen Sie die /etc/fstabDatei bearbeiten . Die Zeilen in dieser Datei sind wie folgt organisiert:

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

Bearbeiten Sie nun die Datei:

% sudo vi /etc/fstab

Und fügen Sie eine Datei wie diese hinzu, zum Beispiel:

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

Speichern Sie die Datei und verarbeiten Sie sie mit dem mount -aBefehl erneut.

Windows-Partitionen

Um eine NTFS-Partition zu mounten, müssen Sie in Ihrer /etc/fstabDatei Folgendes tun :

/dev/sda2   /mnt/excess ntfs-3g    permissions,locale=en_US.utf8    0   2
slm
quelle
Die beiden Partitionen /dev/sda5und dev/sda6sind nicht in der fstabDatei und im blkidBefehl aufgeführt. Warum?
IcyFlame
okay. Ich hab es geschafft. Das liegt daran, dass es sich um eine Windows-Partition handelt, die sich in / media befindet
IcyFlame
Windows-Partitionen müssen mit dev / sda * gemountet werden, und ich glaube, Sie müssen ntfs-3g für den Dateisystemtyp angeben.
SLM
14

Sie können dies auf einfachste Weise tun. Gehe zu:

  • Menü -> Festplatten (App)
  • Wählen Sie das Volume aus, das Sie bereitstellen möchten, und klicken Sie auf die entsprechenden Optionen
  • Wählen Sie "Mount-Optionen bearbeiten" -> und stellen Sie sicher, dass Sie im Laufwerk "Beim Start einbinden" auswählen.
Jay
quelle
Manchmal macht gui Sinn oder es macht einfach, diese Dinge zu tun.
Ramsharan
Oh, Holly S ***, schön !!!
Felipsmartins
Wysiwyg-Lösung, besser für Anfänger.
Sandburg
1

Wenn Sie viele Partitionen bereitstellen müssen, benötigen Sie möglicherweise ein Skript wie ich.


# ! 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 ist ein Python-Skript, abhängig von "/ bin / lsblk". Speichern Sie die Ausgabe in zwei Shell-Skripten für mount und umount.

neoedmund
quelle
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
anonymer Feigling
quelle
2
Es wäre hilfreich, wenn Sie genau erklären könnten, was Ihr Befehl bewirkt.
Dhag
Putting eine große Folge von Befehlen und Kontrollstrukturen auf der gleichen Linie nicht wirklich Ihren Code ein machen Einzeiler . Es macht es nur unnötig schwieriger zu verstehen ...
John WH Smith
0

Sicherung der aktuellen fstab:

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

Verarbeiten Sie die Ausgabe von lsblk -f mit sed und awk und leiten Sie die Ausgabe an fstab um:

#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

Stellen Sie die neuen Einhängepunkte durch Aufrufen bereit

#mount -a
AVA
quelle