Lorsqu'au boot, vous tombez parfois sur un message de ce genre :
Code:
WARNING boot device may be renamed. Try root=/dev/sda1
Gave up waiting for root device. Common problems:
- Boot args (cat /proc/cmdline)
- Check rootdelay= (did the system wait long enough ?)
- Chechk root= (did the system wait for the right device ?)
- Missing Modules (cat /proc/modules : ls /dev)
ALERT ! /dev/hda1 does not exist. Dropping to a shell
Ceci peut être dû au fait que le nom de vos partitions change (par exemple /dev/hde1 au lieu de /dev/hda1).
On peut le vérifier en listant les partitions dans la busybox via :
Code:
ls /dev | grep [sh]d
Vérifiez ainsi que vos partitions sont tout de même bien listées (et donc reconnues), et ainsi que ce n'est pas un problème matériel (nappe defectueuse...)
Pour résoudre ce problème, on peut nommer les partitions en utilisant
l'UUID.
Redémarrez plusieurs fois jusqu'à ce que le système démarre correctement. Si il refuse à tous les coups de démarrer, alors ça veut dire que le nommage ne change pas, et est simplement différent de votre menu.lst. Dans ce cas, appuyez sur « e » à l'invite de grub, corrigez le nom de votre partition (root=<partition>) et appuyez sur «b » pour booter. Voir la partie 3 pour que le changement soit définitif (il n'y a pas forcément besoin de l'UUID dans ce cas)
[*]Déterminer l'UUID de vos partitionsVous pouvez listez vos partitions et leurs UUIDs avec :
Code:
$ ls -l /dev/disk/by-uuid/
Ou encore :
Code:
$ /sbin/blkid
[*]Modifier /etc/fstabUne fois les UUID obtenus, il vous suffit de remplacer dans votre fstab, le nom des partitions, par exemple :
Code:
/dev/hda1
par « UUID= » suivi de l'UUID de la partition, par exemple :
Code:
UUID=fba241ad-c3fa-470d-8758-ee2d3d867406
en laissant le reste (points de montages, options) identique.
Pour les lecteurs CDs, il n'y a pas d'UUID (normal, il n'y a pas de partitions). Il faut utiliser les liens /dev/cdrom, /dev/cdrom1,... :
Code:
/dev/cdrom /media/cdrom0 udf,iso9660 user,noauto 0 0
/dev/cdrom1 /media/cdrom1 udf,iso9660 user,noauto 0 0
[*]Modifier /boot/grub/menu.lstRepérez la section suivante :
Code:
## default kernel options
## default kernel options for automagic boot options
## If you want special options for specific kernels use kopt_x_y_z
## where x.y.z is kernel version. Minor versions can be omitted.
## e.g. kopt=root=/dev/hda1 ro
## kopt_2_6_8=root=/dev/hdc1 ro
## kopt_2_6_8_2_686=root=/dev/hdc2 ro
# kopt=root=/dev/hda1 ro
Remplacez la ligne qui n'est pas doublement commentée, i.e. qui n'a qu'un seul dièze (#) et remplacez là de la sorte
Code:
# kopt=root=UUID=fba241ad-c3fa-470d-8758-ee2d3d867406 ro
Enregistrez, puis lancez dans une console :
Code:
# update-grub
Ainsi, vous pouvez voir que vos entrées de debian sont toutes modifiées de la sorte. L'avantage d'utiliser cette méthode, c'est que le changement sera aussi pris en compte lors d'un upgrade du kernel.
Ne rebootez pas tout de suite, il reste une dernière chose à faire :
[*]Corriger la partition swap pour l'hibernationMême si vous n'hibernez pas, une image sera recherchée au boot dans la swap. Bon, il suffit d'appuyer sur Entrée pour reprendre un boot normal, mais tant qu'à faire, autant s'en passer, et faire les choses proprement :
Il faut éditer /etc/initramfs-tools/conf.d/resume, et remplacer : :
Code:
RESUME=/dev/hdXX
par :
Code:
UUID=<l'uuid_de_la_partition_swap>
Si vous avez uswsusp installé, modifiez aussi « resume device » dans /etc/uswsusp.conf.
Ensuite, pour que les changements soient pris en compte :
Code:
# update-initramfs -u -k $(uname -r)
Et voilà !