Enviado por fredyavila2 el Sáb, 21/04/2018 - 22:15
USB

En muchas ocasiones nos encontramos con este problema: No conocemos cómo crear una USB de Windows booteable desde un sistema GNU/Linux o bien, los software que recomiendan (WinUSB, isoimagewriter, Yumi, etc) no funcionan cómo se espera que lo hagan, pues bien, hoy les mostraremos cómo hacerlo sin necesidad de descargar absolutamente ningún software adicional, lo haremos con las utilidades del sistema y de una manera que es 100% funcional. Cabe la pena mencionar que antes de haber llegado acá, damos por hecho que tienes una USB y una imagen ISO de Windows. Ahora, debemos hacer lo siguiente:

  • Insertamos nuestra USB y tecleamos el siguiente comando: lsblk
  • Una vez ejecutado, identificamos nuestro dispositivo USB en el arbol generado de la siguiente manera:
     
    sechacklabs@SecHackLabs:~$ lsblk
    NAME           MAJ:MIN RM   SIZE RO TYPE  MOUNTPOINT
    sda              8:0    0 931.5G  0 disk  
    ├─sda1           8:1    0   300M  0 part  /boot/efi
    ├─sda2           8:2    0   300M  0 part  
    └─sda3           8:3    0   800G  0 part  
      └─luks       254:0    0   800G  0 crypt 
        ├─vg0-swap 254:1    0     8G  0 lvm   [SWAP]
        ├─vg0-root 254:2    0   200G  0 lvm   /
        └─vg0-home 254:3    0   592G  0 lvm   /home
    sdb              8:16   1  14.5G  0 disk  
     
    En el caso anterior, nuestra USB es la que se encuentra identificada cómo “sdb”, esto se puede deducir por el tamaño y por sentido común.
  • Una vez identificada nuestra USB, nos situamos en la carpeta que tenemos nuestra imagen ISO de Windows y hacemos lo siguiente:
     
    #Creamos una carpeta llamada /mnt/iso con el comando
    mkdir /mnt/iso
    
    #Luego montamos nuestra imagen ISO en la carpeta que hemos creado, tal y cómo si fuera un dispositivo extraible, para esto usamos el comando
    mount -o loop 'Imagen-Windows.iso' /mnt/iso/

    Cambiamos 'Imagen-Windows.iso' por el nombre real de nuestra ISO.
     
  • Ahora formateamos la USB con formato FAT32 usando el siguiente comando
    mkfs.fat -F 32 -n WINUSB -I /dev/sdb
  • Creamos un directorio llamado /mnt/usb con el comando
     
    mkdir /mnt/usb 
    
    #Ahora montamos la USB formateada con
    mount /dev/sdb /mnt/usb
  • Ahora, copiamos todos los archivos de la imagen ISO que hemos montado en /mnt/iso a /mnt/usb con el comando
    cp -R /mnt/iso/* /mnt/usb
    y esperamos a que el proceso termine. Si tienes un navegador de archivos, puedes hacerlo copiando/pegando el contenido siguiendo el orden de rutas anteriormente descrito (de /mnt/iso a /mnt/usb). Si la carpeta boot de la imagen ISO se encuentra en mayúscula (BOOT), debemos renombrarla a minúscula (boot).
     
  • Una vez finalizado el proceso de copiado, instalamos el GRUB a la USB usando el comando
    grub-install --target=i386-pc --boot-directory="/mnt/usb/boot" /dev/sdb

    y esperamos a que finalice, si todo ha salido bien nos aparecerá el siguiente mensaje:
    Installing for i386-pc platform.
    Installation finished.
    No error reported.
  • Ahora vamos a crear un archivo que contenga lo siguiente:
    default=1  
    timeout=15
    color_normal=light-cyan/dark-gray
    menu_color_normal=black/light-cyan
    menu_color_highlight=white/black
     
    menuentry "Iniciar instalación de Windows" {
        insmod ntfs
        insmod search_label
        search --no-floppy --set=root --label "WINUSB" --hint hd0,msdos1
        ntldr /bootmgr
        boot
    }
    
    menuentry "Iniciar desde el disco duro" {
        insmod ntfs
        insmod chain
        insmod part_msdos
        insmod part_gpt
        set root=(hd1)
        chainloader +1
        boot
    }
  • Guardamos el archivo anterior en /mnt/usb/boot/grub/grub.cfg y listo, tenemos nuestra USB booteable con Windows, todo sin necesidad de recurrir a software innecesario y que además, pocas veces funciona.

Autor: Edu4rdSHL

Síguenos en Facebook, Twitter, unete a nuestra charla en Riot, únete a IRC o únete a Telegram y no olvides compartirnos en las redes sociales. También puede hacernos una donación.

    Acerca del autor

    Fredy Yesid Avila - Ingeniero de Sistemas, CEH - ECSA.

    @fredyavila