Actualizando el BIOS con FreeDOS
Puede desear o necesitar actualizar el BIOS del PC, cuando el fabricante de la placa madre anuncie alguna mejora en el software del BIOS. El programa de instalación es normalmente ofrecido como una aplicación de MS-DOS.
Esta es una manera de actualizar el BIOS desde un USB en Linux. Funciona con llaves y con tarjetas micro/mini/SD (con el adaptador adecuado).
Primero, el BIOS tiene que permitir la inicialización desde USB y ser compatible con discos duros USB. Algunas formatos de BIOS solamente aceptan USB, floppies, CD-ROMs o dispositivos ZIP, aunque útiles, pueden hacer más dificil la actualización; sin embargo, puede ser que no tenga otra opción (en particular los ordenadores portátiles).
Necesitará tres cosas:
- Una llave USB, preferiblemente de <2 GB (FAT16 no permite más de 2 GB), y una instalación completa de FreeDOS solamente necesita 5.8 MB. El FAT16 es el formato recomendado, en vista de que el FAT32 no es detectable por todos los BIOS.
- Un medio de instalación de FreeDOS, fdbasecd.iso (8MB) debe ser suficiente.
- qemu (# apt-get install qemu), qemu se requiere para el instalador; basicamente el BIOS emulado por qemu hace que el pendrive USB se parezca a FreeDOS como un disco duro normal, así que lo puede instalar normalmente (y evita quemar un CD para el FreeDOS).
Esto es absolutamente critico: en ningún momento hay que montar el pendrive USB. Tenga mucho cuidado al selecionar el nodo de dispositivo corecto, de otra manera todos los datos en el disco equivocado serán borrados sin remedio; por ejemplo, su disco duro principal.
Enchufe el pendrive USB, recuerde, no tiene que montar el pendrive. Revise el dmesg (los ultimos mensajes, si acaba de enchufarlo), para determinar cuál nodo de dispositivo fue asignado al pendrive USB, vamos a suponer que sea /dev/sdb .
Limpie el pendrive USB, atención, todos los datos serán borrados, puede limpiar todo en vez de solamente los primeros 16 MB.
$ su Contraseña: dd if=/dev/zero of=/dev/sdb bs=1M count=16 16+0 records in 16+0 records out 16777216 bytes (17 MB) copied, 2.35751 s, 7.1 MB/s
Particionando el pendrive USB
Particionar y formatear el pendrive USB correctamente es probablemente lo más difícil.
Fije la etiqueta a FAT16, en pendrives de <2 GB (ofrece la mejor compatibilidad con todos los tipos de BIOS).
Use el fdisk para particionar:
# fdisk /dev/sdb fdisk /dev/sdb Dispositivo no contiene una tabla de partición valida de DOS, ni una etiqueta de Sun, SGI o OSF. Construyendo nueva etiqueta para DOS con el identificador 0xa8993739. Los cambios quedaran en memoria solamente, hasta que decida escribirlos. Despues de eso, por supuesto, el contenido previo no será recuperable. Aviso: bandeja invalido 0x0000 de la tabla de partición 4 será corregido por w(rite) (escribir)
Ahora, cree una partición:
Comando (m para ayuda): n Comando de la acción: e Extendido p Partición Primario (1-4) p Número de Partición (1-4): 1 Primer cilindro (1-1018, por defecto 1): Utilizando valor por defecto 1 Último cilindro ó +tamaño ó +tamañoM ó +tamañoK (1-1018, por defecto 1018): Utilizando valor por defecto 1018
Confirmar la creación de la partición mostrando la tabla de particiones:
Comando (m para ayuda): p
Disco /dev/sdb: 2003 MB, 2003828736 bytes
62 cabezas, 62 sectores/pista, 1018 cilindros
Unidades = cilindros de 3844 * 512 = 1968128 bytes
Identificador del Disco: 0xa8993739
Diapositivo Inicio Comienzo Fin Bloques Id Sistema
/dev/sdb1 1 1018 1956595+ 83 Linux
Fije la etiqueta correcta para la patición: '6' para FAT16:
Comando (m para ayuda): t Partición Seleccionada 1 Código Hex (tipea L para listar códigos): l 0 Empty 1e Hidden W95 FAT1 80 Old Minix be Solaris boot 1 FAT12 24 NEC DOS 81 Minix / old Lin bf Solaris 2 XENIX root 39 Plan 9 82 Linux swap / So c1 DRDOS/sec (FAT- 3 XENIX usr 3c PartitionMagic 83 Linux c4 DRDOS/sec (FAT- 4 FAT16 <32M 40 Venix 80286 84 OS/2 hidden C: c6 DRDOS/sec (FAT- 5 Extended 41 PPC PReP Boot 85 Linux extended c7 Syrinx 6 FAT16 42 SFS 86 NTFS volume set da Non-FS data 7 HPFS/NTFS 4d QNX4.x 87 NTFS volume set db CP/M / CTOS / . 8 AIX 4e QNX4.x 2nd part 88 Linux plaintext de Dell Utility 9 AIX bootable 4f QNX4.x 3rd part 8e Linux LVM df BootIt a OS/2 Boot Manag 50 OnTrack DM 93 Amoeba e1 DOS access b W95 FAT32 51 OnTrack DM6 Aux 94 Amoeba BBT e3 DOS R/O c W95 FAT32 (LBA) 52 CP/M 9f BSD/OS e4 SpeedStor e W95 FAT16 (LBA) 53 OnTrack DM6 Aux a0 IBM Thinkpad hi eb BeOS fs f W95 Ext'd (LBA) 54 OnTrackDM6 a5 FreeBSD ee EFI GPT 10 OPUS 55 EZ-Drive a6 OpenBSD ef EFI (FAT-12/16/ 11 Hidden FAT12 56 Golden Bow a7 NeXTSTEP f0 Linux/PA-RISC b 12 Compaq diagnost 5c Priam Edisk a8 Darwin UFS f1 SpeedStor 14 Hidden FAT16 <3 61 SpeedStor a9 NetBSD f4 SpeedStor 16 Hidden FAT16 63 GNU HURD or Sys ab Darwin boot f2 DOS secondary 17 Hidden HPFS/NTF 64 Novell Netware b7 BSDI fs fd Linux raid auto 18 AST SmartSleep 65 Novell Netware b8 BSDI swap fe LANstep 1b Hidden W95 FAT3 70 DiskSecure Mult bb Boot Wizard hid ff BBT 1c Hidden W95 FAT3 75 PC/IX Código Hex (teclear L para listar códgos): 6 Cambio tipo de sistema en partición 1 a 6 (FAT16)
Activar la nueva y única partición:
Comando (m para ayuda): a Número de Partición (1-4): 1
Mostrar la tabla de partición de nuevo, para reconfirmar que la partición esta activada:
Comando (m para ayuda): p
Disco /dev/sdb: 2003 MB, 2003828736 bytes
62 cabezas, 62 sectores/pista, 1018 cilindros
Units = cylinders of 3844 * 512 = 1968128 bytes
Identificador de Disco: 0xa8993739
Diapositivo Inicio Comienzo Fin Bloques Id Sistema
/dev/sdb1 * 1 1018 1956595+ 6 FAT16
Escriba la tabla de partición nuevo al pendrive USB y salga de fdisk:
Comando (m para ayuda): w
La tabla de particiones ha sido alterada!
Llamando ioctl() para leer de nuevo la tabla de particiones.
AVISO: Si ha creado o modificado cualquier DOS 6.x
particiones, por favor vea la página man para información adicional.
Sincronizando discos.
# exit
Formatear el pendrive USB, nuevamente particionado:
mkfs -t vfat -n FreeDOS /dev/sdb1 exit
La fase preparatoria se ha completado. Ahora el pendrive USB está particionado y formateado. Ya es momento de comenzar el proceso de instalación.
Iniciando FreeDOS con qemu
DOS no es capaz de reconocer el pendrive USB, por lo que necesita una manera de que el instalador de FreeDOS reconozca el pendrive como un disco duro ordinario. En un LiveBoot, el BIOS del sistema lo hace por nosotros, pero aquí tendrá que hacer que el qemu lo reconozca:
como usuario $: qemu -hda /dev/sdb -cdrom /ruta/al/fdbasecd.iso -boot d
Use el comutador ctrl-alt entre el raton y el teclado, permitiendo cambiar entre escritorios para leer de nuevo cualquier aviso que salga en cada etapa.
Esto inicia el FreeDOS DC y hace que el pendrive USB sea visto como el disco duro primario maestro (ahora actúa la capacidad de qemu de eumular el BIOS, lo que causa que el pendrive USB parezca a DOS como un disco duro normal.) Seleccione el instalador desde el menú de arranque de la instancia de FreeDOS virtualizada:
1) Continua a inicializar FreeDOS desde el CD-ROM
1
enter
Siga escogiendo el preseleccionado, 1 y/o selecionando Si cuando le pregunte.
El instalador pide que se reinicie - pero no lo haga todavia, hay que corregir dos (2) errores en el instalador de FreeDOS para el "mbr" y el "bootmenu". Escriba la letra n.
Escribiendo un sector de inicio en el pendrive USB
El primer error a corregir es el del "mbr", como sigue:
fdisk /mbr 1
Para corregir el segundo error del "bootmenu" en el nuevo fdconfig.sys, ejecute:
cd \ edit fdconfig.sys
y modifique la línea de arranque del "command.com" a lo siguiente:
1234?SHELLHIGH=C:\FDOS\command.com C:\FDOS /D /P=C:\fdauto.bat /K set
(no cambie este comando realmente, sólo anteponga "1234?" al inicio de la línea (antes de SHELLHIGH==C:\FDOS\command.com .....
NOTA literalmente: 1234?
Aunque no coincida, no cambie nada más, ya que las instrucciones de la línea dependen de su configuración de instalación.
Guárdelo y salga de "edit":
[alt]+[f]
Una vez de regreso en el prompt de la línea de comando, ya puede salir de qemu.
Verifique si el qemu arranca el pendrive USB.
qemu -hda /dev/sdb -boot c
El pendrive USB ahora es iniciable y contiene una completa instalación de FreeDOS de 5.4 MB, para "flashing", escribiendo en el BIOS. Realmente, debe reiniciar sin ningún driver , (opción del menu, 4), porque cargando los archivos himem.sys y emm386, puede interferir con las utilidades de "flashing" para el BIOS!:
Actualizando el BIOS
Asumiendo que el PC está funcionando, enchufe el pendrive USB con FreeDOS, móntelo y baje los archivos de BIOS requeridos, según recomiende el fabricante de la placa madre/BIOS, hacia el pendrive USB con FreeDOS; desmonte luego el pendrive.
Apague el PC, enchufe el pendrive USB con FreeDOS, y siga el procedimiento recomendado por el fabricante de la placa madre/BIOS para reiniciarlo desde un dispositivo externo.