FAT32 / NTFS + isofs em USB

0

Eu tenho um disco USB inicializável:

# dd if=/path/to/os_image.iso of=/dev/sdb
(...everything OK...)

# sudo dumpe2fs /dev/sdb
dumpe2fs 1.42.9 (4-Feb-2014)
dumpe2fs: Bad magic number in super-block while trying to open /dev/sdb
Couldn't find valid filesystem superblock.

O GParted não reconhece nenhuma partição ( imagem ), o gerenciador de arquivos da GUI reporta o sistema de arquivos como isofs . O sistema inicializa e tudo funciona bem.

O problema é que eu quero usar o disco USB para um sistema operacional ao vivo e como um armazenamento com PCs e TVs que reconhecem apenas FAT32 e NTFS.

Eu tentei criar duas partições, fazendo dd em sdb1 e tornando sdb1 a única partição inicializável, mas o sistema não inicializou.

Então, minha pergunta é: como colocar FAT32 / NTFS e (qualquer) imagem ISO inicializável em um disco particionado por MBR sem usar um programa externo de criação de usb inicializável? Eu gostaria de basta usar dd , como eu faço agora.

Presumivelmente, isso poderia ser resolvido usando o bootloader correto com a configuração correta, eu não sei qual bootloader e qual configuração.

    
por kyrill 05.07.2016 / 16:10

2 respostas

1

Pen drive usb inicializável com 2 partições.

O Windows e outros podem ver apenas a primeira partição em um dispositivo USB, mesmo quando houver várias partições. Portanto, faça sua primeira partição primária, a partição fat32 ou NTFS, para que as janelas possam vê-la e usá-la.

partição 1 - ntfs ou vfat

partição 2 - ext4

A segunda partição é onde você armazenará a iso inicializável. Use o grub para carregar e selecione qual sistema operacional ao vivo você deseja usar.

etapas:

1: zerar a tabela de partições

sudo dd if=/dev/zero of=/dev/sdx bs=512 count=4

2: Crie partições (use cli “fdisk” ou gui “gparted”)

criar tabela de partições "msdos"

crie 2 partições

p1 = ntfs

p2 = ext4 - tag como inicializável.

partições de formato.

3: Instale o bootloader grub no dispositivo usb

sudo grub-install --boot-directory /mnt/usbp2/boot /dev/sdx

Verifique: se eles existem, tudo está bem até agora ...

  • / mnt / usbp2 / boot / grub / fonts - mínimo unicode.pf2
  • / mnt / usbp2 / boot / grub / i386-pc - módulos * .mod para carregar em você grub.cfg
  • / mnt / usbp2 / boot / grub / local - idiomas
  • / mnt / usbp2 / boot / grub / grubenv - armazenamento de variáveis de ambiente

4: Crie um arquivo grub.cfg para o sistema operacional neste pc

sudo grub-mkconfig --output=/mnt/usbp2/boot/grub/grub.cfg

Teste inicializando para usb

5: Copie os arquivos de suporte para o usb

  • arquivos iso
  • binário do memdisk - obtenha do syslinux
  • grub.cfg - personalizado para o seu pendrive. Sobrescreva o grub.cfg criado pelo grub-mkconfig

Observação: cada iso ao vivo pode exigir informações diferentes do grub.

Nota: Se você receber apenas uma linha de comando do grub, o grub.cfg provavelmente conterá erros. Vá mínimo para começar.

6: Crie seu instalador de inicialização usb personalizado.

Copie o MBR e a Tabela de Partições

dd if=/dev/sdx of=/custom_boot/cb_mbr.img bs=512 count=1

Copie a partição inicializável

dd if=/dev/sdx2 of=/custom_boot/cb_ext4.img bs=512

7: crie um novo dispositivo USB inicializável

  • Exclua todas as partições existentes e limpe o MBR

    fdisk ou gparted (excluir partições)

    dd se = dev / zero de = / dev / sdx bs = 512 contagem = 1

  • restaure o MBR e a Tabela de Partições

    dd if = / custom_boot / cb_mbr.img de = / dev / sdx bs = 512

  • Restaurar partição inicializável

    dd if = / custom_boot / cb_ext4.img de = / dev / sdx2 bs = 512

  • Corrigir a primeira partição e reformatar (fat32 ou ntfs)

    fdisk ou gparted

Meu grub.cfg

Minhas Notas

    
por 06.07.2016 / 17:08
0

Para tornar isso explícito -

  • "Eu gostaria de simplesmente usar o dd, como faço agora".
  • "O Windows e outros podem ver apenas a primeira partição em um dispositivo USB, mesmo quando houver várias partições."

Eu não acho que essas metas sejam práticas para alcançar, então você terá que se comprometer em algum lugar.

    
por 06.07.2016 / 17:27