A maneira correta de corrigir isso é usar UUIDs. Mais alguns detalhes são aqui . Com um UUID, não importa o nome do dispositivo como (hda, sda, sdc, etc), o sistema irá encontrá-lo.
Por exemplo, meu grub parece
linux /vmlinuz-2.6.32-21-generic root=UUID=ad915c21-080d-46aa-ae02-4c5ec69e026f ro quiet splash
E meu fstab
UUID=ad915c21-080d-46aa-ae02-4c5ec69e026f / ext4 errors=remount-ro,relatime 0 1
Se encontrar o UUID da minha unidade raiz por
# blkid /dev/sda7
/dev/sda7: UUID="ad915c21-080d-46aa-ae02-4c5ec69e026f" TYPE="ext4"