domingo, 4 de dezembro de 2011

live USB de ISO

Para transferir um ISO para um pendrive em vez de um CD/DVD, primeiro é preciso identificar o pendrive:


# ls -l /dev/disk/by-id/*usb*

A saída vai ser algo parecido com isso:

lrwxrwxrwx 1 root root  9 Dez  5 00:16 /dev/disk/by-id /usb-Kingston_DataTraveler_2.0_5B820E000750-0:0 -> ../../sdb
lrwxrwxrwx 1 root root 10 Dez  5 00:16 /dev/disk/by-id/usb-Kingston_DataTraveler_2.0_5B820E000750-0:0-part1 -> ../../sdb1

Onde sdX é o nome real do dispositivo. Neste caso, sdb.


Desmonte o pendrive:
# umount /dev/sdX1

Agora são duas opções:

Usando o dd_rescue, que pode ser baixado do repositório:
# dd_rescue /path/to/iso/nome_do_arquivo.iso /dev/sdX

O dd_rescue mostra o andamento da gravação:

Summary for openSUSE-11.2-KDE4-LiveCD-i686.iso -> /dev/sda:
dd_rescue: (info): ipos: 18944.0k, opos: 18944.0k, xferd: 18944.0k
errs: 0, errxfer: 0.0k, succxfer: 18944.0k
+curr.rate: 62925kB/s, avg.rate: 62925kB/s, avg.load: 29.9%
[...]

ou usando o dd:
# dd if=nome_do_arquivo.iso of=/dev/sdX bs=8M

Que só mostra a saída no final da gravação:

87+0 records in
87+0 records out
729808896 bytes (730 MB) copied, 179,351 s, 4,1 MB/s


Testei a gravação com sucesso no Mandriva usando o dd_rescue e no Opensuse usando o dd.