¿Es siempre necesaria una partición / boot?

30

¿Debo crear una /bootpartición cada vez que instalo una distribución de Linux?

¿Hay alguna diferencia entre tener una /bootpartición y hacer que la /partición sea de arranque?

usuario1301428
fuente
Creo que es más seguro mantener la partición / boot separada para evitar sobrescribir el gestor de arranque por error. Si no me equivoco, el cargador de arranque debe estar en los primeros cilindros del disco para asegurarse de que el proceso de arranque funcionará correctamente, ya que el BIOS siempre carga los primeros bytes del disco, suponiendo que haya un código que pueda manejar un mayor control y sea capaz para cargar el sistema operativo.
mnmnc
1
Ciertamente no es una necesidad, pero como se dijo en el comentario anterior, es una buena práctica.
Hamed Momeni

Respuestas:

29

Para responder a la pregunta directa: no , una partición separada /bootciertamente no es necesaria en todos los casos.

Sin embargo , incluso si no dividir cualquier otra cosa, en general se recomienda tener particiones separadas para /, /booty de intercambio. También recomendaría encarecidamente poner /homeuna partición separada, incluso si no divide más la jerarquía del sistema de archivos.

La razón para poner / arrancar en una partición separada del sistema de archivos raíz normal es que puede reducir la complejidad del sistema de archivos en el disco, lo que reduce las demandas del cargador de arranque para arrancar el núcleo y el disco RAM inicial. Esto se vuelve particularmente interesante si está ejecutando una configuración no trivial, tal vez está ejecutando RAID, o un sistema de archivos inusual como ZFS en la partición raíz, o una partición raíz encriptada. La partición para / boot se puede formatear usando, por ejemplo, ext2fs simple. Dado que la partición solo necesita ser pequeña (unos pocos cientos de megabytes es suficiente; / el arranque en mi sistema actual es de 100 MB, y no siento ninguna restricción), las desventajas de un sistema de archivos no registrado como ext2 necesitan no sea tan bueno porque los cheques son muy rápidos de todos modos, y la relativa simplicidad del sistema de archivos, además de ser en gran medida estático, podría hacer que la corrupción no detectada sea menos probable. Que el gestor de arranque no necesita comprender de forma nativa un sistema de archivos exótico o una configuración de disco es otra ventaja posible.

La razón para poner / home en una partición separada es que, incluso si algo se vuelve deshonesto y comienza a llenarlo (o si lo hace usted mismo), nunca corre el riesgo de que cause problemas para los procesos que no son usuarios (que rara vez se quedan sin / inicio) o el proceso de arranque en sí. Además, se vuelve mucho más fácil reinstalar el sistema operativo, o cambiar las distribuciones, si simplemente puede decirle al instalador que deje / home tal como está y formatee de nuevo /para llenarlo con sus propios archivos. Como un último esfuerzo de recuperación si algo realmente sale mal con respecto al software, esto puede hacer una gran diferencia.

La ejecución de un archivo de intercambio no es una configuración recomendada en Linux, y ni siquiera estoy seguro de que los núcleos de stock de las distribuciones más comunes sean compatibles(o permitir) el intercambio basado en archivos. Hay varias razones para esto, una de las razones principales es el rendimiento (en gran parte debido al riesgo de fragmentación). El intercambio ya es horriblemente lento en comparación con la RAM (es más una medida provisional que una solución), por lo que hay pocas razones para hacerlo aún más lento al arriesgar la fragmentación. Y una partición de intercambio se puede compartir de forma segura entre distribuciones de Linux en un entorno de arranque múltiple; quizás no sea una consideración en el caso general, pero ciertamente una consideración para algunos. Una partición de intercambio también se puede colocar en un disco físico separado con diferentes características; tal vez un SSD en estos días, o una unidad de 10krpm que se ejecuta en un canal de controlador separado (esto último es menos importante hoy en día cuando cada disco SATA está en un canal separado, pero podría hacer una diferencia en los días de PATA).

Personalmente en estos días, separo /, / boot e intercambio, con / en mi sistema actual de 100 GB (no estoy cerca de usar todo eso; el uso actual es de 8.9 GB, y eso me da todo lo que necesito en términos de software y algo más). El resto del disco primario está formado por un único sistema de archivos, que por convención personal monto en / da ( disk a). Un segundo disco sería / db, luego / dc y así sucesivamente. (Dudo que el FHS realmente apruebe este esquema, pero en la práctica funciona bien para mí). Luego ato-mount / home a / da, lo que significa que puedo mover el directorio físico sin tener que preocuparme de actualizar cada referencia de ruta. o reparticionando solo porque me di cuenta de que me falta un poco de espacio en disco para / home

un CVn
fuente
3
Además, separar / arrancar solo es necesario si la partición raíz está encriptada (y el arranque obviamente está en claro)
usr-local-ΕΨΗΕΛΩΝ
@djechelon Creo que eso se incluye en "una configuración no trivial", pero editaré su ejemplo en particular.
un CVn
Estoy investigando ZFS, y cada guía parece indicar que cuando se usa ZFS en la raíz, necesita algo como ext * on / boot.
CMCDragonkai
1
@CMCDragonkai Eso no cambia mi respuesta de que "no, una partición separada para / boot ciertamente no es necesaria en todos los casos ".
un CVn
3

Ya no creo que sea obligatorio. En el pasado, era necesario debido a algunas limitaciones con el BIOS. Era imposible tener una partición de arranque después de 8 o 64 Go (no recuerdo exactamente). Luego, si desea tener un arranque dual, puede poner una primera partición pequeña (/ boot), y la partición de Windows de arranque, y después, las otras particiones de Linux. Hace mucho tiempo, no había ningún directorio / boot. Kernel estaba directamente en /.

Thierry Chich
fuente
1
El kernel a veces se almacenaba directamente en la raíz (algunas distribuciones aún podrían hacer esto), pero aún podría necesitar otras cosas como initrd, System.map, configuración del gestor de arranque, etc., que preferían una jerarquía propia.
un CVn
2

La diferencia es la optimización del sistema de archivos. En general, cada partición tiene sus propias tablas para archivos, descriptores, etc. Puede instalar Linux en una sola partición '/' sin '/ boot', '/ swap', / usr ', etc., pero esta tabla interna de partición única pronto crecerá enormemente y algunas operaciones se volverán un poco lentas. Por lo tanto, se utilizan diferentes particiones para proporcionar contenedores separados y optimizados para diferentes tipos de tareas.

grigoryvp
fuente
El conjunto completo de tablas de inodo rara vez se usa fuera de las comprobaciones del sistema de archivos. Muy a menudo, solo se hace referencia a las tablas para un directorio particular. Esos no son (o poco) diferentes en tamaño según el tamaño de la partición.
un CVn
El tamaño se basa en la partición usage, no en el tamaño. inode's es una lista, por lo que más inodes = un poco más de tiempo para buscar archivos, agregar, etc. Donde no hay una gran diferencia entre la partición vacía y la partición con millones de archivos, sino para operaciones como el arranque o el intercambio, cualquier diferencia importa.
grigoryvp
No veo cómo tu comentario contradice el mío. Y una partición de intercambio no tiene el concepto de inodes, porque no trata con archivos. Hay una gran diferencia entre /swapy swap.
un CVn
0

No, creo que una partición / boot no es necesaria por varias razones:

  • Es posible que desee que la carpeta / boot no sea demasiado pequeña e incluirla en /
  • No es necesario crear una partición porque los archivos y carpetas de / boot a menudo no se actualizan y acceden. No es como una carpeta / tmp o / swap. los programas no escriben en / boot.
  • / boot solo se usa durante el inicio y las actualizaciones de Kernel cuando se actualizan las imágenes initramfs.
  • Puede incluir / boot to / root en una matriz RAID 5 y funcionará con GRUB2. Agregue GRUB2 a MBR para cada unidad. Puede arrancar desde la segunda, tercera unidad ... unidad si la primera unidad está muerta.
  • Menos monturas = menos uuid's = más visibilidad = más simplicidad
Nicolas Guérinet
fuente