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[/code]
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 :
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=) 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 partitions
Vous pouvez listez vos partitions et leurs UUIDs avec :
Ou encore :
[*]Modifier /etc/fstab
Une fois les UUID obtenus, il vous suffit de remplacer dans votre fstab, le nom des partitions, par exemple :
par « UUID= » suivi de l’UUID de la partition, par exemple :
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,… :
/dev/cdrom /media/cdrom0 udf,iso9660 user,noauto 0 0
/dev/cdrom1 /media/cdrom1 udf,iso9660 user,noauto 0 0
[*]Modifier /boot/grub/menu.lst
Repé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[/code]
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
Enregistrez, puis lancez dans une console :
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’hibernation
Mê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 : :
par :
Si vous avez uswsusp installé, modifiez aussi « resume device » dans /etc/uswsusp.conf.
Ensuite, pour que les changements soient pris en compte :
Et voilà !