¿Cómo montar un dispositivo en Linux?


75

Leí algunos recursos sobre el comando mount para montar dispositivos en Linux, pero ninguno de ellos es lo suficientemente claro (al menos para mí).

En general, esto es lo que la mayoría de las guías dicen:

$ 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

Lo que no me queda claro:

  • ¿Cómo sé qué usar para "dispositivo" como en $ mount -t type device directory? Es decir, ¿cómo sé que debo usar "/ dev / sdb1" en este comando $ mount -t vfat /dev/sdb1 /media/diskpara montar mi unidad USB?

  • ¿Qué define aquí el parámetro "-t"? ¿tipo?

Leí la página de manual ( $ man mount) un par de veces, pero probablemente todavía me falta algo. Por favor aclarar


@rozcietrzewiacz Debo admitir que mi mente no funcionó correctamente. Cuando @Let_Me_Be se refería a /dev/disk/by-idmí, pensé que "by-id" debía ser reemplazado por algo y debería emitirse como un comando. No me pareció que en realidad podría ser un directorio. ¡Esto probablemente le sucede a los usuarios de Windows -> Linux en su fase inicial! (o solo soy yo :))
its_me

@rozcietrzewiacz Eso no es muy justo.
Alex Chamberlain

44
Suelta el -t type. mountnormalmente lo resolverá y, en general, si no puede, es una indicación razonable de que está haciendo algo mal.
Alex Chamberlain

3
@ AlexChamberlain Puedo ver que me llevaron. Mis disculpas a @its_me. Debería haber escrito "Si realmente leyeras el manual, no preguntarías sobre la -topción". La otra parte de la pregunta (cómo determinar qué dispositivo está representado por una /dev/entrada) es muy razonable.
rozcietrzewiacz

Respuestas:


81

Puede usar fdisk para tener una idea de qué tipo de particiones tiene, por ejemplo:

fdisk -l

Muestra:

   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

De esa manera, sabrá que tiene particiones sda1,2 y 3. La opción -t es el tipo de sistema de archivos; puede ser NTFS, FAT, EXT. En mi ejemplo, sda1 es ntfs, por lo que debería ser algo como:

mount -t ntfs /dev/sda1  /mnt/

Los dispositivos USB suelen ser vfat y Linux suelen ser ext.


Estoy en una máquina virtual de Fedora (host de Windows 7). Acabo de conectar una unidad usd (Windows no lo reconoce porque la VM se está ejecutando) y emití el comando $ fdisk -l. Pero solo enumera los sistemas de archivos Linux y Linux LVM (solo dos). No vfat, ntfs, hpfs o ext etc.
its_me

Tal vez esto no sea un problema de montaje, sino un problema de reconocimiento de dispositivo. Eche un vistazo al archivo / var / log / message, debería mostrar si hay algún problema con el dispositivo USB.
ghm1014

Entonces, normalmente es así como debería encontrarlo en un sistema Linux en ejecución: conecte un pen drive (ejemplo), emita el comando # fdisk -ly encuentre el dispositivo (/ dev / *) y su sistema de archivos (vfat, ntfs, hpfs, ext, etc.) . ¿Derecho?
its_me

Por lo general, si. Si está ejecutando gnome, monta discos duros externos y usb pero sin montarlo manualmente. Muestra una ventana emergente al igual que Windows.
ghm1014

Una última duda. ¿Son estos los únicos archivos de dispositivo de sistema de archivos comunes: / dev / sd * o / dev / hd * son para discos duros, / dev / cdrom para CD-ROM y / dev / fd * para disquetes. ¿Algo más?
its_me

17

Estaba realmente oxidado en esto, y luego comenzó a volver ... si esto no responde a tu pregunta, tal vez lo haya leído mal ...

Coartada: esto está en una versión de Ubuntu 14. Su experiencia puede ser diferente.

Utilizo lsblkpara obtener mis puntos de montaje, que es diferente de mount Para mí lsblkes más fácil de leer quemount

Asegúrese de tener un directorio creado antes de montar su dispositivo.

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

Debería estar listo, sin embargo, verifique los permisos de seguridad en ese nuevo directorio para asegurarse de que sea lo que desea.


7

En estos días, puede usar las rutas detalladas para montar un dispositivo específico.

Por ejemplo:

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

¿Dónde puedo encontrar más información sobre esto? Todavía no estoy en esta "cosa detallada" en Linux, por lo que es confuso.
its_me

1
@Aahan Bueno, estos son solo enlaces simbólicos a /dev/sd*. Hay /dev/disk/by-id(ID de dispositivo / partición), /dev/disk/by-uuid(UUID de dispositivo / partición - no muy útil para uso manual), /dev/disk/by-path(depende de cómo esté conectado el dispositivo), /dev/disk/by-label(etiqueta de partición si está presente)
Let_Me_Be

¿de dónde obtengo estos detalles (ID de partición, ruta del dispositivo, etiqueta, etc.)?
its_me

1
@Aahan Bueno, eso es lo que informa el dispositivo. Id será el nombre del dispositivo o modelo o número de serie, o una combinación. La ruta será la misma, pero se informará de la forma en que está conectado el disco, por lo que será, por ejemplo pci-0000:00:1f.2-scsi-3:0:0:0-part3(dispositivo pci 0000: 00: 1f.2, tercer puerto, tercera partición), la etiqueta será etiqueta, uuid es generado por computadora único id (lo usará si desea una forma de identificación que no cambie).
Let_Me_Be

1
Cuando se refería a / dev / disk / by-id, pensé que "by-id" debía ser reemplazado por algo y debería emitirse como un comando. No me pareció que en realidad podría ser un directorio. Gracias por ser paciente conmigo. LOL, era ridículo :)
its_me

3

mount(el comando) generalmente determina el "tipo" del sistema de archivos en el dispositivo. Creo que la parte difícil es averiguar el nombre del archivo del dispositivo. Casi tiene que conocer las convenciones de nomenclatura de la unidad de disco para resolverlo.

En una caja actualizada de Arch Linux:

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

Pero eso no funciona en una caja Slackware madura (2.6.20.9):

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

Sin saber de antemano que /dev/sd*o /dev/hd*son archivos de dispositivos de disco duro, usted tiene que utilizar lspcio lsusbo algo para averiguar el nombre de archivo de dispositivo. Los dispositivos USB a menudo dejan información /var/log/messagespara ayudarlo a descubrir qué archivo de dispositivo les asignó udev.


1
¿Qué tal usar fdisk -lcomo la otra respuesta mencionada? (también vea mi último comentario sobre esa respuesta)
its_me

1

En Ubuntu 14, también puedes usar la aplicación Disks:

ingrese la descripción de la imagen aquí

Primero haga clic en el disco en el panel izquierdo y luego haga clic en la partición en el panel derecho. La parte inferior del panel derecho muestra el formato, el estado de montaje actual, etc. También puede usar esta GUI para crear / eliminar / formatear particiones.


¿Por qué dos 4GB idénticos? Y OQ está teniendo dificultades para encontrar el dispositivo correcto. ¿Y luego también formatear?
rastafile

1

¿Cómo es que tenemos muchas maneras de hacer esto, pero como siempre también tenemos en cuenta y no sabemos dónde el sistema de archivos utilizado en el dispositivo puede dificultar un poco, pero podemos usar la opción "auto" para dar un poco de ayuda?

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

y listo, nuestro dispositivo estará montado: en / media / pendrv listo para usar, luego simplemente use:

umount /media/pendrv

... para liberar el dispositivo.


0

ThoerX Forum Verifique el dispositivo con fdisk -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

0

El "dispositivo" de montaje del hombre habla es un dispositivo de bloque lógico con un sistema de archivos en él.

Un "dispositivo" también puede significar un producto (SSD es una unidad, HDD es una unidad de disco, DVD es un disco, ODD es una unidad de disco.

A menudo no importa cuál exactamente. Pero cuando se trata de montar (o formatear, o particionar), sí importa, porque importa lógicamente.

Como puede ver, sda está justo al lado de sda1, 2, 3 ... Y también sdb, sdc, cada uno con sus particiones. Entonces puedes equivocarte en ambos sentidos.

Cuando usted mount /dev/sdb1 /media/disk/, está eligiendo la partición 1 del disco sata "b". Si ese sdb1 es una partición de lápiz USB, entonces el nombre de su punto de montaje no habla mucho.

Incluso puede montar un trozo de RAM para hacer un ramdisk o un archivo ("dispositivo de bucle"). O un "dispositivo" completamente virtual como sysfs, que llena el directorio / sys (punto de montaje).

La idea de montaje, y por lo tanto el comando mount, se basan en un concepto (VFS, etc.) con tres elementos principales:

  1. Partición / dispositivo de bloques: comparar fdisk -l, lsblky cat /proc/partitions. Es complicado, pero el 80% son solo puntos de vista diferentes.
  2. Sistema de archivos: el formateo convierte una partición de 20 GB en un directorio vacío con 18 GB de espacio libre para llenar archivos. Ver man mkfsy man mkfs.ext2(mkfs.FSTYPE).
  3. Punto de montaje: Esto es solo un "gancho", un directorio (vacío) al que se adjunta la nueva rama al directorio superior "/". Al vincular y superponer puede crear árboles FS complicados. Pero cualquier ad hoc mkdir xyzestá bien, técnicamente.

Todo este montaje fue configurado una vez por el administrador del sistema en / etc / fstab, centralmente. Con la conexión en caliente del almacenamiento masivo de hoy, las cosas se vuelven un poco complicadas.

En el caso de un lápiz USB, es un módulo del núcleo que aparece / dev / sdb y sus particiones en una fracción de segundo.

Toda automatización adicional en la conexión en caliente, por simple que sea, tiene que ser coordinada por udev, y algunas veces perfeccionada por herramientas adicionales. Udev puede manejar TODOS los dispositivos, no solo el almacenamiento.

Estamos atrapados entre la comodidad de tener un nuevo ícono (o incluso solo un "dispositivo" con un nombre decente) que aparece automáticamente, y la forma en que el núcleo con el sistema de archivos (virtual) tiene que preparar sistemáticamente las partes. Pero con RAID y cifrado y todos los diferentes "dispositivos" de almacenamiento, Linux tiene que agregar algunas capas.

Al final, quieres que el contenido esté a tu alcance.

Normalmente, solo tiene que identificar el ... DISPOSITIVO correcto;). Puedes ls /dev/sd*ver qué hay allí: qué letras, qué números, identifican tu DISPOSITIVO ...

Y luego escribe

mkdir mydev
mount /dev/DEVICE mydev

(Puedes omitir la -t typeparte)


Esto es fácil de leer y sistemático al mismo tiempo. "montar" es un concepto muy importante. Todas estas respuestas muestran el "problema", especialmente para los debutantes . "mount" es EL comando de UNIX. Multidimensional. Solo tenedor () más complejo.
rastafile

crítica de Linux de Wikipedia: En un momento, los sistemas Linux requerían que los medios extraíbles, como los disquetes y los CD-ROM, se montaran manualmente antes de poder acceder a ellos. El montaje de medios ahora es automático en casi todas las distribuciones, con el desarrollo de udev.
rastafile
Al usar nuestro sitio, usted reconoce que ha leído y comprende nuestra Política de Cookies y Política de Privacidad.
Licensed under cc by-sa 3.0 with attribution required.