AskOverflow.Dev

AskOverflow.Dev Logo AskOverflow.Dev Logo

AskOverflow.Dev Navigation

  • Início
  • system&network
  • Ubuntu
  • Unix
  • DBA
  • Computer
  • Coding
  • LangChain

Mobile menu

Close
  • Início
  • system&network
    • Recentes
    • Highest score
    • tags
  • Ubuntu
    • Recentes
    • Highest score
    • tags
  • Unix
    • Recentes
    • tags
  • DBA
    • Recentes
    • tags
  • Computer
    • Recentes
    • tags
  • Coding
    • Recentes
    • tags
Início / unix / Perguntas / 775092
Accepted
eyoung100
eyoung100
Asked: 2024-04-24 01:58:24 +0800 CST2024-04-24 01:58:24 +0800 CST 2024-04-24 01:58:24 +0800 CST

Instalando múltiplas partições EFI sem desconectar as unidades instaladas

  • 772

Por favor, não mova esta questão para o SuperUser. Minha pergunta está relacionada à manipulação da partição EFI, que não é inerente ao Windows.

Fundo

Encontrei um problema com UEFI e versões do sistema operacional e gostaria de ajuda. De forma alguma isso é um anúncio para meu OEM ou uma preferência por sistemas operacionais, mas estou usando-os para fornecer uma descrição completa do problema. Recentemente, encontrei o Xidax , um construtor OEM para sistemas de jogos. Também utilizo o sistema que eles construíram para experimentação em Linux e SO, além de jogos. Eu costumava construir o meu próprio, mas a idade e a deficiência prejudicaram gravemente a força das minhas mãos e a minha paciência, e é aí que começa esse problema.

Emitir

Meu sistema é construído com uma placa-mãe MSI com suporte para UEFI, SecureBoot, etc. (construída recentemente). Substituí o carregador UEFI padrão do MS Windows por rEFInd . Este gerenciador de inicialização EFI me permite inicializar os seguintes sistemas operacionais, todos em unidades diferentes:

  1. Windows 11 M2 - 1 TB (também onde está a partição EFI)
  2. GentooLinux
  3. FreeBSD 12 ou 13 (que removi porque não o tocava ou atualizava há anos)

Depois de remover o número 3, agora tenho uma unidade vazia (8 TB de tamanho) e decidi tentar algo que nunca tinha feito. Instalei o Windows 11 nos 8 TB vazios na esperança de "convertê-lo" no AtlasOS atual . O Windows Installer encontrou corretamente a partição EFI em minha unidade M2 ​​e adicionou a entrada ao Windows Loader (WinLoad.efi). Agora tenho um menu de inicialização baseado winloader(na tela branca e azul) com 2 opções para o Widows 11.

Versões lado a lado do Linux

Esquecendo por um momento que este é o Windows e lembrando que não posso desconectar a primeira instalação para enganar a segunda instalação para construir uma partição EFI (devido a deficiência) na segunda unidade e usar o seguinte cenário:

  1. Substitua o Word Windows acima por uma distribuição Linux
    • Por causa deste exemplo, escolherei Ubuntu
  2. Instale gruba cópia 1 do Ubuntu versão X na única partição EFI
  3. Instale gruba cópia 2 do Ubuntu versão X na única partição EFI

Agora, percebendo que superei as primeiras instalações grubcom a segunda porque há apenas uma ubuntupasta na partição EFI, estou preso, pois gostaria de acessar as duas cópias independentemente uma da outra. Para obter um exemplo do tipo de correção que preciso implementar de uma maneira diferente, consulte No rEFInd, preciso de 2 ícones de sistema operacional diferentes para 2 instâncias do mesmo sistema operacional (Ubuntu-MATE) .

Para fazer isso no Windows/rEFInd, comecei com: Booting Multiple Windows Installations from a Third-Party Boot Manager . Se você observar as etapas "7 Entrando no Windows foi ...", isso é exatamente o que preciso fazer para chegar a qualquer versão até consertar isso.

Estou tentando fazer isso com apenas 1 partição EFI, antes de usar a segunda resposta em Instalando o rEFInd em uma máquina com inicialização dupla com Windows 10 (viu por que não quero movê-lo agora?). Prefiro não ter partições EFI em todas as minhas unidades, se puder.

Tentativa de correção

  1. A partir de um prompt de comando do Windows, emitido mountvol b: /s.
    • Funcionou, fiz isso na primeira vez que instalei rEFIndsem acesso ao meu Gentoo Install
  2. mkdir b:\EFI\Win10e mkdir b:\EFI\AtlasOS.
    • Funcionou de novo, mas eles estão vazios e com certeza não quero estragar minha partição EFI.
  3. Primeiroxcopy /s b:\EFI\Microsoft\Boot b:\EFI\win10
    • Bem, atire , isso falhou Sharing Violation. O que?!?! Espere, eu não executei o prompt como Administrador e minha conta não está no Grupo de Administradores... verificando... sim Ah, espere, a Microsoft acha que sou estúpido por querer alterar o EFI manualmente em uma máquina que eu TER. Mas espere, posso editá-lo na minha instalação do Gentoo assim:
  4. Reinicializado no Gentoo
  5. Montadoboot
  6. Aberto gpartedporque nunca consigo lembrar o /devnome da partição EFI
  7. Mounteditou a partição EFI para/boot/efi
  8. Cded para/boot/efi/EFI/Microsoft/Boot
  9. Emitido cp -xa . /boot/EFI/Win10e o mesmo para AtlasOS
  10. Reinstalado grubporque tive que inicializar o kernel diretamente do rEFInd.

Agora finalmente cheguei à etapa de alterar o BCD, voltando ao Windows. Naquela hora eram 12h30 da noite passada e eu precisava dormir, então decidi vir aqui e pedir conselhos/ajuda.

Questões

Como eu disse, prefiro ter 1 partição EFI, então gostaria de modificar um pouco essa correção perguntando o seguinte:

  1. Quais são os princípios básicos que precisam estar presentes /boot/efi/EFI/{Win10,AltlasOS}para que a inicialização ocorra de forma limpa?
    • cp -xade fato replicou, xcopymas quando reiniciei para iniciar no BCD, notei todos os tipos de arquivos, etc., listados no rEFIndmenu do. Não quero ter que esconder todos eles quando possivelmente são centenas.
  2. Existe uma maneira mais fácil de dividir as entradas do que a abordagem que escolhi?
  3. Como eu trato uma atualização para a partição EFI no futuro, ou seja, as adições manuais precisarão ser lidas se o Windows Update decidir enviar uma atualização para o EFI/BCD?
windows
  • 1 1 respostas
  • 32 Views

1 respostas

  • Voted
  1. Best Answer
    eyoung100
    2024-05-01T06:33:30+08:002024-05-01T06:33:30+08:00

    Estou fornecendo a abordagem que usei aqui para evitar o incômodo que passei para outros leitores que possam passar por esta página.

    Solução que escolhi

    Depois de lutar por quase 2 semanas, incluindo fins de semana, e descobrir:

    O problema é que bootloaders de terceiros normalmente criam entradas de menu com base nas pastas encontradas no diretório EFI. Como há apenas uma pasta para o Windows, apenas um item de menu aparece. O truque é criar duas pastas separadas para o Windows - cada uma inicializando uma versão específica.

    E a nota seguinte:

    Observe que tudo isso se aplica apenas se a segunda instalação do Windows encontrar o ESP original e atualizá-lo. Se você desconectar a unidade ESP original ao instalar a segunda versão do Windows, ele criará um novo ESP na unidade de instalação e seu gerenciador de inicialização deverá encontrar ambos quando você reconectar a unidade original. Neste caso, você obterá automaticamente duas entradas de menu.

    Decidi usar uma variação da abordagem descrita na resposta de Sachithm , embora essa não fosse minha intenção original. É uma pena que ele não tenha mais respostas, pois esta foi completa e compreensível. Listarei minha abordagem em ordem, juntamente com uma seção de advertências a seguir.

    1. Exclua todas as partições atuais e crie uma tabela de partição GPT vazia na unidade agora vazia usada no número 2 abaixo.
    2. Monte um HDD/SSD vazio e crie 2 partições
      • Neste caso, uma partição era FAT32 e a outra era NTFS, mas a abordagem funcionaria com 2 Ubuntus idênticos, digamos, ou um Debian/Arch etc.
    3. Rotule as partições
      • Este é importante ! A rotulagem adequada da partição FAT32 EFI e da partição do novo sistema operacional ajudará a evitar erros do usuário no programa instalador do sistema operacional. Tradução à prova de idiotas: rotule suas unidades/partições para evitar a formatação das instalações que deseja manter.
    4. Opcional, mas altamente recomendado: ao usar os mesmos tipos de sistema de arquivos para instalações lado a lado, oculte as instalações umas das outras. Consulte Advertências.
    5. Se você não criou 2 partições na Etapa 2, use um software de particionamento como o GParted para redimensionar a partição e criar espaço. Veja advertências
    6. Use as etapas descritas no link da Resposta I, mas pule os comandos que envolvem shrink. Esta é apenas minha opinião pessoal: nunca confiei em ferramentas baseadas na Microsoft para gerenciar operações de partição sem destruir de alguma forma os dados dentro das próprias partições.

    Ressalvas

    Vou listá-los como Problema seguido de Motivo:

    1. RE: 4 - Ocultando Partições
      • Na verdade, tive que realizar o procedimento descrito acima duas vezes. Isso pode não afetar as instalações lado a lado do Linux tão severamente quanto o Windows, mas graças à implementação de segurança da Microsoft durante minha primeira tentativa de instalação, na qual minhas instalações não foram ocultadas, perdi a instalação do AtlasOS após abri-lo no Windows 11, devido à maneira como os GUIDs atribuídos à conta não podem se misturar
        • Depois de aprovar a solicitação do UAC para visualizar a nova instalação, você substitui o novo GUID do administrador pelo GUID do administrador da instalação antiga.
        • Observe que a nova instalação será inicializada, mas tudo que envolve instalações ou atualizações será quebrado
    2. RE: 5 - Criando Partições.
      • Como não consegui desconectar os cabos da unidade antes de instalar, o Windows Installer usou a partição inteira na primeira vez (acreditei erroneamente que o instalador criaria uma segunda partição EFI sem intervenção, e é por isso que postei esta pergunta.
        • Escrevo isso aqui apenas para que os leitores saibam que devem pegar mais do que uma xícara de café. Recuperar 200 MB para usar como partição EFI em uma unidade de 8 Terabytes levou entre 37 e 40 horas, usando Netboot.xyz e GParted
    • 0

relate perguntas

  • O Kali Linux está instalado, mas não aparece no gerenciador de inicialização

  • Não é possível executar arquivos .exe

  • Funções do Git que requerem SSH quebradas no Cygwin

  • Como definir variáveis ​​de ambiente para plink.exe?

  • Instale o grub na partição do Windows 7 no Kali Linux

Sidebar

Stats

  • Perguntas 205573
  • respostas 270741
  • best respostas 135370
  • utilizador 68524
  • Highest score
  • respostas
  • Marko Smith

    Possível firmware ausente /lib/firmware/i915/* para o módulo i915

    • 3 respostas
  • Marko Smith

    Falha ao buscar o repositório de backports jessie

    • 4 respostas
  • Marko Smith

    Como exportar uma chave privada GPG e uma chave pública para um arquivo

    • 4 respostas
  • Marko Smith

    Como podemos executar um comando armazenado em uma variável?

    • 5 respostas
  • Marko Smith

    Como configurar o systemd-resolved e o systemd-networkd para usar o servidor DNS local para resolver domínios locais e o servidor DNS remoto para domínios remotos?

    • 3 respostas
  • Marko Smith

    apt-get update error no Kali Linux após a atualização do dist [duplicado]

    • 2 respostas
  • Marko Smith

    Como ver as últimas linhas x do log de serviço systemctl

    • 5 respostas
  • Marko Smith

    Nano - pule para o final do arquivo

    • 8 respostas
  • Marko Smith

    erro grub: você precisa carregar o kernel primeiro

    • 4 respostas
  • Marko Smith

    Como baixar o pacote não instalá-lo com o comando apt-get?

    • 7 respostas
  • Martin Hope
    user12345 Falha ao buscar o repositório de backports jessie 2019-03-27 04:39:28 +0800 CST
  • Martin Hope
    Carl Por que a maioria dos exemplos do systemd contém WantedBy=multi-user.target? 2019-03-15 11:49:25 +0800 CST
  • Martin Hope
    rocky Como exportar uma chave privada GPG e uma chave pública para um arquivo 2018-11-16 05:36:15 +0800 CST
  • Martin Hope
    Evan Carroll status systemctl mostra: "Estado: degradado" 2018-06-03 18:48:17 +0800 CST
  • Martin Hope
    Tim Como podemos executar um comando armazenado em uma variável? 2018-05-21 04:46:29 +0800 CST
  • Martin Hope
    Ankur S Por que /dev/null é um arquivo? Por que sua função não é implementada como um programa simples? 2018-04-17 07:28:04 +0800 CST
  • Martin Hope
    user3191334 Como ver as últimas linhas x do log de serviço systemctl 2018-02-07 00:14:16 +0800 CST
  • Martin Hope
    Marko Pacak Nano - pule para o final do arquivo 2018-02-01 01:53:03 +0800 CST
  • Martin Hope
    Kidburla Por que verdadeiro e falso são tão grandes? 2018-01-26 12:14:47 +0800 CST
  • Martin Hope
    Christos Baziotis Substitua a string em um arquivo de texto enorme (70 GB), uma linha 2017-12-30 06:58:33 +0800 CST

Hot tag

linux bash debian shell-script text-processing ubuntu centos shell awk ssh

Explore

  • Início
  • Perguntas
    • Recentes
    • Highest score
  • tag
  • help

Footer

AskOverflow.Dev

About Us

  • About Us
  • Contact Us

Legal Stuff

  • Privacy Policy

Language

  • Pt
  • Server
  • Unix

© 2023 AskOverflow.DEV All Rights Reserve