GNU/Linux >> Tutoriales Linux >  >> Linux

Diferencias entre /dev/sda y /dev/sda1

Solución 1:

En un sistema moderno, un dispositivo de partición solo aparecerá si la partición realmente existe.

En un disco con una tabla de particiones MBR, los números de partición del 1 al 4 corresponden a las cuatro ranuras de la tabla de particiones, denominadas particiones "primarias". No tienen que llenarse secuencialmente, por lo que es posible, por ejemplo, tener un sda2 pero no un sda1. Los números de partición 5 y superiores corresponden a "unidades lógicas" en una partición extendida, y siempre se numeran secuencialmente, por lo que no puede tener un sda6 sin tener también un sda5.

En un disco con una tabla de particiones GPT, puede haber muchas más (normalmente hasta 128) particiones y todas son "primarias". Entonces, podría tener un disco cuya única partición sea sda9, por ejemplo.

Si el disco no tiene tabla de particiones, entonces no tendrá dispositivos de partición, por supuesto.

Los sistemas más antiguos (aquellos que usan un /dev estático en lugar de uno administrado por udev) generalmente tendrán nodos de dispositivo para todos los números de partición posibles, independientemente de si las particiones realmente existen. (Intentar abrir el archivo del dispositivo para una partición inexistente fallará, por supuesto).

Es posible renunciar a la partición y poner un sistema de archivos directamente en un disco. Cuando monta un dispositivo de bloque, el controlador del sistema de archivos generalmente busca un superbloque en un desplazamiento predeterminado desde el comienzo del dispositivo, y dado que el comienzo de una partición no es el comienzo del disco en sí, el superbloque para un sistema de archivos en una partición está ubicado en un lugar diferente en el disco que el superbloque para un sistema de archivos creado en el dispositivo de "disco completo".

Entonces, si el disco solía tener solo un sistema de archivos, y luego se particionó y se creó un sistema de archivos en una partición, el antiguo superbloque aún podría estar allí, p. en el pequeño espacio antes del comienzo de la primera partición. Entonces, el disco todavía parece tener un sistema de archivos tanto en el dispositivo de disco sin procesar como en el dispositivo de partición, porque cualquiera que intente montar, cuando el controlador del sistema de archivos busque el superbloque, encontrará uno.

Sin embargo, en realidad no es seguro montar y usar ambos sistemas de archivos, ya que se superponen en el disco. Uno puede tener datos contables importantes en lo que el otro cree que es espacio libre. Es por eso que es una buena idea poner a cero el comienzo de un dispositivo de bloque, para eliminar superbloques no deseados, cuando desea cambiar un disco sin formato a uno particionado, o viceversa, o cambiar el tipo de sistema de archivos utilizado en una partición, etc. .

Solución 2:

Hasta donde yo sé, cuando el núcleo detecta un nuevo dispositivo de bloque en un bus tipo scsi (incluido sata), además de agregar un nodo en /dev para todo el disco en sí, p. /dev/sda intentará ver si hay una tabla de particiones. Si hay particiones legibles, creará los nodos de partición numerados dependiendo de si son particiones físicas o lógicas (creo que las particiones lógicas comienzan en el #5).

Si ve un nodo de disco pero sin nodos de partición, esto significa que no se han detectado particiones. No conozco ninguna instancia en la que pueda montar el dispositivo físico, ya que eso implicaría que hay un sistema de archivos escrito directamente en el dispositivo físico sin ninguna tabla de partición. Podría ser que en el caso de que solo haya una única partición, mount interpretará un mount /dev/sda comando como significado /dev/sda1 , pero nunca he probado esto.

Solución 3:

/dev/sda - dispositivo sin formato

/dev/sda1 - dispositivo 'virtual', como una partición.

Una diferencia interesante es que si un dispositivo tiene particiones (tiene datos MBR o similares) no puede leer datos MBR de ninguno de los dispositivos virtuales, ya que los datos MBR residen fuera de cualquier partición en un dispositivo. MBR reside en el primer sector del dispositivo (CHS:0 0 1). Es una buena práctica crear la primera partición en 1MiB después del inicio de un dispositivo.

Para leer los datos de MBR, debe usar el dispositivo sin formato (/dev/sda), es decir:

dd if=/dev/sda of=mbr.bin bs=512 count=1

Linux
  1. ¿Cómo maneja Linux múltiples separadores de rutas consecutivas (/home////username///file)?

  2. ¿Qué tan portátiles son /dev/stdin, /dev/stdout y /dev/stderr?

  3. ¿Cuándo usar /dev/random Vs /dev/urandom?

  4. Debian – ¿Mover /var, /home a una partición separada?

  5. ¿Cómo codificar en base64 /dev/random o /dev/urandom?

tty (/dev/tty) vs pts (/dev/pts) en Linux

DD de /dev/zero a /dev/null... lo que realmente sucede

Linux:diferencia entre /dev/console, /dev/tty y /dev/tty0

kernel:deshabilitar /dev/kmem y /dev/mem

Cómo usa Linux /dev/tty y /dev/tty0

¿Por qué se requieren < o > para usar /dev/tcp?