viernes, 28 de septiembre de 2007

Hirens y slax en el pendrive: el método elegante.

Actualización 26/2/09: A partir del Hirens 9.7 este método no funciona más. Por suerte el nuevo procedimiento es mucho mas fácil. Dense un vuelta por aca.

Aqui el post original:

Hace unos posts pusimos juntos el hiren´s boot cd y la distro de linux Slax en el pendrive. Después de usarlos unos días, me encontré con algunos inconvenientes del método:

Perdemos el menú de arranque de Slax, y con el el arranque gráfico y con cambios persistentes, es decir, tenemos que recordar comandos.
El inicio por loadlin es poco ortodoxo, porque pasa por DOS (no me gusta).
En mi caso, el boot en DOS resultó ser poco compatible, y se arruinaba por algún motivo tras dos o tres arranques (dejaba de bootear).

Por eso, me puse a buscar otra forma de hacer lo mismo pero mejor: aca el cómo:

1) Instalamos el boot predeterminado de slax, corriendo el bootinst.bat que está en la carpeta /boot. Esto nos deja con el menú de slax pero sin el hirens.


2) Arrancamos slax, y desde ahí extraemos el bootsector de cualquier diskette de DOS con el comando dd

dd if=/dev/fd0 of=dos.bss bs=512 count=1

(En mi caso, extraje el bootsector de mi otro pendrive, que bootea bien en dos y solo eso, así que cambié fd0 por sdb. Aquí también podemos extraer el bootsector del mismo pendrive si antes de correr bootinst.bat booteamos slax del modo antiguo. En la mayor parte de los casos el dispositivo sería sda o sdb)

O 2)Bajamos un fichero dos.bss que subí a pedido del público.

3) Ponemos el archivo dos.bss (que debería haber quedado en /home) en la carpeta /boot/syslinux del pendrive

4) Editamos el archivo syslinux.cfg agregando las líneas

label Hirens
kernel dos.bss

Ahora tendremos en el menú del slax la entrada "Hirens", que booteará el pendrive en dos, con el hirens.


Ventajas adicionales del método.

Syslinux es un bootloader muy potente, con montones de posibilidades para jugar. La que descubrí más facilmente es la posibilidad de bootear imágenes de diskette (de DOS, linux, qnx, menuetOS, OS/2 etc) emulando el floppy. Esto se hace copiando el kernel "memdisk" ,disponible en el paquete syslinux, en la carpeta /boot/syslinux/ y agregando esto:

label MiDiskette
kernel memdisk
append initrd=midiskette.ima

en el syslinux.cfg.

Es divertido y se pierde mucho tiempo. No digan que no les avisé.

PD: Por supuesto, esto no pretende ser una guia exaustiva, sino apenas un apunte de ideas para los que quieran hacerlo. Si hay alguno por ahí, y se traba en algún punto, que avise ya sabe dónde.
PD2 (Actualización): Cuando fui a probar el booteo desde diskette no me funcionó mi propio método, porque me había comido un initrd= (ya está corregido). Se nota que hay mucha gente que está interesada en las mismas cosas que yo...

36 comentarios:

El Depresivo dijo...

Weii.
En primer lugar, un millón de gracias. Con mi movil me regalaron un pendrive de 1gb que estaba nuevo hasta que descubri este blog. Ahora tengo un problema con esto. Lo tengo al modo viejo, lo pongo al modo nuevo, lo realizo todo, incluso sale en el menu, pero me falla (si no me equivoco) el dos.bss, ¿me podrías enviar el que usas tu? Porque me esta costando lo mio hacerlo funcionar, y discos de arranque en dos no creo que me queden, y otro pendrive tengo, pero si lo toco mi hermano me corta la mano. Arrancando desde el modo auntiguo no me va bien el SLAX, cosa que desde el modo nuevo va muy bien, y se ve bien, cosa que desde el modo viejo se ve...horrible. Así que si me mandas el dos.bss me quitas el marrón.

Saludos

[486] dijo...

No me queda a mi el mail. Igual para el que le interese lo subi aca
BTW, un gusto que a alguien le sirvan mis obsesiones.

El Depresivo dijo...

Va que te cagas, muchas gracias por investigar, y por supuesto gracias por el archivo.

Por cierto, para cuando la versión final del maldito SLAX 6, que sino apenas abra modulos, como ahora, que hay cuatro, a ver si sacan la 6 y proliferan los modulos para esta, que sino con las ATI no va demasiado bien.

Saludos y gracias de nuevo

[486] dijo...

...Igual la mayor parte de los módulos de slax 5 funcan. Sólo bajalos a un temporal, y convertilos con mo2lzm (mo2lzm moduloviejo.mo moduloutil.lzm) Yo puse el wine, y uso las aplicaciones portables de la lupo pensuite (firefox, etc).

Anónimo dijo...

saludos, quiero que me ayuden a entender este post, yo quiero arrancar un cdlive con mi pendriver y estube leyendo este post y no entendi una mierda ¿donde se hacen estos procedimientos en linux o en windows?
porque si es en linux no tengo ninguna distrubucion instalada de linux, quiero probar el software libre en especial ubuntu, pclinux 2007 y quisiera saber como botear una imagen desde pendriver no tengo
unidad de diskette alguien que me pueda ayudar?

[486] dijo...

Vamos por partes:
1) No hay un método universal para pasar una imagen ISO (imagen de CD) a un pendrive. Para eso vienen instalaciones especiales preconfiguradas. En el caso de SLAX, podés bajar la iso, extraer el contenido en el pen y correr (bajo windows) el bootinst.bat
2) El método es complementario al del post anterior sobre el tema. Lo de instalar el boot se puede hacer desde windows o linux, igual que editar el syslinux.cfg.
3) Tenés unidad de CD? Te recomiendo que pruebes con un live-cd antes de meterte a configurar un pendrive.

Cualquier cosa preguntá.

Anónimo dijo...

Excelente aporte!. Pero a mi no me funciona pues lo que hice fue poner una opcion en el menu de inicio para el hirens a traves del archivo slax.cfg como sigue:
LABEL Hirens
MENU LABEL Hirens BootCD v9
KERNEL dos.bss
TEXT HELP
Help for currently selected:
Ejecuta Hirens BootCD version 9
ENDTEXT

Pero al elegir la opcion hirens solo me muestra por un momento una linea que dice algo del EBios y me regresa al menu principal.

Que anda mal???.

Anónimo dijo...

muy buen aporte justamente lo que andaba buscando nada mas que yo le quiero meteer Wifislax, Hiren´s y WinXp para Instalar Haber si me sale Salu2

Jesus dijo...

Hola podrias subir de nuevo el archivo dos.bss, ya no se encuentra en el servidor y lo estoy intentando con otro pendrive y no me funciona. Copio el sector de arranque sdb y sdb1 y ninguno de los dos me funciona he mirado el fstab y no me sale donde se monta asi que no se muy bien cual copiar, lo he intentado varias veces ademas intente añadirle todos los permisos pero solo me añade los del propietario no me los añade ni con el sudo.

pd:Se que el post es antiguo comprendere que no respondas

Muchas Gracias

[486] dijo...

No te preocupes Jesús, que es un gusto ayudar: bajate el boot universal de este post que ya tiene parte del trabajo hecho, y viene con el archivito en cuestión. Avisá como te fue.

Jesus dijo...

Puff sigue igual que con el mio he sustituido el archivo y sigue sin arrancar despues he probado a sustituirlo todo y tampoco funciona. he vuelto a copiar los archivos de inicio el io y el command y tampoco. Te comento lo que queria hacer por si sabes alguna forma, quiero hacer un usb bootable con varias imagenes de s.o. con un menu y poder elegir la que quiera(si es con imagenes mejor asi cuando me canse solo tengo que cambiar la imagen para probar otro s.o. sino me crearia varias particiones en el usb o por virtualizacion pero creo que tiene que correr sobre otro s.o. estoy pensando la forma si se te ocurre algo comentamelo please). Si me quiere agrega y me comentas como puedo hacer funcionar el hirens mejor asi no se llena el blog de post imnesesarios.

Muchas Gracias por los archivos.

[486] dijo...

Jesus: Te contesto aca así le sirve a los que vienen atrás.
Para poner el hirens y un linux con syslinux primero que nada tenés que poder bootear el hirens solo. Eso se hace armando el boot con la utilidad que hay en su pagina ,o desde una máquina con windows98 desde el cuadrito de format, o con virtualbox y un disco de arranque que subí en el blog. No sirve solo copiar io.sys, command.com y msdos.sys hasta dónde se. Una vez que tengas un arranque que te deje en el prompt c:\, recien ahi podes cargar el bootloader con el dos.bss. Cualquier cosa preguntá. Una búsqueda de "hirens" en este blog también te puede ayudar. Saludos

Jesus dijo...

Te comento, yo tenia el hirens en el usb y funcionaba perfectamente, le añadi mi linux y ejecutandolo con f5 desde el menu del hirens tambien funciona el problema viene cuando instalo el arranque del linux que no me reconoce el arranque del dos cuando le doy se queda el puntero parpadeando y no se porque puede ser la verda. He probado con tu archivo de dos.bss y tampoco me funciona. Se te ocurre algo??

Muchas Gracias.

[486] dijo...

¿Usar Grub y Nimblex?
¿Rehacer el boot de DOS con sys x: desde win98?
¿Hacer todo el procedimiento de nuevo?
Me parece que ibas bien rumbeado cuando intentaste rearmar el boot de dos con los archivos originales, poruqe si no está fallando el dos.bss, es alguno de los otros dos (y no el command, porque si falta ese te lo pide).
Otra duda: Probaste en otra máquina?

Jesus dijo...

Como puedo rehacer el boot? no dispongo de un windows 98 y cada vez me quedan menos opciones

Muchas Gracias.

[486] dijo...

Rehacer el boot, lamentablemente es eso: empezar de nuevo.
En este caso, yo formatearía el pendrive con la utilidad de la pagina de hirens hasta tener el boot en d.o.s. andando, y después probaría instalar syslinux desde el boot universal.

[486] dijo...

Jesus: un detalle,por las dudas... borraste el archivo jo.sys (no io.sys, ojo) de la raiz del pen?
Te pregunto porque yo lo dejé cuando hice lo del hirens, y el error que me daba era justo el que vos describís...

Jesus dijo...

Hola comentaros que he hecho algun avance aunque no ha sido muy bueno. Resulta que he vuelto a realizar los pasos anteriores con mi otro usb y funciona perfectamente. Ya tengo el menu del grub con el hirens y mi linux funcionando. Los usb son de la misma marca solo que uno tiene un gb y el otro cuatro, en el de 4 no funciona. Por ahora lo dejare asi Agradeceros vuestra atencion.y seguire leyendo estos interesantes post.

Un saludo.

Jesus dijo...

Una cosita he hecho bastantes veces el hirens y nunca he visto el jo.sys

Ta pronto.

[486] dijo...

Es un muy buen dato, Jesus. Y ahora que lo mencionas veo en el tutorial original de hirens "If you get blinking cursor then try FAT32 format on larger drives", o sea que te queda intentar con fat32, o haciendo una particion de 2Gb en el pen de 4 (que igual es un bajon). Saludos, y me alegro de que al menos algo haya funcionado!

ReiRok dijo...

Como dato nada mas.
El jo.sys el archivo que genera la opcion de arranque del CD del Hiren, es que te da la opcion de Boot por HD o CD. Por eso no tiene que estar en el USB.

Saludos,Reirok.

Jesus dijo...

Creando la particion de un gb tambien funciona el problema que tengo que no se muestran las demas particiones solo la que esta activa, da igual que sea primaria o logica. Alguien sabe como verlas en windows??puesto que en mi ubuntu creo recordar que se veian.

[486] dijo...

...Y probaste con fat32? Porque tuve un problema similar cuando quise poner el hirens en una particion y un liveXP en otra del pendrive.
La otra es hacer una primaria, una extendida y una unidad lógica (windows no gusta de tener dos primarias visibles en un mismo disco, aunque no se si será eso)

Jesus dijo...

No hay manera he creado una particion primaria y otra extendida,en fat otra vez probe en fat3, tambien he probado con las dos primarias. He leido por hay que el windows no se lleva bien con las particiones primarias de los usb, solo muestra la que esta activa. Un apunte se pueden tener hasta 4 particiones primarias con windows sin problemas o sino hasta un maximo de 3 primarias y otra extendida y ahi poner las unidades logicas que desees.

Seguiremos intentadolo hasta pronto.

ReiRok dijo...

Jesus:
Leo tus comentarios pero no logro entender cual es tu problema ni que es lo estas intentando hacer.
Por favor escribi un comentario con lo que realmente queres hacer.
Explica bien si lo que queres es un USB Multiboot o si tu problema es el pen de 4G.
Saludos ReiRok.

Jesus dijo...

Reirok no se si estas por aki aun, me fui de vacaciones y se quedo en el olvido. Lo que quiero es tener en un usb varios sistemas operativos y el hirens boot. Si hay algun programa que me lo haga perfecto sino... mi idea es poner varias isos en el pendrive y arrancar la que quiera pero creo que esto no es posible.

[486] dijo...

Jesus: mirate otros pots del blog, que hay varios que tratan de eso mismo. Lo que queres hacer es posible con syslinux o grub, pero extaryendo el contenido de las isos. Tambien esta la posibilidad de cargarlas por memdisk, pero creo que esta algo verde por ahora. Y sobre el programa que haga todo, unetbootin parece lo más cercano a eso. Y si lográs poner el hirens y un windows live, avisá cómo, que yo los llevo en pendrives separados para no complicarme.

ReiRok dijo...

Jesus: Que yo sepa no hay programas mágicos para eso, igualmente prefiero hacerlo a mano, me gusta saber que es lo que pasa realmente.
No dudes en preguntar que lo charlamos por acá.
Por ahí te sirve la respuesta que sigue.
486: Lo pensé un toque, y si no recuerdo mal, vos cargas Syslinux, este llama a un bootsector de msdos, y ahi carga el Hiren.
Bueno la idea seria siguiendo tu estructura, que crees un bootsector de NT/XP y llames a este para cargar el XPlive.
Entonces este BS, llama a ntldr y este carga el Xplive.
Sabiendo esto, lo que tenemos que hacer es lo siguiente:
Copia la carpeta i386 y renombrala como minint.
Copia en el raíz setupldr y renombralo como ntldr.
Copia ntdetec.com al raiz, no se si es necesario.
Copia Winbom.ini al raiz.
Todo esto lo sacamos de la Iso.
Con esto tendría que funcionar.
Nota si tenes otro pen usa PeTOUSB para pasar el XPlive al pen y copia los archivos que pone en el pen al otro y ya esta.
Obvio, siempre agregando el BS de NT/XP y llamando a este primero.
Contame como te fue.
Saludos ReiRok.

[486] dijo...

ReiRok: lo intenté así, y nunca pase de agún error genérico de boot. Fijate en este post cómo fue el método. Igual como te decia en un comentario en el post de qemu, al final lo hice andar con grub y sin usar el bootsector (con chainloader). Y ahora que puedo probar sin reiniciar voy a ver que onda con el hirens.

Jesus dijo...

Reirok: Ahora mismo tengo en el pen el hirens y dos distribuciones linux, haciendolo atraves del syslinux. Lo del xp live quizas lo intente este finde puesto que ahora solo tengo uno de 1gb y otro de 2gb y el de 4gb lo tengo en otro sitio y lo recogere el sabado. Si no se me va la cabeza con otra cosilla ya te preguntare o te comentare los problemas o avances con los que me encuentre.

Un saludo

ReiRok dijo...

486, jesus:
El método que mencionas vos es distinto. No confundir, el tuyo corre en ram, lo que te digo yo, no.Tampoco confundir PE2USB (un batch) con PETOUSB un GUI que puede copiar los archivos sin formatear como hace pe2usb. El BS de pe2usb si no recuerdo mal, no es el de NT/XP(puede que si). Es simple, nunca me trajo problemas esto, proba que tiene que salir facil.
Otra cosa, en post de "Cómo ser agradecido, o cómo agregar BartPE al pendrive" hay un cosa que esta de mas, en el paso 7 "mkbt -x pe2usb.bss p:" ya lo hace anteriormente pe2usb, igualmente despues arreglas el bs del pen, con syslinux que se escribe en ese sector.
Proba y decime. Si se te complica usa PETOUSB en el otro pen y fijate como te queda la estructura ahí dentro.
PETOUSB: http://gocoding.com/projects/petousb/99P16/PeToUSB_3.0.0.7.zip

Ah, importante tambien hay que copiar al raiz la carpeta Programs de la ISO del XPLive.
Saludos.

Seijuro dijo...

Hola, he leído tu articulo y me ha gustado mucho, pero no puedo descargar el .bss porque el link no aparece, me lo enviarias a mi correo por favor? Ah, por cierto: ¿Cómo puedo crear un sector de arranque desde windows sin dañar el que me ha generado el slax?, ¿Existen utilidades para eso?

Gracias de antemano

486 dijo...

Seijuro: el dos.bss lo podes descargar junto con el boot del slax en esta entrada (esta en el boot universal). Eso te soluciona lo del sector de arranque, y de hecho, ya viene con el syslinux modificado para que ande.
Contame como te fue.

Anónimo dijo...

por favor los booteos por usb los he usado con linux y hiren por separado pero al intentar seguir los pasos que se dice no consigo cargar el hiren donde se pone? como se pone?

sodark dijo...

Podrias volver a subir el dos.bss ? Gracias.

486 dijo...

sodark: en un comment justo arriba del tuyo le digo a seijuro de donde lo puede sacar.
Suerte.