Eu respondi a pergunta do grub durante o upgrade do apt-get corretamente?

3
matt@crucible:~$ lsb_release -a
No LSB modules are available.
Distributor ID: Ubuntu
Description:    Ubuntu 16.04.3 LTS
Release:        16.04
Codename:       xenial

Então ontem à noite eu estava rodando "sudo apt-get upgrade" para atualizar meu sistema quando ele aparecia em alguma tela de entrada baseada em terminal de teclado me perguntando qual (is) paródia (s) de disco para instalar alguma coisa estranha do GRUB. E isso soou como se eu tivesse que escolher a partição certa ou eu entupiria as coisas. Dizia que, se eu não tivesse certeza, deveria pegar todos. Havia quatro entradas na lista (o que parece um pouco estranho para mim, pois acho que só tenho uma unidade de estado sólido nessa máquina em particular e não sei por que teria configurado mais partições do que o absolutamente necessário). Eu odiava copiar copiosamente o grub para partições onde não era necessário.

Eu senti como se de repente eu tivesse sido impedido de entrar em uma realidade alternativa onde eu era o ignorante nazista na cena do filme Indiana Jones e a Última Cruzada, onde eu tive que escolher o Graal certo:

link

Eu encontrei uma página da web (fazendo o papel da linda garota) dizendo que "sda" era "certo" para a maioria das pessoas. Em meu desejo de manter cópias desnecessárias do grub do meu disco, eu corajosamente selecionei apenas a partição "sda" e continuei.

Eu tenho usado o Ubuntu há anos, mas a única vez que eu já mexi com o grub é quando estou montando uma nova caixa. E eu não faço isso há anos. Toda vez que eu instalo, eu tenho que ler atentamente as instruções de instalação para me guiar através da configuração do grub e da partição. Eu não me lembro de como eu configurei as partições nesta máquina mais, ou onde eu coloquei grub. Tudo o que sei sobre o grub é que é um pouco de código que é executado pelo BIOS que permite escolher se você deseja inicializar o Windows ou o Ubuntu. Meus sistemas são apenas para o Ubuntu.

Eu também estava com medo de controlar o processo de atualização, pensando que isso poderia deixar as coisas em um estado do qual uma segunda execução do upgrade do apt-get não poderia ser recuperada. (Uma vez eu interrompi um upgrade e cometi um erro e fiquei vasculhando a internet para saber como se recuperar.)

Então, aqui estão minhas perguntas:

1) Por que eles não adicionaram uma maneira de sair da instalação para que eu pudesse pesquisar a resposta certa?

2) O que teria acontecido se eu tivesse saído do controle?

3) Como posso saber com certeza se "escolhi mal" e meu sistema Ubuntu está agora no processo de penosamente em uma pilha de poeira?

4) Se eu bebi do Graal errado, há alguma recuperação?

update: conforme solicitado, aqui está o log (com algumas novas linhas adicionadas) da atualização do apt-get em questão. Eu vejo quatro linhas com a string "grub". Não tenho certeza qual deles me jogou na tela de entrada do formulário:

Start-Date: 2018-02-22  05:18:50
Commandline: apt-get upgrade
Requested-By: matt (1000)
Upgrade:
    libaudit-common:amd64 (1:2.4.5-1ubuntu2, 1:2.4.5-1ubuntu2.1),
    update-manager-core:amd64 (1:16.04.10, 1:16.04.12),
    uuid-runtime:amd64 (2.27.1-6ubuntu3.3, 2.27.1-6ubuntu3.4),
    libfdisk1:amd64 (2.27.1-6ubuntu3.3, 2.27.1-6ubuntu3.4),
    libapt-inst2.0:amd64 (1.2.24, 1.2.25),
    libsystemd0:amd64 (229-4ubuntu21, 229-4ubuntu21.1),
    grub-common:amd64 (2.02~beta2-36ubuntu3.15, 2.02~beta2-36ubuntu3.16),
    apt:amd64 (1.2.24, 1.2.25),
    libparted2:amd64 (3.2-15, 3.2-15ubuntu0.1),
    libmount1:amd64 (2.27.1-6ubuntu3.3, 2.27.1-6ubuntu3.4),
    util-linux:amd64 (2.27.1-6ubuntu3.3, 2.27.1-6ubuntu3.4),
    libnuma1:amd64 (2.0.11-1ubuntu1, 2.0.11-1ubuntu1.1),
    grub2-common:amd64 (2.02~beta2-36ubuntu3.15, 2.02~beta2-36ubuntu3.16),
    udev:amd64 (229-4ubuntu21, 229-4ubuntu21.1),
    resolvconf:amd64 (1.78ubuntu5, 1.78ubuntu6),
    libapt-pkg5.0:amd64 (1.2.24, 1.2.25),
    grub-pc:amd64 (2.02~beta2-36ubuntu3.15, 2.02~beta2-36ubuntu3.16),
    libudev1:amd64 (229-4ubuntu21, 229-4ubuntu21.1),
    libapparmor1:amd64 (2.10.95-0ubuntu2.7, 2.10.95-0ubuntu2.8),
    mount:amd64 (2.27.1-6ubuntu3.3, 2.27.1-6ubuntu3.4),
    grub-pc-bin:amd64 (2.02~beta2-36ubuntu3.15, 2.02~beta2-36ubuntu3.16),
    gcc-5-base:amd64 (5.4.0-6ubuntu1~16.04.6, 5.4.0-6ubuntu1~16.04.9),
    libblkid1:amd64 (2.27.1-6ubuntu3.3, 2.27.1-6ubuntu3.4),
    libapparmor-perl:amd64 (2.10.95-0ubuntu2.7, 2.10.95-0ubuntu2.8),
    python3-update-manager:amd64 (1:16.04.10, 1:16.04.12),
    systemd-sysv:amd64 (229-4ubuntu21, 229-4ubuntu21.1),
    libuuid1:amd64 (2.27.1-6ubuntu3.3, 2.27.1-6ubuntu3.4),
    libpam-systemd:amd64 (229-4ubuntu21, 229-4ubuntu21.1),
    parted:amd64 (3.2-15, 3.2-15ubuntu0.1),
    systemd:amd64 (229-4ubuntu21, 229-4ubuntu21.1),
    libsmartcols1:amd64 (2.27.1-6ubuntu3.3, 2.27.1-6ubuntu3.4),
    apt-utils:amd64 (1.2.24, 1.2.25),
    sosreport:amd64 (3.4-1~ubuntu16.04.1, 3.5-1~ubuntu16.04.2),
    bsdutils:amd64 (1:2.27.1-6ubuntu3.3, 1:2.27.1-6ubuntu3.4),
    apparmor:amd64 (2.10.95-0ubuntu2.7, 2.10.95-0ubuntu2.8),
    apt-transport-https:amd64 (1.2.24, 1.2.25),
    linux-firmware:amd64 (1.157.15, 1.157.16),
    libstdc++6:amd64 (5.4.0-6ubuntu1~16.04.6, 5.4.0-6ubuntu1~16.04.9),
    cloud-guest-utils:amd64 (0.27-0ubuntu24, 0.27-0ubuntu25),
    libaudit1:amd64 (1:2.4.5-1ubuntu2, 1:2.4.5-1ubuntu2.1)
End-Date: 2018-02-22  05:28:30

Aqui estão algumas saídas do lsblk que podem ser úteis:

matt@crucible:~$ sudo lsblk -o NAME,FSTYPE,SIZE,MOUNTPOINT,LABEL
NAME                  FSTYPE        SIZE MOUNTPOINT LABEL
sda                               111.8G
├─sda1                ext2          487M /boot
├─sda2                                1K
└─sda5                LVM2_member 111.3G
  ├─charon--vg-root   ext4        103.6G /
  └─charon--vg-swap_1 swap          7.7G [SWAP]

Estou bem certo de que selecionei a primeira entrada no grub-form e que ela foi rotulada como "sda". Eu também lembro da segunda entrada sendo rotulada como "sda1". Mas isso me parece estranho, já que me parece que "sda" é o nome de uma unidade e "sda1" é o nome de uma partição nessa unidade. Estou confuso.

    
por Matthew Busche 22.02.2018 / 22:19

2 respostas

2

Bem, geralmente preferimos uma pergunta por vez. Mas para você hoje ...

1) Eles fizeram, tipo de. Você sempre pode abrir uma nova janela do Terminal ou abrir um TTY diferente ou abrir uma nova sessão SSH. Se você souber como contornar o comando dpkg-reconfigure , provavelmente poderá encontrar essa tela novamente.

2) Se você CTRL + C (abortar) a instalação, o sistema simplesmente irá importuná-lo para atualizar novamente amanhã. O sistema continuará incomodando você até que você concorde, até que você ajuste o pacote, ou até que você desinstale o pacote que faz o pestering. Geralmente, como você sabe, a melhor opção é instalar a atualização.

3) e 4) parecem basicamente a mesma pergunta. Se você instalar o GRUB na partição incorreta (uma partição que não seja de inicialização), ela poderá ser corrigida.

Antes de desligar seu sistema para testar seu novo GRUB, certifique-se de fazer backup de seus dados e de ter um LiveUSB à mão. Sendo a Lei de Murphy o que é, essas precauções básicas fazem toda a diferença entre o que se revelou ser-nada-nada versus uma tarde muito infeliz.

    
por user535733 22.02.2018 / 23:05
1

sda é o local correto para a instalação do carregador de inicialização no seu caso.

Sua saída de lsblk indica que seu sistema está instalado no modo legado (antigo esquema de particionamento do MBR).

Instalar o carregador de inicialização em sda significa instalá-lo no registro mestre de inicialização da unidade (o primeiro setor da unidade). Você precisa disso para inicializar seu sistema.

Se você instalasse o carregador de inicialização em uma partição (por exemplo, sda1 ), o carregador de inicialização seria instalado no primeiro setor da partição e não seria possível inicializar diretamente a partir desse local. Instalar o carregador de boot em uma partição faz sentido se você tiver mais de um sistema operacional instalado, portanto, um dos sistemas operacionais tem seu carregador de inicialização no MBR, os outros em seu PBR (Partition Boot Record) e eles podem ser encadeados. -carregado.

    
por mook765 23.02.2018 / 10:29