Estou usando um ASUS N53J que atualmente está usando a inicialização do MBR. Eu tenho habilitado UEFI inicialização na BIOS pode parecer inicializar drives USB que foram configurados com tabelas gpt. Embora eu ainda não tenha descoberto como usar uma partição de inicialização EFI dedicada na unidade USB.
Separadamente, conectei um segundo disco rígido ao laptop por meio da conexão SATA externa, criei uma tabela de partição gpt, uma partição esp boot e o sistema de arquivos e as partições de troca.
Quando eu executo grub-mkconfig
no disco rígido interno, ele encontra a nova imagem do Linux no disco rígido externo. Eu posso inicializar a imagem externa e confirmar que a partição esp boot é montada em /boot/efi
, então parece que eu deveria ser capaz de configurar o grub2. No entanto, se eu executar grub-mkconfig
ao executar a partir da unidade externa, sua própria imagem não será encontrada, apenas as imagens do Linux e do Windows na unidade interna.
Eu também não consigo que efibootmgr
seja executado. Os tutoriais que eu li também não estão claros tanto no como e no porquê, para que eu possa solucionar meus problemas ou usar comandos que não encontro nos pacotes que acho que estão usando. Alguém tem um bom ponteiro sobre como configurar o disco antes de instalá-lo como o disco de inicialização principal?
Obrigado.
Atualizar 2015-12-30
Eu progredi para fazer um drive USB que irá, pelo menos, iniciar em resgate grub. Eu não sei porque o grub não vai rodar a partir desta unidade, mas pelo menos me permite inicializar manualmente para o meu sistema operacional de destino. Desde que iniciei agora através de uma inicialização UEFI efibootmgr
está disponível.
Eu executei uma nova instalação do grub visando a partição esp montada em /boot/efi
. Isso foi concluído sem erros. No entanto, quando eu seleciono o sistema de destino para inicializar, o carregador de firmware pára em uma tela em branco. Isso ocorre se o disco está conectado via ESATA ou foi movido para o disco principal na máquina.
a saída de efibootmgr -v
é:
BootCurrent: 0003
Timeout: 2 seconds
BootOrder: 0005,0002,0003,0004,0000,0001
Boot0000 Hard Drive BBS(HD,,0x0)
Boot0001 CD/DVD Drive BBS(CDROM,,0x0)P1: Slimtype BD E DS4E1S .
Boot0002* ubuntu 15.10 HD(1,GPT,8b6800c2-0b24-4f00-aa66-b1378052604e,0x800,0xfa000)/File(\bootx64.efi)
Boot0003* grub HD(2,GPT,b07e72fd-9168-4924-a17c-b75e55ed685c,0x800,0xfa000)/File(\Shellx64.efi)
Boot0004* UEFI: SanDisk Cruzer Micro 1.26 PciRoot(0x0)/Pci(0x1d,0x0)/USB(1,0)/USB(2,0)/HD(2,GPT,b07e72fd-9168-4924-a17c-b75e55ed685c,0x800,0xfa000)
Boot0005* ubuntu15.10 HD(1,GPT,8b6800c2-0b24-4f00-aa66-b1378052604e,0x800,0xfa000)/File(\EFI\ubuntu15.10\grubx64.efi)
O destino desejado é Boot0005
. Boot0002
é uma experiência copiando grubx64.efi
para /boot/efi/bootx64.efi
. Tanto Boot0002
quanto Boot0005
se comportam de maneira semelhante.
Boot0003
(grub) é o drive USB e o único meio de inicializar, embora ele só inicie no resgate grub.
Alguma idéia de onde eu deveria explorar ou que informações adicionais podem ajudar no diagnóstico?
Mais progresso:
grub rescue> set
prefix=(hd0,2)/boot/grub ... This is the fat32-formatted esp boot partition
grub rescue>ls (hd0,2)/
unknown filesystem ... or similar words to that effect
grub rescue>set prefix=(hd0,1)/boot/grub ... ext4-formatted partition
grub rescue> insmod fat
grub rescue>ls (hd0,2)/
.... the directory is now read
definindo a raiz para o sistema de inicialização de destino e o prefixo para o diretório / boot / grub desse sistema de destino eu posso insmod linux
search config file e normal. Se o normal não iniciar a página de opções de inicialização, o seguinte será:
grub rescue>configfile /boot/grub/grub.cfg
Eu posso eventualmente fazer o alvo inicializar a partir do menu.
Minha sinopse é que grubx64.efi
na unidade USB não está configurada com os módulos necessários para o método de inicialização que está sendo usado.
Durante o efi-boot no meu sistema de arquivos de destino, criei uma nova unidade USB, também com uma tabela de partições gpt, desta vez com esp boot como partição 1. Eu só mencionei isso para ajudar a ler a tabela de inicialização da bios apresentada posteriormente. / p>
montando a partição USB 2 em um nó apropriado:
mkdir -p /boot/efi
mount (partição USB 1) para (partição USB 2) / boot / efi
grub-install --target=x86_64-efi --efi-directory=(USB partition 2)/boot/efi --removable
gera EFI/BOOT/BOOTx64.EFI
. A entrada UEFI: Sandisk na tabela de inicialização do bios é o meio para inicializar através deste carregador
grub-install --target=x86_64-efi --efi-directory=(USB partition2)/boot/efi --bootloader-id=USBboot
gera EFI/USBboot/grubx64.efi
. A entrada USBboot também é escrita na bios boot table
cmp -v BOOT/BOOTx64.EFI USBboot/grubx64.efi
não gera diferenças
a opção de inicialização agora é inicializada diretamente no sistema de arquivos de destino sem exibir nenhum menu de inicialização do grub. Como a unidade USB não tem o diretório /boot/grub
ou grub.cfg
, grubx64.exe
deve ser configurado para procurar esse diretório no destino em vez de USB.
$ efibootmgr -v
BootOrder: 0007,0004,0005,0002,0003,0008,0000,0001
Boot0000 Hard Drive BBS(HD,,0x0)
Boot0001 CD/DVD Drive BBS(CDROM,,0x0)P1: Slimtype BD E DS4E1S .
Boot0002* ubuntu 15.10 HD(1,GPT,8b6800c2-0b24-4f00-aa66-b1378052604e,0x800,0xfa000)/File(\bootx64.efi)
Boot0003* grub HD(2,GPT,b07e72fd-9168-4924-a17c-b75e55ed685c,0x800,0xfa000)/File(\Shellx64.efi)
Boot0004* ubuntu_15_10 HD(1,GPT,8b6800c2-0b24-4f00-aa66-b1378052604e,0x800,0xfa000)/File(\EFI\ubuntu_15_10\grubx64.efi)
Boot0005* ubuntu15.10 HD(1,GPT,8b6800c2-0b24-4f00-aa66-b1378052604e,0x800,0xfa000)/File(\EFI\ubuntu15.10\grubx64.efi)
Boot0007* USBboot HD(1,GPT,f887bf87-18a9-40e1-9bca-6c4bfd1cbb4a,0x800,0xc8000)/File(\EFI\USBboot\grubx64.efi)
Boot0008* UEFI: SanDisk PciRoot(0x0)/Pci(0x1d,0x0)/USB(1,0)/USB(4,0)/HD(1,GPT,f887bf87-18a9-40e1-9bca-6c4bfd1cbb4a,0x800,0xc8000)
Eu ainda não descobri como até mesmo conseguir resgatar sem inicializar a partir do drive USB externo. Parece que tenho dois problemas:
- Eu não entendo completamente como configurar o grub para o uso pretendido, como garantir que os módulos necessários estejam incorporados e que o prefixo esteja definido corretamente.
- Eu não tenho a BIOS no ASUS N53J configurado corretamente ou não aceito a configuração do disco rígido como uma configuração de inicialização válida.
Alguma outra ideia? Eu agora isso está ficando bastante longo. Como posso documentar isso para ser mais legível?
Atualização de status
Navegando na Web, descobri grub-mkimage
. Eu não comecei a trabalhar com isso e relatarei o progresso assim que o tiver feito, e posso entender os resultados ou fazer uma nova pergunta sobre isso.