Montage automatique de toutes les partitions sur le disque dur sous Linux Mint


14

Problème
J'ai une installation Linux Mint. Chaque fois que je démarre, je dois monter manuellement les deux partitions sur mon ordinateur ( New volume Det Drive C). Si je ne fais pas cela, ces disques n'apparaissent nulle part. Je veux savoir s'il existe un moyen d'automatiser ce processus.

Objectif Monter
automatiquement toutes les partitions sur le disque dur à chaque démarrage.

Spécifications
Linux Mint 14 dual boot avec Windows XP SP3



Comme indiqué dans la réponse précédente acceptée, le fichier / etc / fstab vous aidera à accomplir cela. Veuillez consulter genfstab qui, comme suggéré, utilise blkid pour en créer un automatiquement.
Rany Albeg Wein

Réponses:


15

Vous pouvez le faire via le fichier /etc/fstab. Jetez un œil à ce lien . Ce tutoriel contient également de bons détails.

Exemples d'étapes

Vous devez d'abord connaître l'UUID des disques durs. Vous pouvez utiliser la commande blkidpour cela. Par exemple:

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

La sortie de la blkidcommande ci-dessus peut être utilisée pour identifier le disque dur lors de l'ajout d'entrées à /etc/fstab.

Ensuite, vous devez modifier le /etc/fstabfichier. Les lignes de ce fichier sont organisées comme suit:

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

Modifiez maintenant le fichier:

% sudo vi /etc/fstab

Et ajoutez un fichier comme celui-ci, par exemple:

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

Enregistrez le fichier, puis retraitez-le avec la mount -acommande.

Partitions Windows

Pour monter une partition ntfs, vous devrez faire quelque chose comme ceci dans votre /etc/fstabfichier:

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

les deux partitions /dev/sda5et dev/sda6ne sont pas répertoriés dans le fstabfichier et dans la blkidcommande. Pourquoi?
IcyFlame

d'accord. J? ai compris. c'est parce que c'est une partition Windows qui est là dans / media
IcyFlame

Les partitions Windows, vous devrez utiliser le dev / sda * pour les monter, vous devrez également spécifier ntfs-3g pour le type de système de fichiers, je crois.
slm

14

Vous pouvez le faire de la manière la plus simple. Aller à:

  • Menu -> Disques (application)
  • Sélectionnez le volume que vous souhaitez monter et cliquez sur ses options
  • Sélectionnez "Modifier les options de montage" -> Et assurez-vous de sélectionner "Montage au démarrage" dans le lecteur.

Parfois, le gui est logique ou il est facile de faire ces choses.
Ramsharan

Oh, Holly S ***, sympa !!!
felipsmartins

Solution Wysiwyg, meilleure pour les débutants.
Sandburg

1

Si vous avez beaucoup de partitions à monter, vous avez peut-être besoin d'un script comme je l'ai fait.


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




Il s'agit d'un script python, dépend de "/ bin / lsblk", enregistrez la sortie dans deux scripts shell pour le montage et le démontage.


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
Il serait utile que vous puissiez expliquer exactement ce que fait votre commande.
dhag

Mettre une énorme séquence de commandes et de structures de contrôle sur la même ligne ne fait pas vraiment de votre code une ligne . Cela rend tout simplement inutilement plus difficile à comprendre ...
John WH Smith

0

Sauvegarde du fstab actuel:

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

traiter la sortie de lsblk -f en utilisant sed et awk et rediriger la sortie vers 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

monter les nouveaux points de montage en invoquant

#mount -a
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.