Instale o grub em uma unidade de disco pelo UUID

1

Existe uma maneira de indicar ao grub para instalar em um MBR de dispositivo pelo UUID em vez de usar / dev / sdX? Estou configurando um disco rígido externo eSATA com o NixOS, e obviusly, o disco rígido não seria sempre o mesmo dispositivo / dev / sdX?

Eu vejo que posso configurá-lo com boot.loader.grub.device="/ dev / sdX", mas poderia configurá-lo para algo como "/ dev / disk / by-uuid / ...." ??

    
por Zardoz89 05.02.2015 / 10:37

4 respostas

0

o grub-install / dev / by-uuid / XXX não funcionaria porque todo o disco rígido não recebe um UUID (pelo menos na minha máquina). Em vez disso, poderíamos usar / dev / by-id / XXX que é gerado usando o número de série do disco rígido.

No arquivo de configuração do NixOS, seria:

boot.loader.grub.device = "/dev/by-id/XXXX"
    
por 05.02.2015 / 19:19
0

Sim, modifique /boot/grub/menu.cfg

root = / dev / disk / by-uuid / whatever-blkid-outputs-colocado-aqui

... dê um giro.

Por exemplo

set root=/dev/disk/by-uuid/'3a2adf19-8685-483c-9889-1b4d56788486'

    
por 05.02.2015 / 10:48
0

Não, você não pode grub-install /dev/disk/by-uuid/foo . Isso não está dizendo que é impossível , um pode inventar um método, mas é impraticável no mínimo.

UUIDs (identificador universal exclusivo) são praticamente identificadores exclusivos para partições, e não o próprio dispositivo. Ou seja, as partições têm um UUID, mas a localização do MBR que grub-install endereços não tem um UUID.

Se você gerar um UUID para o dispositivo (por exemplo, uuidgen /dev/sdb ), encontrará um problema device.map no GRUB. grub-mkdevicemap falha em corrigir o problema automaticamente.

Se você grub-install /dev/disk/by-uuid/de305d54-75b4-431b-adb2-eb6b9e546013 , por exemplo, receberá erros como

grub-install: warning: File system 'ext2' doesn't support embedding.
grub-install: warning:  Embedding is not possible.   GRUB can only be installed in this setup  by using blocklists. <blah, blah, blah>

... e assim vai.

Mais informações podem ser encontradas link

Este foi um experimento divertido. Obrigado.

    
por 06.02.2015 / 03:22
0

tente grub-install "UUID = 700C663F-4183-4A8D-BAC2-EE34E5518B9C" / dev / sda0     UUID é uma partição "/"     sda0 é "/" device   A fonte é manual do grub2    / dev / disk / by-uuid / não funciona porque este diretório não existe até       é inicializado é preferível usar o partuuid, pois isso não muda com a reformatação     muda com formatação

    
por 08.05.2015 / 03:37

Tags