Si copio una unidad USB de arranque a otro USB, ¿creará una unidad de arranque duplicada?


37

Pensé que era una pregunta tonta, pero una búsqueda en Google parece indicar que ni siquiera es posible copiar / pegar datos en una unidad de arranque a otro USB. Pero incluso si pudiéramos copiarlo, ¿por qué no debería funcionar? (eso es crear una unidad de arranque duplicada)


2
¿Qué quieres decir con "copiar / pegar"? Obviamente, debe copiar las partes que realmente lo convierten en una unidad de arranque (como el gestor de arranque, etc.) pero no hay razón para que esto no funcione.
Jörg W Mittag

Respuestas:


56

Simplemente copiar los archivos no hará una unidad de arranque. No solo los archivos en una unidad flash USB lo hacen arrancable, sino la configuración de la tabla de particiones , los metadatos sobre la organización del contenido de la unidad, lo que le dice a la PC si es arrancable y si es MBR o GPT .

Como se señaló en cyberciti.biz :

Cada disco y partición tiene algún tipo de firma y metadatos / cadenas mágicas. Los metadatos utilizados por el sistema operativo para configurar discos o conectar controladores y montar discos en su sistema.

Sin embargo, puede clonar la unidad flash con una serie de herramientas, como dd , EaseUS Todo Backup y el excelente y de código abierto Clonezilla y Rufus . (Gracias a Alex por los recordatorios sobre dd y Rufus).

Incluso hay dispositivos electrónicos que replican automáticamente las unidades flash .


15
En realidad, ni siquiera necesita dd: simple cphará el trabajo, solo asegúrese de usarlo en el nodo del dispositivo en lugar del contenido del sistema de archivos.
Ruslan

Uh, eso es sorprendente. O tal vez no. Pero al menos para mí.
Jörg W Mittag

1
'cat <source> destination' funcionará bien asumiendo que el destino no es más disparador que la fuente.
ysdx

@JoL no has visto el comentario (ahora eliminado) de Jörg. La mía fue una respuesta a su afirmación de que cpsimplemente copiaría el nodo del dispositivo. Para evitar confusiones, ahora también he eliminado mi comentario.
Ruslan

21

Copiar solo hace frente a archivos en particiones formateadas. No podrá hacer cosas especiales necesarias para el proceso de arranque, como configurar los indicadores de arranque, escribir el cargador de arranque o, a veces, incluso copiar archivos normales en el lugar correcto (leer: sector) en la partición y establecer los atributos de los archivos / permisos. A menos que tenga la suerte de tener esas cosas disponibles, debido a una creación previa del disco de arranque, una herramienta de formateo que escribe el cargador de arranque en el MBR, etc., deberá realizar más pasos para hacer que el disco arranque


Específicamente al arrancar en modo BIOS , el BIOS busca el primer sector (MBR) para ver si hay una firma de arranque válida 0xAA55 . En caso afirmativo, carga ese sector y transfiere el control al gestor de arranque en el MBR. El MBR describe la configuración de la partición, por lo tanto, no puede estar dentro de la partición y no es lo que puede copiar con las herramientas normales.

Además, dado que el MBR es demasiado pequeño para ser útil, la mayoría de los cargadores de arranque modernos dividen el proceso de arranque en varias etapas , con el código de arranque en el MBR carga su siguiente etapa. Las etapas internas adicionales se vuelven a colocar en regiones fuera de las particiones . Algunos pueden ponerlo en el EBR , pero Grub generalmente coloca su segunda etapa en el área vacía entre la primera partición y el MBR llamado brecha posterior al MBR. Es por eso que si uno no alinea las particiones correctamente, no hay espacio para que grub coloque su código de arranque, lo que resulta en un error de incrustación

Muchos cargadores de arranque como LILO o los cargadores de arranque antiguos de Windows / DOS también contienen información de código duro en el MBR, como la posición de la siguiente etapa o de los archivos del sistema. No funcionan leyendo los datos de la partición, sino que leen un sector codificado en su lugar, ya que tomará demasiado código para analizar el sistema de archivos, que es muy difícil de comprimir en espacios pequeños como el MBR o la brecha posterior a MBR. Incluso grub admite tal codificación dura . Eso significa que algunos archivos del sistema tienen que estar en la ubicación exacta , sector por sector, lo que tampoco se puede lograr con una copia normal. Esa es la razón por la que ve "archivos de sistema no movibles" mientras ejecuta el desfragmentador de Windows o reduce los sistemas de archivos, lo que a veces no es realmente correcto, porque es solo que Windows tiene demasiado miedo de mover esos archivos a pesar de que los cargadores de arranque modernos son mucho más inteligentes y no les importan esas cosas.

Y después de todo, también debe configurar la partición de arranque como activa para que el gestor de arranque sepa qué arrancar. Eso debe hacerse mediante una herramienta de partición o mediante edición hexadecimal de forma manual, ya que también se coloca fuera del área de partición.


En UEFI las cosas son mucho más fáciles. Conoce los sistemas de archivos FAT (e incluso más sistemas de archivos en implementaciones no estándar), por lo tanto, los archivos de arranque se almacenan en la partición del sistema EFI, AKA ESP . El UEFI carga las aplicaciones * .efi en el ESP que luego cargará los sistemas operativos.

El firmware UEFI admite el arranque desde dispositivos de almacenamiento extraíbles, como unidades flash USB. Para ese propósito, un dispositivo extraíble debe formatearse con un sistema de archivos FAT12, FAT16 o FAT32, mientras que un cargador de arranque debe almacenarse de acuerdo con la jerarquía de archivos ESP estándar, o proporcionando una ruta completa de un cargador de arranque al sistema gestor de arranque.

Básicamente, solo necesita copiar los archivos * .efi al ESP y colocar los archivos del sistema en la carpeta correcta. Sin embargo, todavía hay un pequeño problema porque la partición FAT que contiene el archivo * .efi debe marcarse como ESP en la tabla MBR o GPT fuera de las particiones, lo que no se puede hacer copiando como se indicó anteriormente. En particular, el tipo de partición debe cambiarse de 0Ch / 0Bh / lo que sea a EFh en MBR y a C12A7328-F81F-11D2-BA4B-00A0C93EC93B en GPT, ya que el ESP no es realmente FAT12 / 16/32 sino un sistema de archivos independiente basado en la familia del sistema de archivos FAT


Y todavía hay muchos otros esquemas de partición como la etiqueta de disco BSD o APM que deben modificarse de manera diferente para arrancar. O las memorias USB podrían haber sido formateadas sin una tabla de particiones (AFAIK Windows lo hace de manera predeterminada), por lo tanto, hacer que sea arrancable será diferente. Pero se aplica el mismo límite: debe modificar las áreas no particionadas


1
Esta es la respuesta correcta.
Margaret Bloom

Es la respuesta más completa , sí, pero no creo que sea más correcta que la respuesta aceptada, que IMO responde a una pregunta simple de una manera simple.
Ian Kemp

@IanKemp el problema con la respuesta aceptada no es que sea simple (eso es bueno) sino que es técnicamente ambiguo en el mejor de los casos :)
Margaret Bloom

Si marca un volumen de memoria USB como activo, utilizando la utilidad "diskpart" de la línea cmd de Windows o cualquier administrador de particiones de terceros, copiando el contenido de una imagen ISO de Windows Vista / 7/8/10, la memoria se convierte en una memoria de arranque de Windows; No se produce ningún problema de ramdrive o montaje posterior durante el arranque. Entonces, obviamente, después de marcar un palo como activo, todo lo que necesita es un pequeño archivo de imagen de arranque (bootmgr y bootmgr.efi en Windows, supongo) en el palo; No necesita herramientas complejas. Esperaría un procedimiento de línea de comando simple en Linux, mucho más fácil que Windows.
Red.Ola

3

Tradicionalmente, el arranque del BIOS requería un marcador invisible especial. Aquí hay algunos ejemplos :

  • Si está particionado con MBR ("disco duro"), entonces dentro de la tabla de particiones
  • Si disquete / superfloppy ("unidad ZIP"), básicamente toda la unidad formateada sin una tabla de particiones, entonces dentro de los primeros bytes
  • Si CD, entonces El Torito

En esos casos, no puede simplemente copiar archivos. La unidad resultante no se podrá iniciar porque le faltan esos marcadores especiales.

Sin embargo , el arranque UEFI es especial, más inteligente y aborda específicamente estos problemas. Como siempre, recomiendo leer esta publicación de blog para una introducción simplificada a UEFI. Tome nota especial de la sección de arranque de reserva. Esto también se discute con un poco más de detalle aquí .

Todo lo que necesita para que esto funcione es un archivo en una ruta específica en una partición que buscará el firmware. Para una compatibilidad óptima 1 , sí, esta debe ser una partición con formato FAT32 marcada como una partición del sistema EFI en un disco con particiones GPT. Sin embargo, la mayoría del firmware también buscará particiones (individuales) en discos con particiones MBR y sin particiones (superfloppy).

Esto significa que todo lo que realmente necesita para el arranque UEFI es una partición única con formato FAT32 1 que contenga una entrada de arranque de respaldo. En una arquitectura x86_64, esto significa que solo necesita un \EFI\BOOT\BOOTx64.EFIarchivo. Puede copiar de una unidad flash a otra, incluido ese archivo, y todo debería funcionar.


1 FAT32 y GPT son requeridos por el estándar. MBR y superfloppy no lo son, AFAIK, pero el soporte para ellos es bastante universal entre el hardware de escritorio. La computadora portátil es un poco más esotérica; las tabletas son una sacudida, y Mac EFI es único.

2 El estándar UEFI requiere soporte FAT32. Algunos firmware también pueden ser compatibles con NTFS (aunque lejos de estar garantizado), y en realidad podría incrustar un controlador NTFS dentro de un ESP FAT32.


0

Depende de lo que quieras decir con 'copia'.

Copiar y pegar en la GUI de su sistema operativo? No, eso no funcionará: algunos archivos que necesita un USB de arranque se considerarán "ocultos" / invisibles y no se copiarán.

Hay tipos de copia que va a trabajar. Esto a menudo se conoce como 'crear imágenes' de un nuevo USB, para diferenciarlo de 'copiar' su contenido. La forma más común de hacer esto es una herramienta de línea de comandos, pero hay opciones gráficas disponibles si las necesita.

¡Eso debería ser suficiente fondo para que tu búsqueda se encamine!

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.