ldlinux.sys é para inicializar o Linux a partir de disquetes formatados em MSDOS. Imagens modernas do Ubuntu (como 14.04) não usam ldlinux.sys . Em vez disso, eles usam isolinux.bin , que faz parte da imagem de inicialização do El Torito do ubuntu.iso . Para jogar o cabeçalho do El Torito, faça o seguinte:
$ xorriso -indev ubuntu-14.04-desktop-amd64.iso -toc
xorriso 1.3.2 : RockRidge filesystem manipulator, libburnia project.
xorriso : NOTE : Loading ISO image tree from LBA 0
xorriso : UPDATE : 507 nodes read in 1 seconds
xorriso : NOTE : Detected El-Torito boot information which currently is set to be discarded
Drive current: -indev 'ubuntu-14.04-desktop-amd64.iso'
Media current: stdio file, overwriteable
Media status : is written , is appendable
Boot record : El Torito , ISOLINUX isohybrid MBR pointing to boot image
Media summary: 1 session, 493568 data blocks, 964m data, 11.2g free
Volume id : 'Ubuntu 14.04 LTS amd64'
Drive current: -indev 'ubuntu-14.04-desktop-amd64.iso'
Drive type : vendor 'YOYODYNE' product 'WARP DRIVE' revision 'FX01'
Media current: stdio file, overwriteable
Media status : is written , is appendable
Media blocks : 493568 readable , 5895012 writable , 6388580 overall
Boot record : El Torito , ISOLINUX isohybrid MBR pointing to boot image
Boot catalog : '/isolinux/boot.cat'
Boot image : '/isolinux/isolinux.bin' , boot_info_table=on
Boot image : '/boot/grub/efi.img' , platform_id=0xEF
TOC layout : Idx , sbsector , Size , Volume Id
ISO session : 1 , 0 , 493568s , Ubuntu 14.04 LTS amd64
Media summary: 1 session, 493568 data blocks, 964m data, 11.2g free
Media nwa : 493568s
Se você modificar qualquer uma dessas estruturas de inicialização, a soma de verificação (SHA256) do ubuntu.iso será diferente. Você pode obter o SHA256SUMS , SHA256SUMS.gpg , e o ubuntu.iso em releases.ubuntu.com . Você pode verificar uma imagem flash USB em uma unidade USB usando dd para gravar a imagem e depois lê-la de volta e compará-la ao original:
# checksum downloaded image (check this matches the published hash)
$ sha256sum ubuntu-14.04-desktop-amd64.iso
cab6b0458601520242eb0337ccc9797bf20ad08bf5b23926f354198928191da5 ubuntu-14.04-desktop-amd64.iso
# write image to USB flash
$ dd if=ubuntu-14.04-desktop-amd64.iso of=/dev/sdb
# read image from USB flash and checksum it
$ /bin/ls -l ubuntu-14.04-desktop-amd64.iso
-rw-r--r-- 1 user user 1010827264 Apr 17 10:51 ubuntu-14.04-desktop-amd64.iso
$ dd if=/dev/sdb bs=512 count=1974272 | sha256sum
1974272+0 records in
1974272+0 records out
cab6b0458601520242eb0337ccc9797bf20ad08bf5b23926f354198928191da5 -
1010827264 bytes (1.0 GB) copied, 34.1066 s, 29.6 MB/s
dd faz uma cópia binária exata, para que você possa comparar facilmente a imagem original com a imagem na unidade. Você precisará especificar um comprimento exato para ler de volta a partir da unidade USB, caso contrário, a soma de verificação será diferente.
Se você usar uma ferramenta diferente (não dd ) para gravar na unidade USB, ela poderá gravar dados binários diferentes, e você precisará gerar sua própria soma de verificação escrevendo usando sua ferramenta, e, em seguida, lendo a unidade com dd
. Se você não confia em um único PC, mas confia em vários, então terá que recriar sua imagem em vários PCs e garantir que a imagem gere a mesma soma de verificação em todos.
Se você assumir que o computador que você usa para baixar a imagem e gravar o USB foi comprometido, você nunca poderá confiar em nada que ele faça. Ele poderia informar que a soma de verificação estava boa e que a imagem não havia sido adulterada - mas você nunca poderia confiar nela, porque ela já havia sido comprometida. Os pesquisadores conseguiram desenvolver sistemas que podem infectar o firmware EFI e, assim, sobreviver a uma limpeza completa do disco rígido e, ao mesmo tempo, informar que o Secure Boot está habilitado e funcionando bem, embora o sistema tenha sido totalmente subvertido. Uma vez que o sistema tenha sido comprometido, você nunca pode garantir totalmente que ele foi limpo. Daí porque a NSA tem um programa em vigor para redirecionar, interceptar e comprometer os sistemas alvo ainda nas mãos de um mensageiro, antes de ser entregue ao cliente.