¿Es posible arrancar desde un ISO a través de la red y cómo?

31

Tengo una máquina con un ISO de arranque almacenado y tengo otra máquina en blanco, en la que quiero instalar el ISO. Ambos están en la misma LAN (conectados al mismo conmutador). ¿Cómo haría para arrancar la máquina en blanco desde el ISO almacenado en mi computadora principal?

George Kontridze
fuente
si tiene los pasos de tutoriales @George, tal vez podría compartirlos aquí los enlaces ... porque tengo el caso similar para instalar un ISO de Windows 8 en una computadora en blanco que no tiene DVDRom conectado en lugar de una conexión LAN solamente. : D
gumuruh

Respuestas:

11

Creo que quieres un medio de arranque pxe desde imágenes ISO. Busqué un poco y encontré este artículo . Creo que ese método debería funcionar para cualquier imagen ISO de arranque que pueda tener. Este es otro artículo similar .

Finalmente, parece que este artículo discute cómo hacer esto desde un servidor PXE (entorno de ejecución previo al arranque) que ejecuta desde Windows.

James T Snell
fuente
@datatoo - de nada, fue un poco egoísta - Me he preguntado sobre esto antes que yo.
James T Snell
@ Uno de los grandes beneficios de responder preguntas es el proceso de investigación. Tiendes a aprender cosas, y eso es bueno.
KCotreau
¿Estas técnicas funcionan para cualquier ISO de arranque? ¿Es un ISO de Windows? ¿O solo funcionan para distribuciones de Linux?
AaronLS
@AaronLS: no lo sé, pero espero que funcione para todos los sistemas operativos de interfaz de BIOS. Estoy menos seguro acerca de los EFI, pero me imagino que los EFI generalmente funcionan aún mejor para estas cosas. ¡Ojalá alguien realmente lo intente y comente!
James T Snell el
4

Sí, es muy posible. El tipo de sistema que puede iniciar dependerá de cómo funcione dicho sistema.

Por lo general, encontrará que sistemas muy simples (como DOS o Win98) y sistemas muy complejos (como las distribuciones modernas de Linux) se pueden arrancar fácilmente a través de la red.

La forma de lograr esto en los dos tipos de sistemas es muy diferente.

Veamos ambas formas con más detalle. Supongo que ya tiene una configuración de servidor de arranque PXE ; si no lo haces, adelante y hazlo, es bastante fácil.

También estoy asumiendo una dnsmasqconfiguración en un servidor Linux con el tftproot /var/lib/tftpboot, pero debería poder adaptar las instrucciones a cualquier otra configuración.

Para sistemas simples

Para sistemas simples, simplemente carga la imagen (ISO) en la RAM y engaña al sistema para que crea que es una unidad real. Esto se hace con un poco de ayuda del BIOS y un módulo de software llamado memdisk .

El sistema que desea cargar a través de la red es freedos:

# /var/lib/tftpboot/pxelinux.cfg/default
UI vesamenu.c32

PROMPT 0
TIMEOUT 0

MENU DEFAULT freedos

LABEL freedos
MENU LABEL FreeDOS
KERNEL /syslinux/memdisk
INITRD /freedos.iso iso

Eso es practicamente todo. Las primeras líneas son menú repetitivo; los bits importantes son las últimas cuatro líneas: cargar memdisk con el ISO dado.

Para sistemas complejos

Los sistemas modernos con elementos sofisticados como una buena administración de memoria y una detección de hardware adecuada ignoran prácticamente todo lo que el BIOS tiene que decir.

Esto hace que el memdiskenfoque utilizado anteriormente sea bastante inútil, porque si cargó el ISO de esa manera, una vez que el núcleo se leyó del ISO y se cargó en la memoria (el gestor de arranque lo hace en el ISO; los gestores de arranque prestan atención al BIOS) , los datos ISO se habrían ido.

¿Que haces entonces? Bueno, en realidad no carga el ISO desde la red, sino que le dice al sistema que puede acceder a los archivos requeridos desde allí.

Para sistemas Linux, extraiga el contenido ISO en algún lugar de tftproot y cargue el kernel y el initrd directamente, luego deje que ellos encuentren el sistema de archivos raíz y lo monten.

Aquí hay un ejemplo usando el sorprendente CD de System Rescue . De hecho, extraje todo el ISO en la raíz del servidor TFTP, porque encaja perfectamente con la estructura de mi directorio, por lo que los núcleos están dentro /syslinux.

# /var/lib/tftpboot/pxelinux.cfg/default
UI vesamenu.c32

PROMPT 0
TIMEOUT 0

MENU DEFAULT sysrescd64

LABEL sysrescd64
MENU LABEL 1) SysResCD 4.2.0 (x64)
KERNEL /syslinux/rescue64
APPEND setkmap=us nomodeset netboot=nbd://pxe:sysrcd.dat
INITRD /syslinux/initram.igz

Lo más importante aquí es la APPENDlínea. Ver netboot=al final? Así es como el sistema operativo sabe dónde está su sistema de archivos raíz. La sintaxis es la siguiente <protocol>://<server>:<path>.

Había configurado convenientemente un nombre DNS pxepara mi servidor. Si no tiene eso, usaría una dirección IP para el servidor.

Además, sysresccd es uno de los más fáciles porque utiliza una imagen squashfs para su sistema de archivos raíz, que se puede descargar y cargar fácilmente en la RAM con cualquier método. Aquí uso nbd; También puede usar tftp, nfs y http .

Para otras distribuciones, como Ubuntu, creo que solo puedes usar nfs.

Para los sistemas Windows es un poco más complejo de hacer . El esquema es:

  • Tener una instalación de Windows 7 en una carpeta compartida en el servidor
  • Tenga un entorno completo de Windows PE en el servidor en su raíz TFTP
  • Haga que la máquina cliente cargue el WinPE a través de la red y presione F12para obtener un símbolo del sistema
  • Asigne la carpeta compartida con la instalación de Windows 7 a una letra de unidad
  • Inicie la instalación desde la carpeta asignada

Nunca he intentado esto, y parece que no funciona para algunas personas. Para las versiones de NT anteriores a Vista, creo que ni siquiera es posible. Para Windows anterior a NT (95, 98, ME, etc.) puede usar el enfoque memdisk, pero arrancarlos es malo para su salud :-p

GnP
fuente
3

El dispositivo de implementación definitiva ofrece lo que necesita. Su página de inicio describe su funcionalidad; está reformateado aquí por conveniencia:


¿Qué es el dispositivo de implementación definitiva?

  • Instalaciones de sistema operativo desatendidas (Windows, Linux, ESX, Solaris) sobre la configuración de la red en minutos.
  • ¡Publique sus herramientas favoritas de recuperación / mantenimiento del sistema a través de la red!
  • Arranque PXE, Servicios de instalación remota, Kickstart, Jumpstart, Autoyast en una caja.

¿Cuándo usarías esto?

  • Cuando intenta instalar un sistema que no tiene una unidad de CDROM, pero sí tiene una tarjeta de red (actualmente, las computadoras portátiles ultradelgadas y otras no tienen una unidad óptica)
  • Cuando tiene que instalar un sistema operativo en diferentes piezas de hardware.
  • Cuando tienes que instalar sistemas y quieres que las cosas se vuelvan automatizadas y reproducibles.
  • Cuando vas a la casa de tus amigos para arreglar su computadora, quieres estar preparado. En lugar de eliminar todas esas cosas no deseadas, también podrías comenzar de nuevo. Traiga su propio sistema (¿portátil?), Conéctelo al sistema desordenado con un cable cruzado y comience a reinstalar el sistema desde cero completamente sin supervisión. Dirígete a la nevera ...
  • Cuando necesita hacer mantenimiento en su sistema sin la necesidad de llevar una pila de CD en vivo.
  • Cuando quiera hacer esto sin pagar mucho dinero por productos comerciales.

¿Como funciona?

  • Instalación desatendida El dispositivo monta un archivo iso con una distribución de su sistema operativo favorito e importa los archivos de arranque (de red) necesarios. Crea un archivo de configuración predeterminado para su instalación automatizada y comienza a alojar los archivos de distribución del sistema operativo para el arranque de la red.
  • System Tool Publishing Los Live CD y otras herramientas se importan por completo al dispositivo Ultimate Deployment y se publican para arrancar a través de la red a través de PXE.

UDA tiene un canal de YouTube , donde puede encontrar un video de ellos instalando Windows 7 como ejemplo desde la configuración dentro de UDA hasta Windows completamente instalado.

JavaRocky
fuente