Pages: [1]
Print
Author Topic: Arrancar MS-DOS desde la memoria USB  (Read 2729 times)
AquaDrago
VIP Member
Sr. Member
*****

Karma: +25/-0
Posts: 473


S4UR10


View Profile
« on: May 20, 2008, 08:35:35 AM »

que tal, andaba necesitado de realizar unas cosas y me encontre con este tutorial muy bueno, lo probe y si me funciono si lo pongo aca por si a alguien le sirve en el futuro

Valiéndonos del comando ms-sys desde Linux la tarea es muy sencilla. Partimos con una memoria USB completamente vacía, cosa de la que nos aseguramos llenando el dispositivo de ceros con el comando dd:
Quote
$ dd if=/dev/zero of=/dev/sdi
dd: writing to `/dev/sdi': No space left on device
492545+0 records in
492544+0 records out
252182528 bytes (252 MB) copied, 192.376 seconds, 1.3 MB/s

A continuación creamos la tabla de particiones y el sistema de ficheros FAT32:
Quote
$ fdisk /dev/sdi
Device contains neither a valid DOS partition table, nor Sun, SGI or OSF disklabel
Building a new DOS disklabel. Changes will remain in memory only,
until you decide to write them. After that, of course, the previous
content won't be recoverable.

Warning: invalid flag 0x0000 of partition table 4 will be corrected by w(rite)

Command (m for help): n
Command action
   e   extended
   p   primary partition (1-4)
p
Partition number (1-4): 1
First cylinder (1-1009, default 1):
Using default value 1
Last cylinder or +size or +sizeM or +sizeK (1-1009, default 1009):
Using default value 1009

Command (m for help): a
Partition number (1-4): 1

Command (m for help): t
Selected partition 1
Hex code (type L to list codes): c
Changed system type of partition 1 to c (W95 FAT32 (LBA))

Command (m for help): p

Disk /dev/sdi: 252 MB, 252182528 bytes
8 heads, 61 sectors/track, 1009 cylinders
Units = cylinders of 488 * 512 = 249856 bytes

   Device Boot      Start         End      Blocks   Id  System
/dev/sdi1   *           1        1009      246165+   c  W95 FAT32 (LBA)

Command (m for help): w
The partition table has been altered!

Calling ioctl() to re-read partition table.

WARNING: If you have created or modified any DOS 6.x
partitions, please see the fdisk manual page for additional
information.
Syncing disks.

$ mkfs.vfat -F 32 /dev/sdi1
mkfs.vfat 2.11 (12 Mar 2005)

Y ahora escribimos un MBR y un sector de arranque para la partición:
Quote
$ ms-sys -w /dev/sdi
DOS/Windows NT master boot record successfully written to /dev/sdi

$ ms-sys -w /dev/sdi1
FAT32 DOS boot record successfully written to /dev/sdi1

$ ms-sys -p /dev/sdi1
Start sector (nr of hidden sectors) successfully written to /dev/sdi1
Physical disk drive id 0x80 (C:) successfully written to /dev/sdi1

El ms-sys con la opción -p es importante porque de otro modo, en muchos casos, el MS-DOS no consigue arrancar del disco, tal y como explica la página de manual del ms-sys:
Quote
-p, –partition
         Write  partition  info  (hidden sectors and drive id) to boot record. This might be
         needed on some partitions depending on which program was used to  create  the  file
         system.

[...]

BUGS
       There  have  been  reports about unbootable FAT32 partitions created with “mformat -F c:”.
       One workaround is to use gnu parted to create the partition instead. Since  version  1.1.3
       ms-sys  has the switch -p which is supposed to fix this problem. The problem has also been
       reported on partitions formatted with mkdosfs and mkfs.vfat.

El último paso es copiar a la memoria los ficheros de arranque de MS-DOS necesarios (si no los tenemos, más abajo explico de dónde podemos obtenerlos), el IO.SYS, MSDOS.SYS y COMMAND.COM, y también podemos poner ya todos los que vayamos a necesitar según el fin que tengamos pensado para este MS-DOS (especialmente interesantes pueden ser el HIMEM.SYS, el EMM386.SYS, el DBLBUFF.SYS y el IFSHLP.SYS):
Quote
$ mount /dev/sdi1 /mnt/usb

$ cd /path_a_ficheros_de_ms-dos/

$ cp io.sys msdos.sys command.com  /mnt/usb/

$ cp himem.sys emm386.exe ifshlp.sys dblbuff.sys /mnt/usb

$ umount /mnt/usb

En este punto la memoria USB ya está lista para arrancar MS-DOS.

Los archivos de MS-DOS podemos tomarlos de cualquier disco de rescate o instalación que tengamos de Windows 98 o Windows ME (o de las últimas versiones de Windows 95 (OSR2) que también soportaban FAT32). Si no tenemos ninguno a mano pero sí un Windows XP, hemos de saber que el Windows XP es capaz de crearnos discos de rescate de MS-DOS de la versión que llevaba el Windows ME (en la Wikipedia se puede ver qué versiones de MS-DOS llevaba cada Windows). Para ello sólo tenemos que ir al diálogo de formatear disquetes y marcar la casilla de “Create an MS-DOS startup disk”

Fuente:http://www.vicente-navarro.com/blog/2007/06/29/arrancar-ms-dos-desde-una-memoria-usb/
Logged

ElForux.org
« on: May 20, 2008, 08:35:35 AM »

 Logged
n.A.u.T.a
VIP Member
Hero Member
*****

Karma: +27/-0
Posts: 578



View Profile
« Reply #1 on: May 21, 2008, 01:24:09 PM »

si, buena info
Logged


dhabyx
Global Moderator
Hero Member
*****

Karma: +43/-0
Posts: 542


Slacker


View Profile WWW
« Reply #2 on: May 21, 2008, 10:03:00 PM »

la verdad prefiero parted magic ;)
Code:
http://partedmagic.com/wiki/PartedMagic.php
Logged


Visita el Foro de la Comunidad de Software Libre Guatemala http://foro.slgt.org
ElForux.org
   

 Logged
Pages: [1]
Print
Jump to: