J'ai un ordinateur portable avec un SSD interne (appelons-le samsung-SSD), et j'aimerais installer ununtu 12.04 sur un SSD externe connecté via USB3 (appelons celui-ci vertex2).
J'ai téléchargé une iso Ubuntu et créé une clé USB de démarrage à partir de celle-ci.
Ensuite, j'ai démarré sur la clé USB et suivi l'installation d'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.
L'installation terminée, je démarre Ubuntu cette fois à partir du vertex2. Mais comme la clé USB n’est plus là, le sommet 2 est connu sous le nom de/dev/sdb. Ubuntu a essayé de démarrer sur/dev/sdc et a échoué, car/dev/sdc n’existe pas.
Donc, un terminal BusyBox apparaît, avec le message
J'ai attendu le périphérique racine. Problèmes communs...
Dans ce terminal, je peux effectuer les opérations suivantes:
# 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
Maintenant, le vertex2 est connu sous le nom / dev/sdc (comme lors de l'installation).
> exit # this command tries to resume the boot process
Et de cette façon, je peux démarrer sur Ubuntu.
Ma question est donc la suivante: comment configurer ubuntu pour qu’il essaie de démarrer / dev/sdb au lieu de / dev/sdc?
Puis-je y parvenir avec mount
et chroot
?
Edit: mon 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
Ce que je ne comprends pas, c’est que dans mon fstab, le vertex2 est connu par son UUID. Donc, peu importe qu’il apparaisse comme sdb ou sdc. Et pourtant, je ne peux démarrer que quand il apparaît en tant que sdc ... J'ai essayé de remplacer le vertex UUID par sdb dans le fstab, et cela n'a pas aidé. C'est comme si un autre fichier était utilisé pour monter des lecteurs au démarrage.
Edit 2: Dans le menu de démarrage, je peux modifier des entrées. Si je modifie l'entrée ubuntu (en appuyant sur e
), je vois le texte suivant:
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
Si je change de sdc2 en sdb2 et si j'appuie sur f10 pour reprendre le démarrage, ubuntu démarre avec succès (pas d'invite BusyBox).
Ce texte se trouve dans /boot/grub/grub.cfg
. Mais je ne devrais pas le modifier directement. Il a cet en-tête:
#
# DO NOT EDIT THIS FILE
#
# It is automatically generated by grub-mkconfig using templates
# from /etc/grub.d and settings from /etc/default/grub
#
Je ne vois pas/dev/sdc2 dans la configuration de grub:
> Sudo grep -r "sdc2" /etc/grub.d/
> #no results
D'où vient sdc2? Comment puis-je le changer définitivement à sdb2? (La modification dans le menu de démarrage n'est que temporaire.)
Vous devriez essayer de régler l'un des éléments suivants:
GRUB_DEVICE_UUID=2586eee0-5f24-462b-b44d-5c9a25aebe6c
GRUB_DEVICE=/dev/sdb
dans le fichier: /etc/default/grub
Puis lancez: Sudo update-grub