Fråga
Jag har bytt ut min gamla, stationära dator mot en mera modern dito. Jag kunde därefter inte starta datorn (endast Linux är installerat) då GRUB meddelade att det inte hittade bootpartitionerna. Finns det någon mjukvara som kan analysera partitionsstrukturen och ange bootpartitionerna för installerade Linux-versioner? Hur överför jag denna info till resp fstab och GRUB? Finns det flera filer som behöver uppdateras? Jag har installerat Suse 10.3 som fungerar OK. De tidigare installerade (Ubuntu Gutsy, Suse 10.2) finns i GRUB-menyn men ger felmeddelande ”Error 21 filen finns inte” när jag försöker boota.
Linuxdistribution: Ubuntu, SuseSvar
Error 21 i Grub betyder att Grub inte kan hitta en hårddisk eller partition. Antagligen har hårddisken fått en annan beteckning i den nya datorn, vilket gör att Grub inte hittar dina installerade operativsystem. Inställningarna för Grub finns i filen /boot/grub/menu.lst, i slutet av denna fil finns en rad avsnitt som liknar följande:
title Ubuntu 8.04.1, kernel 2.6.24-15-generic root (hd0,1) kernel /boot/vmlinuz-2.6.24-15-generic root=UUID=012c761… ro quiet splash initrd /boot/initrd.img-2.6.24-15-generic quiet Ett Linuxsystem finns i den dator som används här installerat på den första hårddiskens andra partition, ’/dev/sda2’. Detta system startas med det Grub-avsnitt som visas ovan, där den partition som användas anges som värde till parametern root. Men varför anges ’(hd0,1)’ istället för ’/dev/sda2’? Hemligheten är att Grub räknar den första hårddisken som hårddisk 0, och den första partitionen som partition 0. Oavsett om systemet använder beteckningen ’hda’ eller ’sda’ ska partitionsangivelsen alltid börja med ’hd’, så för att starta den andra partitionen på den första hårddisken anges alltså ’hd0,1’. För att lösa ditt problem behöver du alltså redigera menu.lst och se till att rätt värden anges som ’root’.