Sé que / dev / sda es el dispositivo sin formato, y que / dev / sda1 es la partición o dispositivo virtual.
Pero estoy un poco confundido sobre por qué el sda # solo aparece algunas veces, o solo en ciertos sistemas. ¿Qué hace que esto ocurra? ¿Quizás los momentos en que las unidades sda # no aparecen es cuando no está particionado? ¿O tal vez no es lo mismo en todo el hardware?
¿Y por qué puedo montar ambos? (a veces) ¿No debería ser la partición la que se puede montar?
Cualquier recurso o color que pueda dar sería muy apreciado. Gracias de antemano.
linux
unix
mount
hard-drive
señuelo
fuente
fuente
Respuestas:
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 1 a 4 corresponden a las cuatro ranuras de la tabla de particiones, llamadas particiones "primarias". No tienen que llenarse secuencialmente, por lo que es posible, por ejemplo, tener un sda2 pero no sda1. Los números de partición 5 y superiores corresponden a "unidades lógicas" en una partición extendida, y siempre están numeradas secuencialmente, por lo que no puede tener un sda6 sin tener un sda5 también.
En un disco con una tabla de particiones GPT, puede haber muchas más particiones (generalmente hasta 128), y todas son "primarias". Entonces podría tener un disco cuya única partición es sda9, por ejemplo.
Si el disco no tiene una tabla de particiones, entonces no tendrá dispositivos de partición, por supuesto.
Los sistemas más antiguos, aquellos que usan un static / dev 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 colocar 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 todavía podría estar allí, por ejemplo, en el pequeño espacio antes del comienzo de la primera partición. Por lo tanto, el disco todavía parece tener un sistema de archivos tanto en el dispositivo de disco sin formato 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 importantes de contabilidad en lo que el otro piensa que es espacio libre. Es por eso que es una buena idea poner a cero el comienzo de un dispositivo de bloque, eliminar los superbloques no deseados, cuando desee cambiar un disco sin formato a uno particionado, o viceversa, o cambiar el tipo de sistema de archivos utilizado en una partición, etc. .
fuente
Hasta donde sé, cuando el núcleo detecta un nuevo dispositivo de bloque en un bus similar a scsi (incluido sata), además de agregar un nodo
/dev
para todo el disco, por ejemplo/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 n. ° 5).Si ve un nodo de disco pero sin nodos de partición, esto significaría que no se detectaron 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 particiones. Podría ser que, en el caso de que solo haya una única paritición,
mount
interpretará unmount /dev/sda
comando como significado/dev/sda1
, pero nunca lo he probado.fuente
/dev/sdc
pero no estaba seguro de si estaba inventando eso./ 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 algo similar) 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 a 1MiB después del comienzo de un dispositivo.
Para leer los datos de MBR, debe usar el dispositivo sin formato (/ dev / sda), es decir:
fuente
Ah, tablas de particiones y nombres de dispositivos. Prepárate para confundirte con ellos.
¿Tiene un servidor HP con su controlador RAID Compaq? No / dev / sda, saluda a / dev / ccsis.
¿Tiene una computadora de escritorio antigua con una interfaz IDE antigua? No / dev / sda, saluda a / dev / hda.
¿Tiene un servidor moderno que dice usted / dev / sda pero después de la instalación apenas puede verlo? Saluda a LVM, la instalación de tu sistema operativo ha convertido tu / dev / sda como volumen físico de LVM, ha creado un grupo de volúmenes dentro de él y un volumen lógico dentro de eso.
Entonces ... si no ve nada como / dev / sda1, es posible que tenga LVM o similar en uso, lo que ha creado sus propias "particiones".
¿Ha quedado contestada su pregunta?
fuente