Ich versuche seit geraumer Zeit, Ubuntu 12.10 zu installieren, und überwinde eine Hürde nach der anderen. Jetzt bin ich in einer Situation wie folgt.
Ich habe einen PC und 10 GB HDD, die vollständig auf Ubuntu gewidmet sein wird, so dass keine Option von Wubi und Dual-Boot.
Ich habe versucht, von DVD zu installieren, aber es bleibt bei der Fehlermeldung "Out of frequency" hängen. So musste ich für USB-Boot-Option anzupassen. Aber mein PC ist über USB nicht bootfähig, also ist die Abhilfe "Plop Boot Manager". Ich führe also die Installation wie folgt durch:
sudo nano /etc/default/grub
.Jetzt bekomme ich folgende Fehlermeldung:
/usr/sbin/grub-probe:error:failed to get canonical path of /cow.
Mein System ist
P4 3,06 GHz, 1 GB ram , 10 GB HDD ohne OS, Monitor CRT lg StudioWorks (7 Jahre alt). Mobo Mercury P4 266a NDMx (865 entspricht). Das ganze System ist perfekt in Arbeitsbedingungen unter XP, aber es ist USB nicht bootfähig, und alle anderen Geräte arbeiten perfekt.
Was sollte ich als nächstes tun?
Nachdem ich von der Ubuntu-Live-CD gebootet hatte (ich habe 14.04 und 16.04 ausprobiert), konnte ich dieses Problem umgehen, indem ich update-grub chroot'ed auf der grub-Partition ausführte. (Ersetzen Sie unten /dev/sda1
durch die Partition, auf der Sie grub installiert haben. Alle Befehle als root.)
mkdir /mnt/chrootdir
mount /dev/sda1 /mnt/chrootdir
for dir in proc dev sys etc bin sbin var usr lib lib64 tmp; do
mkdir /mnt/chrootdir/$dir && mount --bind /$dir /mnt/chrootdir/$dir
done
chroot /mnt/chrootdir
update-grub2 # inside chroot
Finden Sie Ihr Laufwerk, das mit
mount
Oder
parted -l
Oder
fdisk /dev/sda
Geben Sie p ein, um die Partitionen aufzulisten, und suchen Sie nach Typ 83.
(Wenn Sie Fedora haben, müssen Sie möglicherweise die Befehle "vgs" und "lvs" verwenden, und wenn Sie mdraid haben, müssen Sie möglicherweise "cat /proc/mdstat" oder mdadm -A --scan oder insmod raid1 oder insmod raid5 und dann mdadm -A --scan) und Sie werden /dev/md0 oder /dev/mapper/my-vg anstelle von /dev/sda verwenden
dann versuchen Sie es zu mounten
mkdir /mnt
mount /dev/sda1 /mnt
cd /mnt
ls -l
Ist das Ihr Laufwerk? Cool!
grub-install --recheck --root-directory=/mnt /dev/sda
(Oder welches /dev-Laufwerk auch immer dein Root-Laufwerk ist, mit dem dazugehörigen Pfad)
grub-install --recheck --root-directory=/mnt /dev/sda --force
(Erzwingen Sie es, wenn es Ihre Partitionen nicht mag.)
Jetzt sollte es in Grub booten, und Sie können die Grub-Befehle zum Booten verwenden, nachdem Sie neu gebootet und das richtige Boot-Laufwerk im BIOS-Setup ausgewählt haben, oder indem Sie ESC oder F12 drücken, je nach BIOS und ob Sie schnell genug sind, dann am Grub-Prompt - Sie können die Tabulatorvervollständigung verwenden, um es zu finden, wenn es nicht (hd0,1), sondern (hd1,3) oder etwas anderes ist, aber Vorsicht, die Tabulatorvervollständigung bleibt manchmal für ein paar Sekunden hängen, wenn Grub das Laufwerk nicht lesen kann.
insmod linux
ls
root=(hd0,1)
linux /boot/vmlinuz root=/dev/sda1
initrd /boot/initrd
boot
Oder, hoffentlich haben Sie noch eine intakte grub.cfg-Datei... oder vielleicht funktioniert das hier:
grub-mkconfig -o /mnt/boot/grub/grub.cfg
Es ist der Befehl update-grub, der die Fehlermeldung auslöst, wenn man ihn von einer Live-CD verwendet. Ich war mit einer ähnlichen Situation konfrontiert, als ich eine Grub-Rettung durchgeführt habe. Das Problem, das Sie haben, ist, dass die Befehle update-grub und grub-install nicht direkt unter einer Live-CD funktionieren (ich weiß nicht, warum). Sie müssen also zu /usr/sbin gehen, wo sich die Befehle befinden, und sie von dort aus ausführen (d.h. ./update-grub).