Recentemente, atualizei meu PC, minha nova placa-mãe (ASUS M5A99X EVO) usa UEFi em vez da opção MBR comum.
Eu tenho uma instalação do Ubuntu 11.10 que fiz quando tinha meu hardware anterior (MSI MS 7267), apenas o Ubuntu inicializa bem, e o Windows 7 também; no entanto, o Windows 7, no entanto, o Windows 7 está usando a inicialização UEFI (GPT), enquanto o Ubuntu está usando o MBR.
Eu tenho meus sistemas operacionais em unidades separadas, para que o GRUB2 não seja substituído pelo Windows Bootloader e vice-versa, como eu disse que os dois sistemas operacionais inicializam bem por conta própria, mas para fazer isso, preciso desconectar uma unidade, neste caso, a unidade Ubuntu como impede que o Windows seja carregado.
Agora, minha pergunta é: como posso alterar / converter a unidade do Ubuntu para que, em vez de usar o MBR, use GPT e permita que o Windows inicialize ?.
De preferência sem reinstalar o sistema inteiro ou perder dados.
E se eu limpasse a unidade, como posso instalar o Ubuntu na GPT, UEFI, qualquer que seja o modo?
Eu usei o gdisk para converter de MBR para GPT, mas agora o Ubuntu não pode inicializar parece que o grub simplesmente não inicia.
Eu reinstalei o sistema operacional e a unidade agora é GPT por padrão, mas grup-pc
ainda está sendo usada em vez de grub-efi
.
Como posso fazer o Ubuntu inicializar a partir da EFI ?.
Respostas:
Índice:
Terminologia
BIOS = Sistema básico de entrada / saída
(U) EFI = Interface de firmware extensível (unificada)
MBR = Registro mestre de inicialização
Tabela de partição GPT = GUID
UEFI / EFI / BIOS = Interface de Firmware
MBR / GPT = Como o computador sabe (por disco rígido) quais partições estão na unidade e como inicializá-las.
UEFI / BIOS
Uma interface de firmware é a maneira como o firmware (o software dentro dos dispositivos) e o sistema operacional interagem. Inicializa o hardware, executa o sistema operacional e garante que os drivers do sistema operacional possam operar o hardware.
O BIOS tem sido a interface de firmware usual usada. O UEFI é uma interface mais nova que possui vários recursos, como ser mais rápido, ter uma GUI e poder iniciar a placa de rede e obter um endereço IP. UEFI substitui EFI. (Aqueles que desenvolviam a EFI viram que havia outras pessoas fazendo algo semelhante e, assim, juntaram-se a elas, trazendo as idéias da EFI com elas. Isso se tornou a UEFI).
Um BIOS exige que o carregador de inicialização esteja no início do disco, no entanto, um UEFI usa uma partição para isso e pode escolher entre vários carregadores de inicialização para usar.
MBR / GPT + GRUB
O MBR é uma seção de código no início do disco que contém um carregador de inicialização (para o BIOS), além do mapa da partição e um identificador de disco exclusivo.
Para instalar o GRUB em um disco com um MBR, o GRUB coloca um pequeno programa no MBR para carregar o restante do GRUB de outra parte do disco. (Isso é feito porque o MBR é muito pequeno para conter todo o GRUB). O espaço escolhido é o espaço entre o MBR e a primeira partição, que geralmente existe.
GPT é um padrão para como as partições são especificadas. Ele possui um MBR 'protetor', no entanto, isso é apenas para permitir que computadores baseados no BIOS inicializem e parem ferramentas que apenas conhecem o MBR de tentarem lixeira na GPT. Pode ter
(O modo como o GPT é tratado depende se está inicializando usando um BIOS (ou sistema UEFI no modo de emulação de BIOS) ou UEFI. Vou me concentrar no UEFI no que se refere à questão).
Os carregadores de inicialização para sistemas operacionais são armazenados em uma seção chamada EFI System Partiton, que é formatada (geralmente) com FAT32. É aqui que o GRUB está instalado.
Convertendo
Primeiro...
Estamos brincando com a tabela de partições, portanto, segurança garantida não é possível. É uma operação arriscada. No entanto, o método não deve perder dados.
Outros que se deparam com isso: Não use em Apple Macs.
Agora...
Você precisará fazer isso em um CD ao vivo (ou em outra instalação do linux instalada em um disco diferente.)
Ao lidar com discos GPT, precisamos usar um programa compatível com GPT. 'GPT fdisk' é uma boa ferramenta para usar e o que vou usar. Pode ser chamado
gptfdisk
ougdisk
dependendo da distribuição (o Ubuntu chamagdisk
). O Parted (e o Gparted) também reconhece a GPT, portanto, pode 'ser usado com segurança' com discos da GPT.Para converter você precisa:
1) Redimensionar partição
Use
parted
(linha de comando) ougparted
(GUI) para redimensionar a primeira e a última partição. A primeira partição deve ter cerca de 200MiB antes e a última partição deve ter 1MiB a 2MiB (qualquer um servirá) retirado do final.2) Converta o disco
Corre
alterar o dispositivo que você deseja converter é
/dev/sdx
.Ele deve informar que ele converterá a tabela de partições.
Agora adicione uma nova partição, tornando-a do tipo 'sistema EFI'. Ele deve encontrar o espaço livre no início (sugiro um número baixo de setor como 34) e usar automaticamente todo o espaço livre. Os exemplos usam uma unidade flash USB de 4 GB com uma partição já existente, redimensionada conforme acima.
Agora você deve ter a partição EFI.
Então saia
gdisk
Agora use Gparted (ou linha de comando
mkfs.vfat
) para formatar a partição como FAT32.3) Instale o GRUB
Isso vem com menos garantias de que a parte anterior, como eu ainda não tentei.
Não tenho certeza sobre esta etapa, portanto, acho que usando as instruções do RAOF :
Você deve descobrir qual versão do grub-efi instalar com
Se ele diz
EFI32
instalar ogrub-efi-ia32
pacote, se ele dizEFI64
instalar ogrub-efi-amd64
pacote. Você pode instalar os pacotes comProvavelmente, isso só funcionará se você inicializou no modo EFI.
Se não funcionar, você pode tentar estas instruções passo a passo (em "Instalar o GRUB2 em sistemas (U) EFI") depois de
grub-efi
instalado.Configurando (+ Dual Boot)
Se as instruções do RAOK funcionarem, você poderá adicionar a seguinte linha ao
/etc/grub.d/40_custom
Parte do princípio que o Windows é reconhecido
hd0
pelo GRUB. Pode ser necessário mudar parahd1
para funcionar.Agora corra
para atualizar o arquivo de configuração.
Referências e leituras adicionais
Eu usei várias fontes.
fonte
grub-pc
e instalargrub-efi
enquanto estiver no CD ao vivo (antes de instalar, talvez?)?Esta resposta está incompleta; Eu não testei nada disso. É improvável que você coma seus dados, mas você foi avisado!
O que eu acho que está acontecendo aqui é que o BIOS está inicializando preferencialmente a partir do MBR herdado, de modo que o velho UEFI Windows 7 está ficando esquecido.
Uma das coisas boas do UEFI é que você não precisa mais se preocupar com a substituição do GRUB pelo Windows; ambos devem coexistir bem na partição EFI. Uma opção seria, portanto, mudar para
grub-efi
. Nota: Não tenho certeza segrub-efi
entende partições no estilo MSDOS; Eu acho que sim. Caso contrário, isso falhará na inicialização e você precisará de um LiveCD para se recuperar. De fato, tenha um LiveCD à mão de qualquer maneira!Para mudar para o que
grub-efi
você deseja/boot/efi
. Adicione isto a/etc/fstab
¹grub-efi
pacoteUEFI and Legacy
paraUEFI only
(ou uma opção semelhante)Isso deve deixar você com uma instalação do Ubuntu inicializando com UEFI. Caso contrário, inicialize o seu LiveCD confiável (ou o CD de instalação alternativa do Ubuntu - a opção “Corrigir um sistema quebrado” é o que você procura ☺), faça o chroot no sistema e instale
grub-pc
novamente.Nota: Mais detalhes para esta etapa: você precisará encontrar o que o kernel do Linux chama de partição do sistema EFI. Isso vai ser algo como
/dev/sda2
,/dev/sdb3
ou such². Você precisará criar o/boot/efi
diretório e adicionar uma linha a/etc/fstab
. Se a sua partição EFI for/dev/sdb3
, adicione a seguinte linha:Depois de executar,
sudo mount /boot/efi
você deve descobrir que/boot/efi
contém umEFI
diretório, com um subdiretório para Windows 7.²: Como você possui vários discos rígidos, pode ser uma boa idéia descobrir o UUID da partição, pois ele será estável com a adição / remoção de discos rígidos, enquanto o
/dev/sda2
nome não garante que não mude. Isso pode ser feito depois que você terminar de configurar todo o resto.Você pode encontrar o UUID olhando
/dev/disk/by-uuid
. Por exemplo, eu recebo:No meu caso, eu sei que
/dev/sda1
é a minha partição do sistema EFI, então eu tenhono meu
/etc/fstab
.fonte
Disk utility
programa. Até que você encontre e monte sua partição EFI,grub-efi
não será capaz de funcionar - ele precisa colocar seu carregador de inicialização na partição do sistema EFI.sudo grub-install
esudo update-grub
para realmente instalar e configurar o GRUB na partição EFI. Você precisará fazer isso após fazer o chroot na sua instalação (porque precisa saber coisas sobre a instalação no disco rígido). Se você precisar de ajuda para fazer isso, posso adicionar detalhes à resposta.create partition efi
. Para obter informações sobre diskpart, consulte technet.microsoft.com/en-us/library/cc766465%28WS.10%29.aspxIsso é ideal, então é provável que você tenha pelo menos uma partição primária livre na tabela de partições.
Você não precisa converter MBR para GPT para fazer a inicialização UEFI, basta criar uma partição FAT primária, instalar o
grub-efi-amd64-bin
pacote e siga as instruções em Adicionar um ESP a uma instalação existente com MBR, que deve funcionar com as versões atuais do Ubuntu.fonte
diskpart
,dism /apply-image
e depoisbcdboot
(mais opções em ambos os aqueles, claro) para torná-lo instalar mbr ou GPT, independentemente de como você iniciou.Para complementar a resposta do Portablejim (o que realmente me ajudou a converter do MBR para o GPT, obrigado!), Você pode usar o Boot-Repair para reinstalar o grub. Funcionou como um encanto para reparar minha inicialização depois que não consegui concluir a etapa 3 e mais uma vez quando a instalação do Windows 10 fez a opção de inicialização do linux desaparecer.
fonte