Como instalar o Grub2 sob vários cenários comuns

3

Eu sinto que a comunidade há muito precisava de um guia limpo sobre como instalar o Grub2 em alguns cenários extremamente comuns. Aceito a resposta como resolvida quando tem uma seção por cenário e não assume nada além do que é especificado. Por favor adicione à resposta existente, estilo wiki, seguindo as suposições originais.

Regras:
 1. Você não pode, em qualquer ponto da resposta, invocar Ubiquity (o instalador do Ubuntu).
 2. Eu recomendo strongmente não usar ferramentas de reparo automático, já que elas não são muito educativas

Cenário 1: sistema operacional Linux sem inicialização, sem partição de inicialização, correção do Live CD

Configuração:

  • /dev/sda1 está formatado ext*
  • /dev/sda2 está formatado linux_swap
  • /dev/sda1 não inicializa porque o MBR está embaralhado e /boot/grub/* foi apagado
  • Seria o equivalente de executar rm -rf /boot/grub e dd if=/dev/zero of=/dev/sda bs=440 count=1

Explique:

  • Como inicializar um Live CD / USB e restaurar o Grub2 para o MBR e /boot de /dev/sda1

Cenário 2: sistema operacional Linux sem inicialização, partição de inicialização, correção a partir do Live CD

Configuração:

  • /dev/sda1 está formatado fat
  • /dev/sda2 está formatado ext*
  • /dev/sda3 está formatado linux_swap
  • /dev/sda2 não inicializa porque o MBR está embaralhado e /dev/sda1 foi formatado

Explique:

  • Como inicializar um Live CD / USB e restaurar o Grub2 para o MBR e /dev/sda1 e, em seguida, atualizar o fstab on /dev/sda2

Cenário 3: Instalar no pen drive, Inicializando vários sistemas operacionais, Do sistema operacional Linux

Configuração:

  • /dev/sdb é mídia removível
  • /dev/sdb1 está formatado fat
  • /dev/sdb2 está formatado ext*
  • /dev/sdb3 está formatado fat
  • O MBR de /dev/sdb não é inicializado
  • Você está executando a partir de um SO baseado em Linux instalado em /dev/sda

Explique:

  • Como instalar o Grub2 em /dev/sdb1 , marque /dev/sdb1 active, seja capaz de escolher entre /dev/sdb2 e /dev/sdb3 na inicialização.

Cenário 4: (Bônus) Instalar no pen drive, Inicializando ISO, Do sistema operacional Linux

Configuração:

  • /dev/sdb é mídia removível
  • /dev/sdb1 está formatado fat
  • /dev/sdb1 contém /iso/live.iso
  • /dev/sdb2 está formatado ext*
  • /dev/sdb3 está formatado fat
  • O MBR de /dev/sdb não é inicializado
  • Você está executando a partir de um SO baseado em Linux instalado em /dev/sda

Explique:

  • Como instalar o Grub2 em /dev/sdb1 , marcar /dev/sdb1 active, ser capaz de escolher entre /dev/sdb2 , /dev/sdb3 e /iso/live.iso na inicialização.
por Huckle 08.10.2012 / 01:13

1 resposta

3

Informações gerais sobre comandos relacionados ao Grub2

  • grub-install

    1. sudo grub-install /device
      O /device refere-se à unidade física em que o Grub grava os executáveis do grub principal no MBR ou Partition Boot Record of. Os dispositivos no formato /dev/sd[a-z] terão o MBR gravado e os dispositivos no formato /dev/sd[a-z][0-9] terão o PBR gravado. A principal diferença é que o hardware sempre executa o que está no MBR e então cabe ao código determinar se o PBR é ou não executado. Existem setups onde é possível instalar algo diferente do Grub2 no MBR (digamos, grub legacy) e ter esse load Grub2 que é instalado no PBR de uma das partições. Em geral, no entanto, é recomendável instalar o Grub2 no MBR usando /dev/sd[a-z] . Esta opção é necessária para todas as formas do comando.
    2. sudo grub-install {--no-floppy|--allow-floppy} /device
      Esses dois sinalizadores podem ser usados com qualquer outra variação da linha de comando grub-install . A primeira opção --no-floppy foi usada para dizer ao grub para não procurar por disquetes que reduzissem o tempo total de execução. Cópias mais recentes do Grub agora têm a opção --allow-floppy para habilitar especificamente esse recurso, já que o padrão agora é não procurar por disquetes.
    3. sudo grub-install [--force] /device
      Adicionar a opção --force simplesmente permite a instalação do Grub em um Registro de Inicialização de Partição em vez do Registro de Inicialização Principal. Normalmente este comportamento não é permitido. As razões pelas quais alguém pode fazer isso podem ser detalhadas em um dos cenários abaixo.
    4. sudo grub-install [--recheck] /device
      Isso regenera o arquivo /boot/grub/device.map que é usado [FILL THIS IN IN]
    5. %código% Esta opção é usada se você quiser especificar o firmware específico executado na inicialização. Existem variantes para o BIOS vs UEFI e para x86 x x64. Se você estiver usando o BIOS e instalando o Grub2 na mesma máquina que planeja iniciar, isso é completamente opcional e é recomendável deixar o Grub2 detectar isso sozinho.
  • sudo grub-install [--target=] /device

    1. grub-mkconfig
      Este é o formulário padrão para este comando. Isso fará com que cada um dos scripts em sudo grub-mkconfig -o /boot/grub/grub.cfg seja executado, em ordem, e acrescente a saída de todos eles ao arquivo especificado pela opção /etc/grub.d . A localização do arquivo depende do tipo de instalação ou reparo que está sendo feito. Veja a entrada para -o file
  • grub/grub.cfg

    1. grub-update
      Essa é a única forma na qual sudo grub-update [*] pode ser chamado. É apenas um wrapper para grub-update , o que significa que grup-mkconfig -o /boot/grub/grub.cfg deve ser montado para que funcione. Todos os argumentos são passados diretamente para /boot

Plano de fundo geral dos arquivos relacionados do Grub2

  • grub-mkconfig (opcional)
    [ENCHE ISTO]

  • /boot/grub/device.map (obrigatório)
    Este é o principal executável do grub2. [PREENCHER MAIS]

  • /boot/grub/core.img (principalmente obrigatório)
    Este arquivo é o arquivo onde todas as entradas de menu para o grub são lidas. É gerado com uma lista de scripts em grub/grub.cfg do sistema operacional a partir do qual o grub foi instalado (pode ou não ser aquele que o grub eventualmente inicializará). Veja as entradas para /etc/grub.d . Este arquivo será sobrescrito no caso em que (o Grub tiver uma atualização E grub-mkconfig esteja montado) OU ( /boot seja executado) OU ( grub-update seja executado). Esse arquivo é listado com um caminho relativo, porque exatamente onde ele reside depende se você estiver instalando ou reparando. Se estiver reparando, a partição que contém grub-mkconfig -o /boot/grub/grub.cfg precisará ser montada em algum lugar, digamos /boot . Nesse caso, o caminho será /mnt/boot . Se estiver instalando em um sistema linux já inicializado, o caminho será /mnt/boot/grub/grub.cfg . Caso este arquivo esteja faltando, ainda é possível inicializar através do shell de comando do grub. Isso está fora do escopo deste documento (portanto, o principalmente exigido).

Cenário 1: sem partição de inicialização

  1. Inicialize um CD ativo, USB ou outro ambiente Linux

Cenário 2: partição de inicialização

  1. Inicialize um CD ativo, USB ou outro ambiente Linux

Cenário 3: Thumb Drive

  1. Anexar unidade USB ao ambiente Linux existente
  2. Crie um ponto de montagem para /boot/grub/grub.cfg & amp; montá-lo
  3. Instale o grub no MBR do /dev/sdb1
  4. ???

Comandos:

# Step 2
sudo mkdir /mnt/usb-boot-part
sudo mount /dev/sdb1 /mnt/usb-boot-part
# Step 3
sudo grub-install --boot-directory=/mnt/usb-boot-part /dev/sdb

Cenário 4: dispositivos de loopback

  1. Anexar unidade USB, do cenário 3, ao ambiente Linux existente

Sites realmente informativos

  1. [Assunto]: Link
por Huckle 13.10.2012 / 17:33