Como você executa o update-grub?

25

Entrei no Live CD e ativei o Terminal. Em seguida, digitei gksu nautiluspara obter acesso temporário ao meu diretório raiz. Depois que a janela do Gerenciador foi aberta, cliquei em Sistema de Arquivos e naveguei para o /etc/default/grubdiretório. Em seguida, cliquei duas vezes no arquivo Grub para fazer alterações no TIMEOUTe TIMEOUT_QUIET.

Salvei o arquivo depois de fazer as alterações. Então voltei ao modo terminal e digitei:

gksu update-grub

A mensagem de erro que recebi foi:

Não consegue encontrar um dispositivo para / (o / dev está montado?)

Não tenho certeza do que fazer neste momento. Como posso executar update-grubpara atualizar as alterações? Agradeço antecipadamente por sua ajuda. Seja muito detalhado e específico com sua resposta, pois sou totalmente novo nesse ambiente.

newbietoubu
fonte

Respostas:

24

Fase 1 - Nota: não use um Live CD.

  • No seu Ubuntu, abra um terminal (pressione Ctrl+ Alt+ Tao mesmo tempo)
  • Digitar gedit admin:///etc/default/grub
    Isso executará o editor de texto gedit , se você estiver usando outro, basta digitar o nome dele em vez de gedit.
  • Faça as alterações que você deseja fazer e salve-as.
  • Feche o gedit.
    Seu terminal ainda deve estar aberto.
  • No tipo de terminal sudo update-grub, aguarde a atualização terminar.
  • Reinicie o computador.

Fase 2 - Depois de fazer login no seu sistema

  • Abra um terminal novamente ( Ctrl+ Alt+ T).
  • Digite o terminal gksu gedit /etc/default/grub
  • Para ver o menu do grub no momento da inicialização,
    comente ou remova a seguinte linha:GRUB_HIDDEN_TIMEOUT=0
    • Para comentar, adicione #no início desta linha, o resultado será#GRUB_HIDDEN_TIMEOUT=0
  • Salve o arquivo.
  • Novamente na corrida do terminal sudo update-grub.

Se ver o menu grub na inicialização é a única coisa que você deseja, você deve desfazer as alterações anteriores no arquivo.

jeroen
fonte
Obrigado pela sua resposta. O problema original que estou tentando resolver é que não consigo abrir o menu grub. Por isso, pensei que tinha que usar o Live CD para acessar o arquivo de configuração do grub e fazer minhas alterações. Eu li que se eu mudar o TIMEOUT para 10 e TIMEOUT_QUIT para true, eu poderei acessar o menu Grub. Ao inicializar o sistema, pressiono a tecla Shift. Eu vejo as palavras MENU GRUB aparecerem apenas por uma fração de segundo. Portanto, sem poder usar o Live CD para acessar o Terminal, não sei como modificar o arquivo de configuração do GRUB. Alguma sugestão de como fazer isso?
Newbietoubu
Eu acho que jeroen respondeu diretamente a isso. Possivelmente você está tentando modificar o menu grub enquanto estiver no grub ???
Pfeiffep
2
Veja o meu melhor aperfeiçoado.
jeroen
6

Você está recebendo essa mensagem porque o Live CD não monta um sistema de arquivos gravável. Ele só deve ser usado para testar o Ubuntu ou resgatar um sistema danificado. A execução de sudo update-grubapenas funciona em uma versão instalada do Ubuntu, na qual você tem acesso de gravação aos arquivos GRUB subjacentes (e em um Live CD, não).

Aaron
fonte
4
Boas informações, mas o OP também gostaria de saber como ele pode fazer as alterações que deseja /etc/default/grube depois update-grub.
chaskes
2

Você pode fazer o update-grub a partir de um CD ao vivo em um Ubuntu Distro instalado (embora eu assuma que isso funcione com qualquer distribuição Linux [baseada em debian?]. É "obrigatório" (pode haver outros métodos, mas conhecendo este, eu não se preocupe com eles) se você clonar sua unidade e já tiver instalado a nova no computador.Menciono aqui a clonagem extensivamente, porque, em certo sentido, a etapa update-grub é um subconjunto e as abordagens têm o mesmo durante uma sessão ao vivo.Também esse método foi descoberto através da pesquisa no contexto da clonagem.Você pode obter o que precisa se não estiver clonando, e seu processo será simplificado.

Eu deveria qualificar isso aqui; importante para a clonagem, não apenas para o update-grub: eu fiz isso apenas nos sistemas BIOS. Eu não tentei em um sistema UEFI. O sistema UEFI requer uma partição FAT para o carregamento da inicialização e eu não testei se essa partição deveria aparecer durante a execução das etapas de cópia de clonagem. Espero que isso afete a montagem [bind-] necessária que sintetiza o ambiente grub nativo durante a sessão ao vivo ...

Isso está detalhado nesta página: http://frugaltech.happystoic.com/ssdlinux . Eu usei esse método várias vezes e você pode trocar os discos rígidos pelo ad-infinitum usando-o. A troca de discos rígidos físicos se torna tão trivial dessa maneira, que é tentador criar seu próprio hobby e / ou tentar consertar os computadores bagunçados de outras pessoas.

A seguir, pode ser uma paráfrase útil do que você encontrará lá:

  1. Ctrl+ Alt+ Tpara o terminal Bash e insira um shell de superusuário ( sudo -s) durante uma sessão ao vivo.

  2. monte a partição da unidade de instalação completa (a que é [ou se tornará] seu diretório raiz permanente do sistema de arquivos Linux).

    2a Se a instalação completa já existir no seu disco rígido, pule para (2). SE VOCÊ ESTÁ CLONANDO: [com base no pressuposto de que você não está fazendo uma instalação nova, pois tudo é totalmente automático nesse caso] se a sua instalação completa ainda não existir nesta partição, agora é a hora de simplesmente

    rsync -a /existing/linux/filesystem/live-mount-point/ /new/linux/filesystem/live-mount-point/ 
    

    [esses pontos de montagem são puramente com relação ao ambiente da sessão ao vivo - no Ubuntu, eles geralmente têm a forma "/ media / ubuntu / ???"] na nova unidade [partição].

    2b. As instalações completas de outros sistemas operacionais podem ser tratadas da mesma maneira aqui. Geralmente, usei um recurso baseado no Windows para copiar em massa partições do Windows para novas unidades com antecedência, mas também usei o rsync e funcionou para o Windows XP (supondo que você tenha suporte para o formato de partição correto, como ntfs; acho que o mídia de sessão ao vivo geralmente inclui suporte a formatos alternativos). Apenas tenha cuidado com a ortografia e use o final /no diretório de origem se estiver nomeando o destino completamente.

  3. bind-montar os vivos /dev, /proce /sysos diretórios para seus respectivos diretórios em seu [montada] permanente partição instalação completa você está procurando para uso. O script detalhado no link acima realiza isso de maneira muito elegante com uma declaração "for". Além disso, o script fornecido não precisa ser executado como um script, por si só. Ele pode ser inserido no prompt do bash, linha por linha.

  4. chrootpara a partição de instalação completa permanente. Depois de fazer (3) e (4), o sistema agora "reside virtualmente" no seu "sistema de arquivos final" e o GRUB funcionará de maneira homogênea. Sem essas etapas, o grub assumirá que seu sistema é simplesmente uma sessão ao vivo, e eu não sei especificamente o que ele faz nesse caso, mas o suficiente não é o resultado desejado, sobre o que foi mencionado acima neste tópico.

  5. execute o grub-install no /dev/sdX(drive, não no ponto de montagem) que corresponde à instalação permanente (ou no drive que hospedará o GRUB se um sistema com várias unidades [, multi-boot]). A flexibilidade aqui pode depender do seu vintage e do BIOS. Tanto quanto eu sei, executar o "grub-install" não faz nada prejudicial se não for necessário; portanto, sempre o faço se estiver usando esse método de sessão ao vivo.

  6. execute o update-grub e agirá como se o sistema em execução estivesse aninhado na futura partição permanente, descobrindo todos os kernels e sistemas operacionais inicializáveis ​​que você possa ter disponível.

  7. Se você não alterou fisicamente os discos rígidos, pule para (5). Caso contrário, edite ou verifique seu /new/linux/filesystem/live-mount-point/etc/fstabarquivo para garantir a estrutura correta do sistema de arquivos para o seu [novo] ambiente. Se você estiver nesse nível, certamente já sabe como usar os blkid UUIDs para obter o fstab.

    IMHO: você sempre deve usar UUIDs no fstab (não no formato "dev / sdXY"), pois em seu próprio escopo é imune à reconfiguração do disco rígido físico, além do grau em que isso requer atualizações literais dos valores de UUID (como se em algum momento no futuro, você instalar um disco rígido adicional para o seu diretório / home etc.). É simplesmente a abordagem mais fundamental, robusta e invariável.

  8. saia do chroot, saia do supershell, saia do bash, desligue e inicie o sistema sem a mídia ao vivo. Agora você deve estar onde pretendia.

    Importante: NOTA: Argumentos para mount e chrootsão diretórios (geralmente, MOUNT POINTS como /mnt/??or /media/??) correspondentes à sessão ao vivo. Na maioria dos casos, se não em todos os casos, uma instalação completa reside em sua própria partição; portanto, os termos "diretório" e "ponto de montagem" são essencialmente sinônimos aqui. O argumento para o grub-install é uma UNIDADE FÍSICA (geralmente /dev/sdX, onde "X" é uma letra correspondente à unidade em seu sistema, sda, sdb, etc. e não deve depender da sessão).

Agora você deve terminar. Eu simultaneamente clonei o Windows (XP e 7) em várias permutações ao lado do Ubuntu e Puppy usando esse método e ele não me falhou. Eu acho que você pode usar um meio ao vivo de uma distribuição diferente (eu só usei diferentes sabores do Ubuntu e Mint para isso), desde que eles forneçam a versão do GRUB que você pretende usar. Você pode mover partições, trocar unidades, combinar outras instalações de SO e clonar para ou do SSD usando isso. No entanto, só posso falar trabalhando na mesma máquina. Presumo que os drivers necessários para uma máquina diferente possam ter sido ignorados durante a instalação completa anterior. Minha regra geral é alternar unidades em um computador requer esse método, mas alternar computadores com uma unidade requer uma [re] instalação completa.

Talvez alguém possa desmascarar isso ..?

Jonathan Whittum
fonte
1
Bem-vindo ao Ask Ubuntu! :-) Excelente primeira resposta! +1
Fabby