Como eu mudo o dispositivo no qual o ubuntu inicializa?

6

Eu tenho um laptop com um SSD interno (vamos chamá-lo de samsung-SSD), e gostaria de instalar o ununtu 12.04 em um SSD externo conectado via USB3 (vamos chamar esse vertex2).

Eu baixei um iso do Ubuntu e criei uma chave usb inicializável dele.

Então eu inicializei na chave usb e segui a instalação do ubuntu:

  /dev/sda is the internal samsung-SSD.
  /dev/sdb is the usb key from which I am installing
  /dev/sdc is the external vertex2 on which I am installing.

A instalação completa, eu inicializo o ubuntu desta vez a partir do vertex2. Mas como a chave usb não está mais aqui, o vertex2 é conhecido como / dev / sdb. O Ubuntu tentou inicializar em / dev / sdc e falhar, porque / dev / sdc não existe.

Assim, um terminal BusyBox aparece, com a mensagem

  

Deu a espera de um dispositivo raiz. Problemas comuns ...

Neste terminal, posso fazer o seguinte:

# only vertex2 is plugged
> ls /dev | grep sd
/dev/sda # samsung SSD
/dev/sda1
/dev/sda2
/dev/sdb # vertex2

# removing vertex2
> ls /dev | grep sd
/dev/sda # samsung SSD
/dev/sda1
/dev/sda2

# pluging usb
> ls /dev | grep sd
/dev/sda # samsung SSD
/dev/sda1
/dev/sda2
/dev/sdb # usb stick

# pluging vertex2 in addition to usb stick
> ls /dev | grep sd
/dev/sda # samsung SSD
/dev/sda1
/dev/sda2
/dev/sdb # usb stick
/dev/sdc # vertex2

Agora o vertex2 é conhecido como / dev / sdc (como durante a instalação).

> exit # this command tries to resume the boot process

E dessa forma eu posso inicializar no Ubuntu.

Então, minha pergunta é: como eu configuro o ubuntu para que ele tente inicializar em / dev / sdb ao invés de / dev / sdc ?

Posso conseguir isso com mount e chroot ?

Editar: meu fstab :

# <file system> <mount point>   <type>  <options>       <dump>  <pass>
# / was on /dev/sdc2 during installation
UUID=2586eee0-5f24-462b-b44d-5c9a25aebe6c /               ext2    errors=remount-ro 0       1
# swap was on /dev/sdc5 during installation
UUID=56498034-3361-4d7d-ae7f-dc8e69b582ed none            swap    sw              0       0

O que eu não entendo é que no meu fstab, o vertex2 é conhecido pelo seu UUID. Portanto, não importa se aparece como sdb ou sdc. E ainda assim eu sou capaz de arrancar apenas quando aparece como sdc ... Eu tentei substituir o vértice UUID por sdb no fstab, e isso não ajudou. É como se algum outro arquivo fosse usado para montar unidades na inicialização.

Editar 2 : no menu de inicialização, posso editar entradas. Se eu editar a entrada do Ubuntu (pressionando e ), eu vejo este texto:

recordfail
        gfxmode $linux_gfx_mode
        insmod gzio
        insmod part_msdos
        insmod ext2
        set root='hd2,msdos2'
        if [ x$feature_platform_search_hint = xy ]; then
          search --no-floppy --fs-uuid --set=root --hint-bios=hd2,msdos2 --hint-efi=hd2,msdos2 --hint-baremetal=ahci2,msdos2  25\
86eee0-5f24-462b-b44d-5c9a25aebe6c
        else
          search --no-floppy --fs-uuid --set=root 2586eee0-5f24-462b-b44d-5c9a25aebe6c
        fi
        linux   /boot/vmlinuz-3.5.0-17-generic root=/dev/sdc2 ro   quiet splash $vt_handoff
        initrd  /boot/initrd.img-3.5.0-17-generic

Se eu mudar sdc2 para sdb2 e pressionar f10 para retomar a inicialização, o ubuntu é inicializado com sucesso (sem prompt do BusyBox).

Este texto está localizado em /boot/grub/grub.cfg . Mas eu não deveria editá-lo diretamente. Tem esse cabeçalho:

#                                                                                                                                
# DO NOT EDIT THIS FILE                                                                                                          
#                                                                                                                                
# It is automatically generated by grub-mkconfig using templates                                                                 
# from /etc/grub.d and settings from /etc/default/grub                                                                           
#   

Não vejo / dev / sdc2 na configuração do grub:

> sudo grep -r "sdc2" /etc/grub.d/
> #no results

De onde vem o sdc2? Como faço para alterá-lo permanentemente para sdb2? (A mudança no menu de inicialização é apenas temporária.)

    
por Benjamin Crouzier 10.02.2013 / 02:08

1 resposta

1

Você deve tentar definir um de:

GRUB_DEVICE_UUID=2586eee0-5f24-462b-b44d-5c9a25aebe6c
GRUB_DEVICE=/dev/sdb

no arquivo: /etc/default/grub

Em seguida, execute: sudo update-grub

    
por TrinitronX 21.02.2013 / 19:38