MBR do setor de inicialização que inicializa a partição ativa

2

Eu tenho o bootloader burg atualmente instalado no meu mbr (+ os seguintes setores), e gostaria de instalá-lo na partição de inicialização e substituir o mbr por um simples que inicializará a partição marcada como ativa (" boot "flag em algumas ferramentas de particionamento).

Embora eu saiba programar o suficiente para escrever na montagem um bootsector que irá encontrar a primeira partição ativa e carregá-la, prefiro usar uma existente.

Onde eu poderia encontrar um desses bootsector? Talvez o bootsector do windows padrão faça isso?

Por que eu quero fazer isso

Eu tenho uma ferramenta no Windows (3DS Max) que constantemente quebra o bootloader burg cada vez que é executado. Aparentemente, inclui um software "antipirataria" chamado FlexNet que marca seu copmputer para dizer "hey, 3DS Max foi instalado aqui, infelizmente ele grava essa informação em um dos 63 setores após o bootsector, e o burg é instalado lá (eu chamaria tal comportamento de "malware" ou "bug crítico").

As versões recentes do grub agora detectam quando o aplicativo quebrou sua inicialização e usam diferentes setores, mas o burg (uma variante gráfica do grub) falta esse patch .

Por isso, decidi instalar o burg na partição de inicialização, marcar essa partição como ativa e apenas um gerenciador de inicialização de setor único, que encontrará a partição ativa e inicializá-la (os bootsectors de PC costumavam fazer isso na boa ol vezes).

    
por Georges Dupéron 06.05.2014 / 15:58

2 respostas

1

I have therefore decided to install burg on the boot partition, mark that partition as active, and just have a single-sector bootloader, that will find the active partition and boot it

Bom, porque é tão ruim para os programas gerenciador de inicialização / gerenciador de inicialização assumir que esse espaço é livre para o uso como é para o FlexNet Publisher fazê-lo. Além do fato de que nos discos particionados EFI não é livre , , é apenas um acidente e hábito que o torna o caso em alguns discos particionados MBR. Afinal, já se passaram alguns anos desde que o mundo começou não a começar a primeira partição no início de "track" 1, e a alinhar as partições em qualquer coisa, desde 4KiB até multiple-GiB limites.

(PC bootsectors used to do just that in the good ol' times).

E há muitas maneiras de escrever código de bootstrap que faz isso no Master Boot Record, a partir do utilitário da Microsoft

bootsect /nt60 SYS /mbr
através de um utilitário FreeBSD
fdisk -B ada0
para um utilitário Linux
ms-sys --mbrsyslinux /dev/sda

Eu mesmo escrevi dois programas newmbr .

Existem vários utilitários para fazer isso, em discos de "resgate" e em ferramentas de particionamento. Ouvi dizer que algumas pessoas até têm código para fazer isso em discos rígidos particionados por EFI. ☺

Leitura adicional

por 09.05.2014 / 22:34
0

Acredito que uma vez que você tenha instalado o seu gerenciador de partida, seu MBR já está configurado corretamente com o código BootStrap. Isso é tudo o que você precisa. Se você transferiu seu gerenciador de inicialização para outra partição, tudo o que você precisa fazer é alterar o sinalizador de partição ativo no MBR. Verifique também se o tipo de partição está correto.

Você pode alterar esse sinalizador editando manualmente seu comando MBR ( dd + um editor hexadecimal decente fazer, entradas de partição começam no deslocamento 1BEh) ou, alternativamente, usar algum utilitário como fdisk ou gparted .

* EDIT:

Em vez de transferir, você também pode tentar instalar o BURG diretamente em uma partição separada, da mesma forma como faria com o GRUB:

sudo burg-install –force –root-directory=/media/BootPartitionMountPoint  /dev/sda

Isso configuraria um MBR correto com o código BootStrap contendo instruções para pular para o seu BootPartitionMountPoint e carregar o BURG.

    
por 06.05.2014 / 16:27