Impossibile ottenere il percorso canonico di / cow


43

Sto cercando di installare Ubuntu 12.10 da un po 'di tempo, e passando ostacoli uno per uno. Ora sono in una situazione come segue.

Ho un PC e un HDD da 10 GB che sarà totalmente dedicato a Ubuntu, quindi nessuna opzione di Wubi e dual boot.

Stavo cercando di installare dal DVD, ma si blocca con l'errore "Fuori frequenza". Quindi ho dovuto adattarmi per l'opzione di avvio USB. Ma il mio PC è USB non avviabile, quindi la soluzione alternativa è "Plop Boot Manager". Quindi sto facendo la procedura di installazione come segue:

  1. a partire da un'unità CD su cui è installato plop.
  2. optando per l'avvio USB nelle opzioni plop.
  3. l'avvio inizia da USB.
  4. il monitor alla fine dà l'errore "fuori frequenza"
  5. premi Shift+ Alt+ F1per ottenere il terminale.
  6. apri il grub con sudo nano /etc/default/grub.
  7. fare i cambiamenti necessari.
  8. sudo update-grub.

Ora qui sto ricevendo l'errore come segue:

/usr/sbin/grub-probe:error:failed to get canonical path of /cow.

Il mio sistema è

P4 3,06 GHz, 1 GB di RAM, 10 GB di HDD senza sistema operativo, monitor CRT lg StudioWorks (7 anni). Mobo Mercury P4 266a NDMx (equivalente a 865). L'intero sistema è perfettamente funzionante in XP, ma è USB non avviabile e tutti gli altri dispositivi funzionano perfettamente.

Cosa dovrei fare dopo?


Il tuo computer ha i requisiti minimi di sistema consigliati per eseguire Ubuntu? Ho avuto problemi con l'installazione di 12.04 su macchine con meno di 1 GB di RAM.
CSCameron,

Sì, ora ho aggiunto la mia specifica di sistema alla domanda.
ulkaNCST

askubuntu.com/questions/207663/… potrebbe valere la pena provare.
Rinzwind,

5
In primo luogo montare il disco rigido per qualche cartella, dire /mnte poi chroota /mnt.
verde

Risposte:


30

Dopo l'avvio dal CD live di Ubuntu (provato 14.04 e 16.04) sono stato in grado di aggirare questo problema eseguendo update-grub chroot'ed nella partizione grub. (Sostituisci di /dev/sda1seguito con qualsiasi partizione su cui hai installato grub. Tutti i comandi come 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

2
Tentare di eseguire mount mi dà l'errore :, NTFS signature is missing.che è strano, perché dovrebbe essere Ext4, non NTFS ...
Cerin

@Cerin, sottolineo / dev / sda1 era la partizione giusta per me, ma evidentemente non per te, se quel volume è NTFS.
Nathan Kidd,

La tua soluzione è confusa. Devi eseguire la prima parte e la seconda dall'interno della chroot della prima? O butti via tutto ciò che hai fatto nella prima parte e esegui solo la seconda parte? Perché monti sia / dev / sda che / dev / sda1?
Cerin,

2
Ho seguito le tue istruzioni e alla fine /usr/sbin/grub-probe: error: failed to get canonical path of '/boot'.ho avuto solo la mia /bootpartizione sul mio disco di avvio, il resto era altrove.
Slitta

1
Ho dovuto fare un altro grub-install /dev/sdaprima update-grub, poi ha funzionato!
Kiw

11

Trova il tuo disco che dovrebbe avviarsi

mount

O

parted -l

O

fdisk /dev/sda

E digita p per elencare le partizioni, cerca il tipo 83.

(Se hai Fedora potresti dover usare i comandi "vgs" e "lvs" e se hai mdraid potresti dover "cat / proc / mdstat" o mdadm -A --scan o insmod raid1 o insmod raid5 e poi mdadm -A --scan) e userete / dev / md0 o / dev / mapper / my-vg invece di / dev / sda

quindi prova a montarlo

mkdir /mnt
mount /dev/sda1 /mnt
cd /mnt
ls -l

Questa è la tua unità? Freddo!

grub-install --recheck --root-directory=/mnt /dev/sda 

(O qualunque sia / dev guidi la tua radice, con il suo percorso montato)

grub-install --recheck --root-directory=/mnt /dev/sda --force

(Forzalo se non ti piacciono le tue partizioni.)

Ora dovrebbe avviarsi in grub e puoi usare i comandi grub per avviarlo, dopo il riavvio e la selezione dell'unità di avvio corretta dal BIOS Setup, o premendo ESC o F12 a seconda del BIOS e se sei abbastanza veloce, quindi a il prompt di Grub - è possibile utilizzare il completamento della scheda per trovarlo se non è (hd0,1) ma (hd1,3) o qualcos'altro, ma attenzione, il completamento della scheda a volte si blocca per alcuni secondi se grub non è in grado di leggere l'unità .

insmod linux
ls
root=(hd0,1)
linux /boot/vmlinuz root=/dev/sda1
initrd /boot/initrd
boot

O, si spera, hai ancora un file grub.cfg intatto ... o forse questo funzionerà:

grub-mkconfig -o /mnt/boot/grub/grub.cfg

1
Non mi sono piaciute le mie partizioni, ma -fnon funzionava. Ho dovuto usare--force
RM

per avviare da GRUB, sul mio sistema ho dovuto cambiare sopra in questo modo: linux /vmlinuz root=/dev/sda1 (cioè la cartella principale) initrd /boot/initrd.img (cioè aggiungere .img)
Warner

6

Soluzione rivista basata sul codice sopra

La soluzione dall'alto non funzionerà completamente senza problemi perché monta la partizione di avvio nella / (root) del file system. Ciò fa lamentare grub che / boot non esiste, ovviamente. Questo risolverà quel problema:

mkdir /mnt/chrootdir
mkdir /mnt/chrootdir/boot
mount /dev/sda1 /mnt/chrootdir/boot
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

Come vedi ho anche rimosso le interruzioni di linea in modo che sia più facile da eseguire per tutti.

Un'altra soluzione (più semplice)

Se continui ad avere problemi a farlo funzionare, dovresti cercare di copiare la partizione / boot nella partizione / (root). Per questo avvia il tuo sistema con il dvd di avvio live di Ubuntu e apri il terminale. Al suo interno digitare:

sudo su
fdisk -l

Per scoprire quali partizioni hai. Nel mio caso sda1 è la mia partizione / boot che è grande circa 250 MB e una sda5 che è circa 500 GB. Uso questi valori nei comandi seguenti:

mkdir /mnt/boot/
mount /dev/sda1 /mnt/boot/

mkdir /mnt/root/
mount /dev/sda5 /mnt/root/

cp -R /mnt/boot/ /mnt/root/boot/

Impostare il flag di avvio per la partizione dati e rimuoverlo per la partizione di avvio:

fdisk /dev/sda
b -> 1 (unset the bootable flag for the first partition)
b -> 5 (set the bootable flag for the fifth partition)
w -> write changes to the MBR

Il tuo computer ora cercherà all'interno di sda5 i file di avvio. È ora di ripetere il chrooting, questa volta con alcune cartelle necessarie per grub e che sono già generate dal tuo disco live di Ubuntu:

mkdir /mnt/chrootdir/
mkdir /mnt/chrootdir/dev/
mkdir /mnt/chrootdir/proc/
mkdir /mnt/chrootdir/sys/

mount /dev/sda5 /mnt/chrootdir/
mount --bind /dev/ /mnt/chrootdir/dev/
mount --bind /proc/ /mnt/chrootdir/proc/
mount --bind /sys/ /mnt/chrootdir/sys/

chroot /mnt/chrootdir/

grub-install /dev/sda

Installazione terminata. Nessun errore segnalato.

Se non vedi un messaggio che viene generato il file grub.cnf, esegui anche il comando update:

update-grub2 /dev/sda

Ora puoi riavviare in modo sicuro e visualizzare di nuovo il noto menu di avvio.

Questa soluzione è stata l'unica che ha funzionato per me dopo la migrazione da un server fisico a una macchina virtuale. Spero che qualcuno lo trovi utile!


0

Lo so, è un vecchio problema, ma oggi ho avuto gli stessi problemi con la versione attuale di mint-linux (basata su Ubuntu). Ho trovato una soluzione molto semplice! :-) Decolla la connessione Internet durante la prima installazione. Questo interrompe il caricamento di un grub2 non compatibile. Effettua l'aggiornamento di tutto al termine dell'installazione.


0

Ho avuto lo stesso errore. L'unico problema era che / cow era ancora montato su /.

Un piccolo sudo umount / mucca ha fatto il trucco.


-6

È il comando update-grub che ti darà l'errore quando lo usi da un cd live. Ho dovuto affrontare una situazione simile quando stavo facendo un salvataggio in aria. Il problema che hai è che i comandi update-grub e grub-install non funzionano direttamente con cd live (non so perché). Quindi, devi andare su / usr / sbin dove si trovano i comandi ed eseguirli da lì (es. /Update-grub).


No, devi montare il disco rigido e chroot, come ha detto @ green7.
psusi,

anche il mio metodo funziona. Provalo. è più semplice
aveemashfaq

1
Non hai un metodo. / usr / sbin è già sul percorso quindi non c'è bisogno di cd lì. Non puoi eseguire grub-install e update-grub direttamente dal cd live (come hai notato) perché tenta di configurare grub per avviare il sistema corrente, che sarebbe il cd live, piuttosto che il sistema operativo installato sul disco rigido guidare.
psusi

Questo, ovviamente, non funziona. Viene visualizzato l'errore "impossibile ottenere il percorso cannonico di / cow". E le cose sul cd-ing in / usr / sbin ... oh ragazzo.
dan3,

provalo gente. ha sempre funzionato per me
aveemashfaq,
Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.