Montando todas as partições no disco rígido automaticamente no Linux Mint


14

Problema
Eu tenho uma instalação do Linux Mint. Toda vez que inicializo, preciso montar manualmente as duas partições no meu computador ( New volume De Drive C). Se eu não fizer isso, essas unidades não aparecerão em lugar algum. Quero saber se existe alguma maneira de automatizar esse processo.

Objetivo Montar
automaticamente todas as partições no disco rígido toda vez que eu inicializar.

Especificações
Linux Mint 14 dual boot com Windows XP SP3



Conforme discutido na resposta anterior aceita, o arquivo / etc / fstab o ajudará a conseguir isso. Por favor, dê uma olhada no genfstab que, como sugerido, usa blkid para criar um automaticamente.
Rany Albeg Wein

Respostas:


15

Você pode fazer isso através do arquivo /etc/fstab. Dê uma olhada neste link . Este tutorial também possui bons detalhes.

Etapas de exemplo

Primeiro você precisa descobrir o UUID dos discos rígidos. Você pode usar o comando blkidpara isso. Por exemplo:

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

A saída do blkidcomando acima pode ser usada para identificar o disco rígido ao adicionar entradas ao /etc/fstab.

Em seguida, você precisa editar o /etc/fstabarquivo. As linhas neste arquivo estão organizadas da seguinte maneira:

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

Agora edite o arquivo:

% sudo vi /etc/fstab

E adicione um arquivo como este, por exemplo:

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

Salve o arquivo e, em seguida, reprocesse o arquivo com o mount -acomando

Partições do Windows

Para montar uma partição ntfs, você precisará fazer algo assim no seu /etc/fstabarquivo:

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

as duas partições /dev/sda5e dev/sda6não estão listadas no fstabarquivo e no blkidcomando porque?
IcyFlame

OK. deixa comigo. é porque ele é uma partição do Windows que está lá em media /
IcyFlame

Nas partições do Windows, você precisará usar o dev / sda * para montá-las, além de especificar ntfs-3g para o tipo de sistema de arquivos que eu acredito.
Slm

14

Você pode fazer isso da maneira mais simples. Vamos para:

  • Menu -> Discos (aplicativo)
  • Selecione o volume que você deseja montar e clique nas opções
  • Selecione "Editar opções de montagem" -> E certifique-se de selecionar "Montar na inicialização" na unidade.

Em algum momento, a GUI faz sentido ou é fácil fazer essas coisas.
Ramsharan

Oh, Holly S ***, Legal !!!
Felipemartins

Solução Wysiwyg, melhor para iniciantes.
Sandburg

1

Se você tiver muitas partições a serem montadas, talvez precise de um script como eu.


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




É um script python, depende de "/ bin / lsblk", salve a saída em dois scripts shell para montagem e montagem.


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
Seria útil se você pudesse explicar exatamente o que seu comando faz.
dhag

Colocar uma enorme sequência de comandos e estruturas de controle na mesma linha realmente não transforma seu código em uma linha . Ele apenas torna unecessarily mais difícil de entender ...
John WH Smith

0

Backup do fstab atual:

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

processe a saída do lsblk -f usando sed e awk e redirecione a saída para o 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

monte os novos pontos de montagem chamando

#mount -a
Ao utilizar nosso site, você reconhece que leu e compreendeu nossa Política de Cookies e nossa Política de Privacidade.
Licensed under cc by-sa 3.0 with attribution required.