Como montar um dispositivo no Linux?

75

Li alguns recursos sobre o comando mount para montar dispositivos no Linux, mas nenhum deles é claro o suficiente (pelo menos para mim).

No geral, isso que mais guia afirma:

$ mount
(lists all currently mounted devices)

$ mount -t type device directory
(mounts that device)

for example (to mount a USB drive):
$ mount -t vfat /dev/sdb1 /media/disk

O que não está claro para mim:

  • Como sei o que usar para "dispositivo" como em $ mount -t type device directory? Ou seja, como sei que devo usar "/ dev / sdb1" neste comando $ mount -t vfat /dev/sdb1 /media/diskpara montar minha unidade USB?

  • o que o parâmetro "-t" define aqui? tipo?

Eu li a página de manual ( $ man mount) algumas vezes, mas provavelmente ainda estou perdendo alguma coisa. Por favor, esclareça.

wsou eu
fonte
@rozcietrzewiacz Devo admitir que minha mente não funcionou corretamente. Quando @Let_Me_Be estava se referindo /dev/disk/by-id, pensei que "by-id" deveria ser substituído por algo e deveria ser emitido como um comando. Não me ocorreu que pudesse realmente ser um diretório. Provavelmente isso acontece com o Windows -> usuários do Linux em sua fase inicial! (ou sou apenas eu :))
its_me 17/08
@rozcietrzewiacz Isso não é muito justo.
Alex Chamberlain
4
Solte o -t type. mountnormalmente descobrirá e, geralmente, se não puder, é uma indicação razoável de que você está fazendo algo errado.
Alex Chamberlain
3
@AlexChamberlain Eu posso ver que me empolguei. Peço desculpas a @its_me. Eu deveria ter escrito "Se você realmente leu o manual, não perguntaria sobre a -topção". A outra parte da pergunta (como determinar qual dispositivo é representado por uma /dev/entrada) é muito razoável.
rozcietrzewiacz

Respostas:

81

Você pode usar o fdisk para ter uma idéia de que tipo de partição você possui, por exemplo:

fdisk -l

Shows:

   Device Boot      Start         End      Blocks   Id  System
/dev/sda1   *          63   204796619   102398278+   7  HPFS/NTFS
/dev/sda2       204797952   205821951      512000   83  Linux
/dev/sda3       205821952   976773119   385475584   8e  Linux LVM

Dessa forma, você sabe que possui as partições sda1,2 e 3. A opção -t é o tipo de sistema de arquivos; pode ser NTFS, FAT, EXT. No meu exemplo, sda1 é ntfs, portanto deve ser algo como:

mount -t ntfs /dev/sda1  /mnt/

Os dispositivos USB são geralmente vfat e o Linux geralmente é ext.

ghm1014
fonte
Estou em uma VM fedora (host do Windows 7). Acabei de conectar uma unidade usd (o Windows não a reconhece porque a VM está em execução) e emiti o comando $ fdisk -l. Mas apenas lista os sistemas de arquivos Linux e Linux LVM (apenas dois). Não é vfat, ntfs, hpfs ou ext etc.
its_me
Talvez este não seja um problema de montagem, mas um problema de reconhecimento de dispositivo. Dê uma olhada no arquivo / var / log / message, que deve mostrar se há algum problema com o dispositivo USB.
precisa saber é o seguinte
Então, normalmente é assim que eu devo encontrá-lo em um sistema Linux em execução: plug-in um pen drive (exemplo), emita o comando # fdisk -le encontre o dispositivo (/ dev / *) e seu sistema de arquivos (vfat, ntfs, hpfs, ext etc.) . Direito?
its_me
Geralmente sim. Se você estiver executando o gnome, ele monta discos rígidos externos e USB, mas sem montar manualmente. Ele mostra uma janela pop-up, assim como o Windows.
precisa saber é o seguinte
Uma última dúvida. Esses são os únicos arquivos de dispositivos comuns do sistema de arquivos: / dev / sd * ou / dev / hd * são para discos rígidos, / dev / cdrom para CD-ROMs / / dev / fd * para disquetes. Algo mais?
its_me
17

Eu estava realmente enferrujado com isso, e então começou a voltar ... se isso não responder à sua pergunta, talvez eu a tenha interpretado mal ...

Álibi: está disponível no Ubuntu 14. Sua milhagem pode variar.

Eu uso lsblkpara obter meus pontos de montagem, que é diferente de mount Para mim lsblké mais fácil ler do quemount

Certifique-se de ter um diretório criado antes de montar o dispositivo.

sudo mkdir /{your directory name here}
sudo mount /dev/{specific device id} /{your directory name here that is already created}

Você deve estar pronto, no entanto, verifique as permissões de segurança nesse novo diretório para garantir que é o que deseja.

Sunriver61
fonte
7

Hoje em dia, você pode usar os caminhos detalhados para montar um dispositivo específico.

Por exemplo:

mount /dev/disk/by-id/ata-ST31500341AS_9VS2AM04-part1 /some/dir
mount /dev/disk/by-id/usb-HTC_Android_Phone_SH0BTRX01208-0\:0 /some/dir
Deixe me ser
fonte
Onde posso encontrar mais informações sobre isso? Ainda não gosto dessa "coisa detalhada" no Linux, então é confuso.
its_me
11
@ Anahan Bem, estes são apenas links simbólicos para /dev/sd*. Existem /dev/disk/by-id(dispositivo / ID da partição), /dev/disk/by-uuid(dispositivo / partição UUID - não é muito útil para uso manual), /dev/disk/by-path(depende de como o dispositivo está conectado), /dev/disk/by-label(rótulo de partição se houver)
Let_Me_Be
de onde obtenho esses detalhes (ID da partição, caminho do dispositivo, etiqueta etc.)?
its_me
11
@ Anahan Bem, é isso que o dispositivo relata. Id será o nome do dispositivo ou modelo ou número de série ou uma combinação. O caminho será o mesmo, mas relatado pela maneira como o disco está conectado, por exemplo pci-0000:00:1f.2-scsi-3:0:0:0-part3(dispositivo pci 0000: 00: 1f.2, terceira porta, terceira partição), label será label, uuid é gerado por computador, exclusivo id (você o usará se desejar uma forma de identificação que não seja alterada).
Let_Me_Be
11
Quando você estava se referindo a / dev / disk / by-id, pensei que "by-id" fosse substituído por algo e deveria ser emitido como um comando. Não me ocorreu que pudesse realmente ser um diretório. Obrigado por ser paciente comigo. LOL, eu era ridículo :)
its_me
3

mount(o comando) normalmente descobre o "tipo" do sistema de arquivos no dispositivo. Eu acho que a parte mais difícil se descobrir o nome do arquivo do dispositivo. Você quase precisa conhecer as convenções de nomenclatura da unidade de disco para descobrir isso.

Em uma caixa atualizada do Arch linux:

133 % ls /dev/sd??
/dev/sda1  /dev/sda2  /dev/sda3  /dev/sda4  /dev/sdb1  /dev/sdb2

Mas isso não funciona em uma caixa madura do Slackware (2.6.20.9):

1 % ls /dev/sd??
zsh: no matches found: /dev/sd??
2 % ls /dev/hd??
/dev/hda1  /dev/hda2

Sem saber de antemão que /dev/sd*ou /dev/hd*são arquivos de dispositivo de disco rígido, você tem que usar lspciou lsusbou algo para descobrir o nome do arquivo do dispositivo. Os dispositivos USB geralmente deixam informações /var/log/messagespara ajudá-lo a descobrir qual arquivo de dispositivo o udev atribuiu a eles.

Bruce Ediger
fonte
11
Que tal usar fdisk -lcomo a outra resposta mencionada? (também consulte o meu último comentário sobre essa resposta.)
its_me
1

No Ubuntu 14, você também pode usar o aplicativo Disks:

insira a descrição da imagem aqui

Primeiro, clique no disco no painel esquerdo e, em seguida, clique na partição no painel direito. A parte inferior do painel direito mostra o formato, o status atual da montagem etc. Você também pode usar esta GUI para criar / excluir / formatar partições.

Shital Shah
fonte
Por que dois 4GB idênticos? E o OQ está tendo dificuldade em encontrar o dispositivo correto. E então também formatar?
rastafile 21/10
1

Como temos várias maneiras de fazer isso, mas como sempre, também levamos em consideração e não sabemos onde o sistema de arquivos usado no dispositivo pode atrapalhar um pouco, mas podemos usar a opção "auto" para dar uma pequena ajuda.

mount -t auto /dev/sdb1 /media/pendrv

e pronto, nosso dispositivo será montado: em / media / pendrv, pronto para uso, basta usar:

umount /media/pendrv

... para liberar o dispositivo.

Joke Sr. OK
fonte
0

ThoerX Forum Verifique o dispositivo comfdisk -l

Partition the device as following :-
fdisk /dev/sda
d - Delete old partitions
n - New partition
select partition number
select start block
select end block
v - verify the new partition
w - write through

now fdisk - l should show /dev/sda1 with proper filesystem type (say ext4)
mount -t ext4 /dev/sda1 /myMountPoint
user2324862
fonte
0

O "dispositivo" que a montagem do homem fala é um dispositivo de bloco lógico com um sistema de arquivos.

Um "dispositivo" também pode significar um produto (SSD é uma unidade, HDD é uma unidade de disco, DVD é um disco, ODD é uma unidade de disco.

Muitas vezes, não importa qual exatamente. Mas quando se trata de montagem (ou formatação ou particionamento), isso importa, porque importa logicamente.

Como você pode ver, sda está ao lado de sda1, 2, 3 ... E também sdb, sdc, cada um com suas partições. Então você pode errar nos dois sentidos.

Quando você mount /dev/sdb1 /media/disk/escolhe a partição 1 do disco sata "b". Se esse sdb1 for uma partição de caneta USB, o nome do seu ponto de montagem não está falando muito.

Você pode até montar um pedaço de RAM para fazer um ramdisk ou um arquivo ("dispositivo de loop"). Ou um "dispositivo" totalmente virtual como o sysfs, que preenche o diretório / sys (ponto de montagem).

A idéia de montagem e, portanto, a montagem de comando, dependem de um conceito (VFS etc.) com três elementos principais:

  1. Dispositivo de bloco / partição: compare fdisk -l, lsblke cat /proc/partitions. É complicado, mas 80% são apenas diferentes pontos de vista.
  2. Sistema de arquivos: A formatação transforma uma partição de 20 GB em um diretório vazio com 18 GB de espaço livre para preencher com arquivos. Veja man mkfse man mkfs.ext2(mkfs.FSTYPE).
  3. Ponto de montagem: este é apenas um "gancho", um diretório (vazio) ao qual a nova ramificação está anexada ao diretório superior "/". Ao vincular e sobrepor, você pode criar árvores FS complicadas. Mas qualquer ad hoc mkdir xyzé bom, tecnicamente.

Toda essa montagem foi configurada pelo sysadmin em / etc / fstab, centralmente. Com o hot plug atual de armazenamento em massa, as coisas ficam um pouco complicadas.

No caso de uma caneta USB, é um módulo do kernel que exibe / dev / sdb e suas partições em uma fração de segundo.

Toda a automação adicional no hot-plugging, por mais simples que seja, deve ser coordenada pelo udev e, às vezes, aperfeiçoada por ferramentas adicionais. O Udev pode lidar com TODOS os dispositivos, não apenas com armazenamento.

Ficamos presos entre o conforto de ter um novo ícone (ou mesmo apenas um "dispositivo" com um nome decente) aparecer automaticamente, e a maneira como o kernel com o sistema de arquivos (virtual) tem sistematicamente para preparar as partes. Mas com RAID e criptografia e todos os diferentes "dispositivos" de armazenamento, o Linux precisa adicionar algumas camadas.

No final, você quer esse conteúdo ao seu alcance.

Normalmente, você só precisa identificar o ... DISPOSITIVO correto;). Você pode ls /dev/sd*ver o que há: quais letras, quais números, identificam seu DISPOSITIVO ...

E então digite

mkdir mydev
mount /dev/DEVICE mydev

(Você pode deixar de fora a -t typeparte)

rastafile
fonte
É fácil de ler e sistemático ao mesmo tempo. "montar" é um conceito muito importante. Todas essas respostas mostram o "problema", especialmente para estreantes . "mount" é o comando unix. Multidimensional. Apenas fork () mais complexo.
rastafile 21/10
wikipedia linux criticism: Ao mesmo tempo, os sistemas Linux exigiam que mídias removíveis, como disquetes e CD-ROMs, fossem montadas manualmente antes de poderem ser acessadas. A mídia de montagem agora é automática em quase todas as distribuições, com o desenvolvimento do udev.
rastafile 21/10