Dann ist der beste Weg ueber die UUID. Diese ist fuer jede Festplatte/Partition einmalig und es ist egal, ob dein System nun auf /dev/sda oder /dev/sdz installiert ist.
Deine /boot/grub/grub.cfg sollte dann ungefaehr wie folgt aussehen.
menuentry 'Arch Linux Stock Kernel' {
set root='(hd0,1)'; set legacy_hdbias='0'
legacy_kernel '/vmlinuz-linux' '/vmlinuz-linux' 'root=/dev/disk/by-uuid/10ffbd90-8989-4e2b-b714-59e3accbd9bf 'ro'
legacy_initrd '/initramfs-linux.img' '/initramfs-linux.img'
}
menuentry 'Arch Linux Stock Kernel Fallback' {
set root='(hd0,1)'; set legacy_hdbias='0'
legacy_kernel '/vmlinuz-linux' '/vmlinuz-linux' 'root=/dev/disk/by-uuid/10ffbd90-8989-4e2b-b714-59e3accbd9bf' 'ro'
legacy_initrd '/initramfs-linux-fallback.img' '/initramfs-linux-fallback.img'
}
(Besonderes Augenmerk auf " root=/dev/disk/by-uuid/10ffbd90-8989-4e2b-b714-59e3accbd9bf " legen.)
Die in diesem Post angegebene UUID ist die von meiner Root-Partition, so dass diese bei dir nicht funktioniert. Du musst dort die UUID deiner Root-Partition eingeben. Wie du die herausbekommst, habe ich bereits geschrieben. 😉
Als Hinweis: sollten die im Codetag verwendeten Zeilen zu sehr von deiner Konfiguration abweichen, liegt das daran, dass ich selbst kein Grub2 verwende und die Informationen aus dem Wiki (.org) entsprechend auf die Verwendung mit UUID's geaendert habe.
Eventuell solltest du die Datei "/etc/fstab" auch auf die Verwendung von UUID's umstellen. Wie das geht, ist ausfuehrlich im Wiki (.org/.de) beschrieben.