Problema con GRUB2

Pagina 1 di 4 1 2 3 4 ultimo
Visualizzazione dei risultati da 1 a 10 su 39
  1. #1
    bit
    Registrato
    Jan 2014
    Messaggi
    20

    Predefinito Problema con GRUB2

    Ciao
    Ho letto il vostro articolo UEFI/GPT - Configurazione di grub per Windows e Linux scritto da @frakka e spero che possiate darmi una mano.
    Ho appena installato Linux Mint 13 sul terzo Hard disk del mio computer. Nel primo c'è il sistema operativo Windows 7 e nel secondo i miei file personali (di Windows). Vorrei avere la possibilità all'avvio di scegliere quale sistema operativo avviare senza tutte le volte dover cambiare la priorità nel BIOS. In Windows ho già provato con EasyBCD ma senza successo. In Linux invece nelle opzioni di GRUB2 c'è la possibilità di scegliere la voce Windows7 ma quando do invio mi appare un errore con scritto "error: invalid EFI file path". Sapreste aiutarmi? Grazie

    P.S. Ho provato a seguire alcune istruzione del vostro articolo ma mi sono bloccato già all'inizio perché quando scrivo il comando blkid nel terminale questo non fa nulla

  2. #2
    Super Moderatore L'avatar di frakka
    Registrato
    May 2001
    Località
    Casalecchio di Reno (Bo)
    Età
    43
    Messaggi
    23,379
    configurazione

    Predefinito

    Ciao! Sono contento che il mio post possa risultare utile a qualcuno.


    Non prendo a mano ubuntu e derivate da tempo però i motivi che mi vengono in mente per cui il comando blkid possa non funzionare sono solo due:

    1_ Non è installato. Il programma blkid fà parte del pacchetto "util-linux" e quindi dovresti poterlo installare da terminale usando il comando
    codice:
     sudo apt-get update && sudo apt-get install util-linux
    2_ Forse su ubuntu e derivate questo comando richiede i permessi di root. Puoi ovviare al problema ponendogli davanti "sudo"
    codice:
     [matteo@arch-uefi Desktop]$ sudo blkid
    Hai detto che in Linux l'opzione per scegliere la voce c'è già. Immagino che abbia creato la voce in fase di installazione.
    Se ti dà quel messaggio di errore probabilmente stà cercando il file EFI nella partizione sbagliata. Prova a risolvere il problema del blkid, il resto dovrebbe venire da sè.

    Questa è la storia di 4 persone chiamate Ognuno, Qualcuno, Ciascuno e Nessuno. C'era un lavoro importante da fare e Ognuno era sicuro che Qualcuno lo avrebbe fatto. Ciascuno poteva farlo, ma Nessuno lo fece, Qualcuno si arrabbiò perché era il lavoro di Ognuno. Ognuno pensò che Ciascuno potesse farlo, ma Ognuno capì che Nessuno l'avrebbe fatto. Finì che Ognuno incolpò Qualcuno perché Nessuno fece ciò che Ciascuno avrebbe potuto fare.

  3. #3
    bit
    Registrato
    Jan 2014
    Messaggi
    20

    Predefinito

    Innanzitutto ti ringrazio per l'aiuto e il tempo dedicatomi

    Non ho capito due cose:
    1_ Mi è sorto un dubbio. La mia scheda madre è una ASUS p8 z77-v LE PLUS ed utilizza un BIOS di tipo UEFI ma non so se Windows 7 è installato in modalità EFI. Tra l'altro quando sono nella schermata di BOOT del BIOS, sul disco dove è installato Linux c'è un'etichetta con scritto UEFI mentre su quello di Windows non c'è.

    2_ Ho letto che il comando efibootmgr va a modificare il firmware della scheda madre, ma cosa significa? Non dovrei intervenire su GRUB? Vorrei capire di più sul legame tra il firmware della scheda madre e il bootloader di Linux

    Scusate per le domande ma come avete capito non me ne intendo molto di queste cose e sono nuovo in Linux

  4. #4
    bit
    Registrato
    Jan 2014
    Messaggi
    20

    Predefinito

    Originariamente inviato da frakka
    Ciao! Sono contento che il mio post possa risultare utile a qualcuno.


    Non prendo a mano ubuntu e derivate da tempo però i motivi che mi vengono in mente per cui il comando blkid possa non funzionare sono solo due:

    1_ Non è installato. Il programma blkid fà parte del pacchetto "util-linux" e quindi dovresti poterlo installare da terminale usando il comando
    codice:
     sudo apt-get update && sudo apt-get install util-linux
    2_ Forse su ubuntu e derivate questo comando richiede i permessi di root. Puoi ovviare al problema ponendogli davanti "sudo"
    codice:
     [matteo@arch-uefi Desktop]$ sudo blkid
    Hai detto che in Linux l'opzione per scegliere la voce c'è già. Immagino che abbia creato la voce in fase di installazione.
    Se ti dà quel messaggio di errore probabilmente stà cercando il file EFI nella partizione sbagliata. Prova a risolvere il problema del blkid, il resto dovrebbe venire da sè.
    Sono riuscito a far funzionare il comando blkid e ciò che mi restituisce è SOLO questo:

    /dev/sda1: UUID="02F04E64F04E5DD3" TYPE="ntfs"
    /dev/sdb1: LABEL="Volume" UUID="5EC67A34C67A0D11" TYPE="ntfs"
    /dev/sdc1: UUID="EF4C-7465" TYPE="vfat"
    /dev/sdc2: UUID="449dd0b2-57cc-4708-80b0-6fb3fc10aae8" TYPE="ext4"
    /dev/sdc3: UUID="0ef80022-fb74-4347-b4d1-b6f3f8e76ef4" TYPE="swap"

    Come puoi vedere non c'è nessun "EFI system partition"

    Ho proseguito ma mi sono bloccato un'altra volta a questo comando: grub-probe -d --target=hints_string /dev/sdb1

    che mi risponde

    Try `grub-probe --help' for more information.

    Sapreste aiutarmi? Grazie ancora

  5. #5
    Super Moderatore L'avatar di frakka
    Registrato
    May 2001
    Località
    Casalecchio di Reno (Bo)
    Età
    43
    Messaggi
    23,379
    configurazione

    Predefinito

    Originariamente inviato da Ticio
    Innanzitutto ti ringrazio per l'aiuto e il tempo dedicatomi
    Di niente!

    Originariamente inviato da Ticio
    1_ Mi è sorto un dubbio. La mia scheda madre è una ASUS p8 z77-v LE PLUS ed utilizza un BIOS di tipo UEFI ma non so se Windows 7 è installato in modalità EFI. Tra l'altro quando sono nella schermata di BOOT del BIOS, sul disco dove è installato Linux c'è un'etichetta con scritto UEFI mentre su quello di Windows non c'è.
    Azz... Ho dato per scontato che fossi sicuro di aver installato Win7 in modalità EFI/GPT. Il media di Windows7, di default, non prevede questa possibilità è necessario modificarlo.
    C'è un altro mio thread a riguardo in giro. Altrimenti è sufficiente fare un copia-incolla del contenuto del DVD su una chiavetta formattata in FAT32 e disabilitare la modalità compatibile (o legacy).
    Se non hai fatto nulla del genere, Win7 è sicuramente installato in modalità MBR quindi non c'è alcuna applicazione EFI da avviare e puoi seguire la modalità "classica" con in chainload per avviare Windows.

    Originariamente inviato da Ticio
    2_ Ho letto che il comando efibootmgr va a modificare il firmware della scheda madre, ma cosa significa? Non dovrei intervenire su GRUB? Vorrei capire di più sul legame tra il firmware della scheda madre e il bootloader di Linux

    Scusate per le domande ma come avete capito non me ne intendo molto di queste cose e sono nuovo in Linux
    Non è una questione di Linux o Windows: UEFI ha cambiato un pochino le cose rispetto al vecchio BIOS.
    Con il bios, impostando un disco di avvio la mobo andava sempre a leggere le informazioni salvate nel Master Boot Record (MBR) del disco indicato per avviare un sistema operativo. Che sul disco ci fosse Windows, Linux o altro al bios non interessava: Se il disco "A" era indicato come disco di avvio, le informazioni relative al bootloader dovevano per forza trovarsi in quella specifica posizione.
    Con UEFI, invece, non si fornisce più l'indicazione del disco da avviare ma il percorso di uno specifico file con estensione ".efi" che si trova in una partizione formattata in FAT/FAT32 e denominata "EFI System Partition". La partizione che contiene il file è indicata al firmware della mobo usando il proprio GUID e potrebbe benissimo non essere la prima del disco (come in Windows8), trovarsi su un disco diverso o anche su una chiavetta USB. Un'altra possibilità è quella di usare una sola "EFI System Partition" per due diversi sistemi operativi (ad esempio, Windows e Linux installati sullo stesso disco) lasciando però i rispettivi bootloader assolutamente inalterati, semplicemente creando nel firmware due voci: Una che punta al file ".efi" di Windows e l'altra che punta al file ".efi" di Linux, entrambi presenti all'interno della stessa partizione.

    La sequenza di avvio di un sistema EFI prevede quindi che la mobo individui, tramite le registrazioni effettuate nel firmware, l'applicazione ".efi" da avviare. Una volta completata questa operazione, il controllo del boot passa dal firmware della mobo all'applicazione EFI (grub o il bootloader di Windows) che a sua volta provvede a caricare la propria configurazione (il file grub.conf o l'equivalente in Windows) ed eseguire le operazioni indicate (avvio di Linux o avvio di Windows).

    E' più chiaro, ora?

    Questa è la storia di 4 persone chiamate Ognuno, Qualcuno, Ciascuno e Nessuno. C'era un lavoro importante da fare e Ognuno era sicuro che Qualcuno lo avrebbe fatto. Ciascuno poteva farlo, ma Nessuno lo fece, Qualcuno si arrabbiò perché era il lavoro di Ognuno. Ognuno pensò che Ciascuno potesse farlo, ma Ognuno capì che Nessuno l'avrebbe fatto. Finì che Ognuno incolpò Qualcuno perché Nessuno fece ciò che Ciascuno avrebbe potuto fare.

  6. #6
    Super Moderatore L'avatar di frakka
    Registrato
    May 2001
    Località
    Casalecchio di Reno (Bo)
    Età
    43
    Messaggi
    23,379
    configurazione

    Predefinito

    Confermo, non c'è nessuna partizione EFI per Windows.

    sda ed sdb sono sicuramente i due dischi con le installazioni di Windows, essendo formattati in NTFS.
    sdc è invece il disco con linux che invece è partizionato "EFI compliant" avendo una partizione in fat (vfat) e una partizione formatta in ext4 che immagino essere la "/". Conclude il partizionamento del disco la partizione di swap.

    In pratica, probabilmente hai Windows installato in modalità legacy e Linux in modalità EFI/GPT. Per accertartene è sufficiente che apri "Gestione disco" da Windows e vedi cosa ti dice.
    Io ho una situazione del genere:
    Clicca sull'immagine per ingrandirla

Nome:   win8_2.jpg
Visite: 208
Dimensione:   100.0 KB
ID: 14782Clicca sull'immagine per ingrandirla

Nome:   win8.PNG
Visite: 173
Dimensione:   14.3 KB
ID: 14783

    Se ho ragione, tu hai il disco di Windows in "Stile partizione: MBR" e il disco di Linux in GPT.

    Questa è la storia di 4 persone chiamate Ognuno, Qualcuno, Ciascuno e Nessuno. C'era un lavoro importante da fare e Ognuno era sicuro che Qualcuno lo avrebbe fatto. Ciascuno poteva farlo, ma Nessuno lo fece, Qualcuno si arrabbiò perché era il lavoro di Ognuno. Ognuno pensò che Ciascuno potesse farlo, ma Ognuno capì che Nessuno l'avrebbe fatto. Finì che Ognuno incolpò Qualcuno perché Nessuno fece ciò che Ciascuno avrebbe potuto fare.

  7. #7
    bit
    Registrato
    Jan 2014
    Messaggi
    20

    Predefinito

    Ti ringrazio moltissimo per la risposta molto chiara e dettagliata. Io sono appassionato di informatica ed è anche il percorso di studi che ho scelto quindi queste cose mi interessano davvero Ho installato Linux per studiarlo e capirne il suo funzionamento Lasciando perdere questa inutile divagazione ritorno al mio caso:
    È esattamente come dici tu! Windows in MBR e Linux in GPT Si riesce a trovare una soluzione lo stesso?

  8. #8
    Super Moderatore L'avatar di frakka
    Registrato
    May 2001
    Località
    Casalecchio di Reno (Bo)
    Età
    43
    Messaggi
    23,379
    configurazione

    Predefinito

    Sicuramente sì, in qualche modo facciamo.
    Riprendiamo il discorso stasera, credo che comunque sia sufficiente fare un normale "chainload +1"

    Questa è la storia di 4 persone chiamate Ognuno, Qualcuno, Ciascuno e Nessuno. C'era un lavoro importante da fare e Ognuno era sicuro che Qualcuno lo avrebbe fatto. Ciascuno poteva farlo, ma Nessuno lo fece, Qualcuno si arrabbiò perché era il lavoro di Ognuno. Ognuno pensò che Ciascuno potesse farlo, ma Ognuno capì che Nessuno l'avrebbe fatto. Finì che Ognuno incolpò Qualcuno perché Nessuno fece ciò che Ciascuno avrebbe potuto fare.

  9. #9
    bit
    Registrato
    Jan 2014
    Messaggi
    20

    Predefinito

    Originariamente inviato da frakka
    Sicuramente sì, in qualche modo facciamo.
    Riprendiamo il discorso stasera, credo che comunque sia sufficiente fare un normale "chainload +1"
    Allora a stasera grazie mille

    P.S. Sono andato a vedere cosa c'è in grub.cfg e la voce attuale non funzionante di Windows 7 è configurata così:

    ### BEGIN /etc/grub.d/30_os-prober ###
    menuentry "Windows 7 (loader) (on /dev/sda1)" --class windows --class os {
    insmod part_msdos
    insmod ntfs
    set root='(hd0,msdos1)'
    search --no-floppy --fs-uuid --set=root 02F04E64F04E5DD3
    chainloader +1
    }
    set timeout_style=menu
    if [ "${timeout}" = 0 ]; then
    set timeout=10
    fi
    ### END /etc/grub.d/30_os-prober ###

    P.P.S. Comunque ho scoperto perché non funzionava il comando hints_string. Leggendo nel manuale ho trovato questo:

    --target=(fs|fs_uuid|fs_label|drive|device|partmap|abstraction)

    Tra le opzioni di --target non esiste un hints_string. In teoria dovrebbe esserci anche questa e molte altre opzioni. Non so come mai io non ce le ho!
    Ultima modifica di Ticio : 29-01-2014 a 16:45

  10. #10
    Super Moderatore L'avatar di frakka
    Registrato
    May 2001
    Località
    Casalecchio di Reno (Bo)
    Età
    43
    Messaggi
    23,379
    configurazione

    Predefinito

    Uhm... Io gli appunti li ho presi su Arch (per Grub2) e CentOS (per Grub). Mi pare strano che ci siamo comandi "non supportati" da Linux Mint.

    Comunque sia: Io commenterei tutta quella sezione tra "BEGIN" ed "END" (aggiungendo il # davanti ad ogni riga).
    Poi lavorerei sul un altro file che si trova in quella stessa directory che dovrebbe essere il 40_custom o qualcosa del genere, inserendo qualcosa tipo:
    codice:
    menuentry "Microsoft Windows7" {
        insmod ntfs
        set root=(hd0,msdos1)
        parttool (hd0,1 ) boot+
        chainloader +1
    }
    Assumendo che il disco con Windows7 sia il primo (sda).
    Le info di cui sopra sono state nel forum di Ubuntu, non è farina del mio sacco.

    Se poi non dovesse funzionare. al massimo possiamo usare un trucco barbino per far semplicemente "chiudere" grub e passare il boot al secondo dispositivo nella catena, che sarà il disco di Windows.

    Questa è la storia di 4 persone chiamate Ognuno, Qualcuno, Ciascuno e Nessuno. C'era un lavoro importante da fare e Ognuno era sicuro che Qualcuno lo avrebbe fatto. Ciascuno poteva farlo, ma Nessuno lo fece, Qualcuno si arrabbiò perché era il lavoro di Ognuno. Ognuno pensò che Ciascuno potesse farlo, ma Ognuno capì che Nessuno l'avrebbe fatto. Finì che Ognuno incolpò Qualcuno perché Nessuno fece ciò che Ciascuno avrebbe potuto fare.

Pagina 1 di 4 1 2 3 4 ultimo

Informazioni Thread

Users Browsing this Thread

Ci sono attualmente 1 utenti che stanno visualizzando questa discussione. (0 utenti e 1 ospiti)

Regole d'invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
nexthardware.com - © 2002-2022