Pagina 3 di 4

Re: blocco all'avvio

Inviato: domenica 28 marzo 2010, 22:41
da educatore

Codice: Seleziona tutto

[quote="redrobin"]
È proprio quello che non mi convince. Proviamoci! Fai prima un backup del file [code]/etc/grub.d/30_os-prober
; poi lo modifichi e scrivi

Codice: Seleziona tutto

menuentry "Microsoft Windows XP *** Edition (on /dev/sda1)" {
        set root=(hd0,1)
        chainloader +1
}
In alternativa la stessa cosa si potrebbe fare nel file /etc/grub.d/40_custom.

In ogni caso poi bisogna dare [code]sudo update-grub
Scusa redrobin, ma con me ci vuole pazienza ::),
Faccio un backup del file

Codice: Seleziona tutto

30_os-prober
Ok. E poi lo modifico

Codice: Seleziona tutto

Come?
Cancello il testo e ci metto quello postato da te? Oppure aggiungo a piè di lista? Oppure sostituisco qualcosa? ???[/code][/code]

Re: blocco all'avvio

Inviato: lunedì 29 marzo 2010, 9:18
da redrobin
Se hai fatto il backup, sostituisci il contenuto del file con quello che ho scritto io. Magari dimmi cosa c'è scritto attualmente in quel file.

Re: blocco all'avvio

Inviato: lunedì 29 marzo 2010, 9:27
da educatore

Codice: Seleziona tutto

Il contenuto di 30_os-prober è questo

[code]#! /bin/sh -e

# grub-mkconfig helper script.
# Copyright (C) 2006,2007,2008,2009  Free Software Foundation, Inc.
#
# GRUB is free software: you can redistribute it and/or modify
# it under the terms of the GNU General Public License as published by
# the Free Software Foundation, either version 3 of the License, or
# (at your option) any later version.
#
# GRUB is distributed in the hope that it will be useful,
# but WITHOUT ANY WARRANTY; without even the implied warranty of
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
# GNU General Public License for more details.
#
# You should have received a copy of the GNU General Public License
# along with GRUB.  If not, see <http://www.gnu.org/licenses/>.

prefix=/usr
exec_prefix=${prefix}
libdir=${exec_prefix}/lib

. ${libdir}/grub/grub-mkconfig_lib

found_other_os=

adjust_timeout () {
  if [ "x${found_other_os}" = "x" ] ; then
    if [ "x${GRUB_HIDDEN_TIMEOUT}" != "x" ] ; then
      if [ "x${GRUB_HIDDEN_TIMEOUT_QUIET}" = "xtrue" ] ; then
	verbose=
      else
	verbose=" --verbose"
      fi

      if [ "x${GRUB_HIDDEN_TIMEOUT}" = "x0" ] ; then
	cat <<EOF
if [ \${timeout} != -1 ]; then
  if keystatus; then
    if keystatus --shift; then
      set timeout=-1
    else
      set timeout=0
    fi
  else
    if sleep$verbose --interruptible 3 ; then
      set timeout=0
    fi
  fi
fi
EOF
      else
	cat << EOF
if [ \${timeout} != -1 ]; then
  if sleep$verbose --interruptible ${GRUB_HIDDEN_TIMEOUT} ; then
    set timeout=0
  fi
fi
EOF
      fi
    fi
  fi
}

if [ "x${GRUB_DISABLE_OS_PROBER}" = "xtrue" ]; then
  adjust_timeout
  exit 0
fi

if [ -z "`which os-prober 2> /dev/null`" -o -z "`which linux-boot-prober 2> /dev/null`" ] ; then
  # missing os-prober and/or linux-boot-prober
  adjust_timeout
  exit 0
fi

OSPROBED="`os-prober | tr ' ' '^' | paste -s -d ' '`"
if [ -z "${OSPROBED}" ] ; then
  # empty os-prober output, nothing doing
  adjust_timeout
  exit 0
fi

for OS in ${OSPROBED} ; do
  DEVICE="`echo ${OS} | cut -d ':' -f 1`"
  LONGNAME="`echo ${OS} | cut -d ':' -f 2 | tr '^' ' '`"
  LABEL="`echo ${OS} | cut -d ':' -f 3 | tr '^' ' '`"
  BOOT="`echo ${OS} | cut -d ':' -f 4`"

  if [ -z "${LONGNAME}" ] ; then
    LONGNAME="${LABEL}"
  fi

  echo "Found ${LONGNAME} on ${DEVICE}" >&2
  found_other_os=1

  case ${BOOT} in
    chain)

      cat << EOF
menuentry "${LONGNAME} (on ${DEVICE})" {
EOF
      save_default_entry | sed -e "s/^/\t/"
      prepare_grub_to_access_device ${DEVICE} | sed -e "s/^/\t/"

      case ${LONGNAME} in
	Windows\ Vista*|Windows\ 7*)
	;;
	*)
	  cat << EOF
	drivemap -s (hd0) \${root}
EOF
	;;
      esac

      cat <<EOF
	chainloader +1
}
EOF
    ;;
    linux)
      LINUXPROBED="`linux-boot-prober ${DEVICE} 2> /dev/null | tr ' ' '^' | paste -s -d ' '`"

      for LINUX in ${LINUXPROBED} ; do
        LROOT="`echo ${LINUX} | cut -d ':' -f 1`"
        LBOOT="`echo ${LINUX} | cut -d ':' -f 2`"
        LLABEL="`echo ${LINUX} | cut -d ':' -f 3 | tr '^' ' '`"
        LKERNEL="`echo ${LINUX} | cut -d ':' -f 4`"
        LINITRD="`echo ${LINUX} | cut -d ':' -f 5`"
        LPARAMS="`echo ${LINUX} | cut -d ':' -f 6- | tr '^' ' '`"

        if [ -z "${LLABEL}" ] ; then
          LLABEL="${LONGNAME}"
        fi

         if [ "${LROOT}" != "${LBOOT}" ]; then
           LKERNEL="${LKERNEL#/boot}"
           LINITRD="${LINITRD#/boot}"
         fi

        cat << EOF
menuentry "${LLABEL} (on ${DEVICE})" {
EOF
	save_default_entry | sed -e "s/^/\t/"
	prepare_grub_to_access_device ${LBOOT} | sed -e "s/^/\t/"
	cat <<  EOF
	linux ${LKERNEL} ${LPARAMS}
EOF
        if [ -n "${LINITRD}" ] ; then
          cat << EOF
	initrd ${LINITRD}
EOF
        fi
        cat << EOF
}
EOF
      done
    ;;
    macosx)
      OSXUUID="`grub-probe --target=fs_uuid --device ${DEVICE} 2> /dev/null`"
        cat << EOF
menuentry "${LONGNAME} (on ${DEVICE})" {
EOF
	save_default_entry | sed -e "s/^/\t/"
	prepare_grub_to_access_device ${DEVICE} | sed -e "s/^/\t/"
	cat << EOF
        insmod vbe
        do_resume=0
        if [ /var/vm/sleepimage -nt10 / ]; then
           if xnu_resume /var/vm/sleepimage; then
             do_resume=1
           fi
        fi
        if [ \$do_resume == 0 ]; then
           xnu_uuid ${OSXUUID} uuid
           if [ -f /Extra/DSDT.aml ]; then
              acpi -e /Extra/DSDT.aml
           fi
           xnu_kernel /mach_kernel boot-uuid=\${uuid} rd=*uuid
           if [ /System/Library/Extensions.mkext -nt /System/Library/Extensions ]; then
              xnu_mkext /System/Library/Extensions.mkext
           else
              xnu_kextdir /System/Library/Extensions
           fi
           if [ -f /Extra/Extensions.mkext ]; then
              xnu_mkext /Extra/Extensions.mkext
           fi
           if [ -d /Extra/Extensions ]; then
              xnu_kextdir /Extra/Extensions
           fi
           if [ -f /Extra/devtree.txt ]; then
              xnu_devtree /Extra/devtree.txt
           fi
           if [ -f /Extra/splash.jpg ]; then
              insmod jpeg
              xnu_splash /Extra/splash.jpg
           fi
           if [ -f /Extra/splash.png ]; then
              insmod png
              xnu_splash /Extra/splash.png
           fi
           if [ -f /Extra/splash.tga ]; then
              insmod tga
              xnu_splash /Extra/splash.tga
           fi
        fi
}
EOF
    ;;
    hurd|*)
      echo "  ${LONGNAME} is not yet supported by grub-mkconfig." >&2
    ;;
  esac
done

adjust_timeout
E io l'ho sostituito con questo:

Codice: Seleziona tutto

menuentry "Microsoft Windows XP *** Edition (on /dev/sda1)" {
        set root=(hd0,1)
        chainloader +1
}
[/code]

Quando faccio update-grub, però, mi esce questa cosa:

Codice: Seleziona tutto

root@educatore-laptop:/home/educatore# sudo gedit /etc/grub.d/30_os-prober
root@educatore-laptop:/home/educatore# sudo update-grub
Generating grub.cfg ...
Found linux image: /boot/vmlinuz-2.6.31-20-generic
Found initrd image: /boot/initrd.img-2.6.31-20-generic
Found linux image: /boot/vmlinuz-2.6.31-14-generic
Found initrd image: /boot/initrd.img-2.6.31-14-generic
Found memtest86+ image: /boot/memtest86+.bin
/etc/grub.d/30_os-prober: 1: menuentry: not found
/etc/grub.d/30_os-prober: 2: Syntax error: "(" unexpected
Ho provato a riavviare, ma niente da fare.  >:( navigando un pò qua e là ho visto che il mio problema ce l'hanno anche altri. La cosa, da quello che ho potuto capire, dipende proprio dalle novità introdotte dal Grub2. Ovviamente, alle novità, si è aggiunta la mia incompetenza e chissà quali pasticci avrò combinato. Potreste indicarmi qualche link che introduce alla conoscenza di Grub2?
Sono sicuro, comunque, che con l'aiuto di redrobin, patel e chiunque vorrà darmi una mano, riuscirò a tornare al dual boot Ubuntu - XP.
Attendo fiducioso.  (good)Grazie  

Re: blocco all'avvio

Inviato: lunedì 29 marzo 2010, 9:38
da patel
io utilizzerei l'alternativa

Re: blocco all'avvio

Inviato: lunedì 29 marzo 2010, 10:37
da educatore
patel ha scritto: io utilizzerei l'alternativa
Ciao patel, buongiorno (good). Quindi tu dici che è meglio tentare con

Codice: Seleziona tutto

40_custom
. Va bene ci provo. Sostituisco il contenuto del file con quello che ha scritto redrobin.  (good).
Con

Codice: Seleziona tutto

30_os-prober
modificato cosa faccio? Ritorno al vecchio file o lo cancello? E se c'è necessità di cancellarlo, come si cancella?

Re: blocco all'avvio

Inviato: lunedì 29 marzo 2010, 12:31
da patel
se ormai lo hai modificato provalo così, dai il sudo update-grub e vedi che succede

Re: blocco all'avvio

Inviato: lunedì 29 marzo 2010, 12:32
da redrobin
Il 30_os-prober rimettilo come prima allora.
Modifica il 40_custom.

Re: blocco all'avvio

Inviato: lunedì 29 marzo 2010, 12:47
da educatore
Grazie ragazzi, sto scrivendo da un negozio mediaworld, con un computer della mela. E' proprio vero! La tecnologia è ormai sempre con noi :). Appena torno a casa provo come dice redrobin. Il tentativo consigliato da patel l'ho già provato. Allora, rimetto il vecchio 30_os-prober e cambio solo il 40_custom mettendo il testo di redrobin. Ok provo e posto (b2b) grazie

Re: blocco all'avvio

Inviato: lunedì 29 marzo 2010, 12:57
da patel
le due cose sono equivalenti per quanto riguarda l'avvio di win, servono solamente a visualizzare la voce di win nel menù di avvio, non risolvono i problemi di win (se ci sono)

Re: blocco all'avvio

Inviato: lunedì 29 marzo 2010, 14:25
da GiovEdi
educatore ha scritto:
...

GRUB.CFG

Codice: Seleziona tutto

#

### BEGIN /etc/grub.d/30_os-prober ###
menuentry "Microsoft Windows XP Professional (on /dev/sda1)" {
	drivemap -s (hd0) ${root}
	chainloader +1
}
### END /etc/grub.d/30_os-prober ###
...


ciao educatore

ti stanno già aiutando a risolvere il tuo problema

io avrei bisogno di sapere se quello che hai postato sopra è stato copiato bene


ti spiego:

manca un rigo fondamentale

vorrei appunto capire se manca perché non lo hai copiato bene oppure se manca perché c'è un bug da qualche parte in xubuntu

puoi confermare per favore il contenuto del file /boot/grub/grub.cfg ?

grazie in anticipo

Re: blocco all'avvio

Inviato: lunedì 29 marzo 2010, 14:48
da educatore
Ciao GiovEdi, mi spiace perchè non riesco a capire bene la tua domanda, però ti posto il GRUB.CFG per intero. Così avrai tutti gli elementi che ti occorrono. Poi fammi sapere qual'è il rigo che manca: :)

Codice: Seleziona tutto

#
# DO NOT EDIT THIS FILE
#
# It is automatically generated by /usr/sbin/grub-mkconfig using templates
# from /etc/grub.d and settings from /etc/default/grub
#

### BEGIN /etc/grub.d/00_header ###
if [ -s /boot/grub/grubenv ]; then
  have_grubenv=true
  load_env
fi
set default="0"
if [ ${prev_saved_entry} ]; then
  saved_entry=${prev_saved_entry}
  save_env saved_entry
  prev_saved_entry=
  save_env prev_saved_entry
fi
insmod ext2
set root=(hd0,6)
search --no-floppy --fs-uuid --set 0271bb41-82d3-4aef-97c5-86231ac42dd9
if loadfont /usr/share/grub/unicode.pf2 ; then
  set gfxmode=640x480
  insmod gfxterm
  insmod vbe
  if terminal_output gfxterm ; then true ; else
    # For backward compatibility with versions of terminal.mod that don't
    # understand terminal_output
    terminal gfxterm
  fi
fi
if [ ${recordfail} = 1 ]; then
  set timeout=-1
else
  set timeout=10
fi
### END /etc/grub.d/00_header ###

### BEGIN /etc/grub.d/05_debian_theme ###
set menu_color_normal=white/black
set menu_color_highlight=black/white
### END /etc/grub.d/05_debian_theme ###

### BEGIN /etc/grub.d/10_linux ###
menuentry "Ubuntu, Linux 2.6.31-20-generic" {
        recordfail=1
        if [ -n ${have_grubenv} ]; then save_env recordfail; fi
	set quiet=1
	insmod ext2
	set root=(hd0,6)
	search --no-floppy --fs-uuid --set 0271bb41-82d3-4aef-97c5-86231ac42dd9
	linux	/boot/vmlinuz-2.6.31-20-generic root=UUID=0271bb41-82d3-4aef-97c5-86231ac42dd9 ro   quiet splash
	initrd	/boot/initrd.img-2.6.31-20-generic
}
menuentry "Ubuntu, Linux 2.6.31-20-generic (recovery mode)" {
        recordfail=1
        if [ -n ${have_grubenv} ]; then save_env recordfail; fi
	insmod ext2
	set root=(hd0,6)
	search --no-floppy --fs-uuid --set 0271bb41-82d3-4aef-97c5-86231ac42dd9
	linux	/boot/vmlinuz-2.6.31-20-generic root=UUID=0271bb41-82d3-4aef-97c5-86231ac42dd9 ro single 
	initrd	/boot/initrd.img-2.6.31-20-generic
}
menuentry "Ubuntu, Linux 2.6.31-14-generic" {
        recordfail=1
        if [ -n ${have_grubenv} ]; then save_env recordfail; fi
	set quiet=1
	insmod ext2
	set root=(hd0,6)
	search --no-floppy --fs-uuid --set 0271bb41-82d3-4aef-97c5-86231ac42dd9
	linux	/boot/vmlinuz-2.6.31-14-generic root=UUID=0271bb41-82d3-4aef-97c5-86231ac42dd9 ro   quiet splash
	initrd	/boot/initrd.img-2.6.31-14-generic
}
menuentry "Ubuntu, Linux 2.6.31-14-generic (recovery mode)" {
        recordfail=1
        if [ -n ${have_grubenv} ]; then save_env recordfail; fi
	insmod ext2
	set root=(hd0,6)
	search --no-floppy --fs-uuid --set 0271bb41-82d3-4aef-97c5-86231ac42dd9
	linux	/boot/vmlinuz-2.6.31-14-generic root=UUID=0271bb41-82d3-4aef-97c5-86231ac42dd9 ro single 
	initrd	/boot/initrd.img-2.6.31-14-generic
}
### END /etc/grub.d/10_linux ###

### BEGIN /etc/grub.d/20_memtest86+ ###
menuentry "Memory test (memtest86+)" {
	linux16	/boot/memtest86+.bin
}
menuentry "Memory test (memtest86+, serial console 115200)" {
	linux16	/boot/memtest86+.bin console=ttyS0,115200n8
}
### END /etc/grub.d/20_memtest86+ ###

### BEGIN /etc/grub.d/30_os-prober ###
menuentry "Microsoft Windows XP Professional (on /dev/sda1)" {
	drivemap -s (hd0) ${root}
	chainloader +1
}
### END /etc/grub.d/30_os-prober ###

### BEGIN /etc/grub.d/40_custom ###
# This file provides an easy way to add custom menu entries.  Simply type the
# menu entries you want to add after this comment.  Be careful not to change
# the 'exec tail' line above.
### END /etc/grub.d/40_custom ###

Re: blocco all'avvio

Inviato: lunedì 29 marzo 2010, 15:01
da educatore
patel ha scritto: le due cose sono equivalenti per quanto riguarda l'avvio di win, servono solamente a visualizzare la voce di win nel menù di avvio, non risolvono i problemi di win (se ci sono)
ubuntu.
Ciao patel, in effetti la voce di windows nel menù d'avvio esiste. Allora, secondo te, XP ha problemi. Anche questo è vero, perchè le altre volte per farlo ripartire ho fatto fixmbr e fixboot dalla consolle di ripristino. Poi ho utilizzato il wiki per grub2 da te consigliato, ma riparte solo Xubuntu. A questo punto credo di aver fatto errori nell'applicare le istruzioni del wiki da te consigliato.
Adesso ci riprovo. Prima o poi la spunto! :)

Re: blocco all'avvio

Inviato: lunedì 29 marzo 2010, 15:58
da educatore
Niente da fare >:(
Dopo aver fatto fixmbr e fixboot di Xp che funziona, ho messo il cdlive di Xubuntu 9.10, la situazione dellHD è questa

Codice: Seleziona tutto

Dispositivo Boot      Start         End      Blocks   Id  System
/dev/sda1   *           1        2789    22394610    c  W95 FAT32 (LBA)
/dev/sda3            2790        4574    14338012+   f  W95 Esteso (LBA)
/dev/sda5            4479        4574      771088+  82  Linux swap / Solaris
/dev/sda6            2790        4478    13566829+  83  Linux
Sono andato in
http://wiki.ubuntu-it.org/AmministrazioneSistema/Grub/Ripristino
poi ho dato questi comandi:

Codice: Seleziona tutto

sudo mount /dev/sda6 /mnt
sudo mount --bind /dev /mnt/dev
sudo mount --bind /proc /mnt/proc
sudo mount --bind /sys /mnt/sys
sudo chroot /mnt
mount /dev/sda6 /boot
grub-install /dev/sda
update-grub
rub-install --recheck /dev/sda
cd ~
sudo umount /mnt/dev
sudo umount /mnt/proc
sudo umount /mnt/sys
sudo umount /mnt/
Dove ho sbagliato? ??? :o

Re: blocco all'avvio

Inviato: lunedì 29 marzo 2010, 17:26
da GiovEdi
educatore ha scritto:
sudo mount /dev/sda6 /mnt
sudo mount --bind /dev /mnt/dev
sudo mount --bind /proc /mnt/proc
sudo mount --bind /sys /mnt/sys
sudo chroot /mnt
mount /dev/sda6 /boot
grub-install /dev/sda
update-grub
grub-install --recheck /dev/sda
cd ~
sudo umount /mnt/dev
sudo umount /mnt/proc
sudo umount /mnt/sys
sudo umount /mnt/

Dove ho sbagliato? ??? :o

se non hai la partizione di /boot separata, il comando in grassetto è sbagliato

Re: blocco all'avvio

Inviato: lunedì 29 marzo 2010, 18:06
da educatore
Ciao GiovEdi, grazie per l'aiuto. Scusami, però non ho molta pratica di linux e non so cosa è la partizione di /boot separata ???. L'ultima volta che ho installato xubuntu 9.10 l'ho fatto con l'opzione manuale dallo slash /. Allora pensavo che si trattasse di una  partizione di /boot separata. Ma forse non è così? Allora riprovo senza partizione. Che dici?

Re: blocco all'avvio

Inviato: lunedì 29 marzo 2010, 20:07
da educatore
GiovEdi ha scritto:
educatore ha scritto:
sudo mount /dev/sda6 /mnt
sudo mount --bind /dev /mnt/dev
sudo mount --bind /proc /mnt/proc
sudo mount --bind /sys /mnt/sys
sudo chroot /mnt
mount /dev/sda6 /boot
grub-install /dev/sda
update-grub
grub-install --recheck /dev/sda
cd ~
sudo umount /mnt/dev
sudo umount /mnt/proc
sudo umount /mnt/sys
sudo umount /mnt/

Dove ho sbagliato? ??? :o

se non hai la partizione di /boot separata, il comando in grassetto è sbagliato


Ho provato anche senza il comando in grassetto, ma non riesco a risolvere
all'update del grub il terminale risponde che os-prober non conosce il file system di XP

Codice: Seleziona tutto

root@educatore-laptop:/home/educatore# sudo update-grub
Generating grub.cfg ...
Found linux image: /boot/vmlinuz-2.6.31-20-generic
Found initrd image: /boot/initrd.img-2.6.31-20-generic
Found linux image: /boot/vmlinuz-2.6.31-14-generic
Found initrd image: /boot/initrd.img-2.6.31-14-generic
Found memtest86+ image: /boot/memtest86+.bin
/etc/grub.d/30_os-prober: 1: }#!: not found
Found Microsoft Windows XP Professional on /dev/sda1
grub-probe: error: unknown filesystem
done

Re: blocco all'avvio

Inviato: lunedì 29 marzo 2010, 21:11
da redrobin
Hai rimesso il file os-probe come era prima?

Re: blocco all'avvio

Inviato: lunedì 29 marzo 2010, 22:01
da educatore
Ragazzi ci sono riuscito ;D . Ho rimesso il file os-probe come era prima (grazie [glow=red,2,300]redrobin[/glow]), poi ho rifatto la procedura del wiki http://wiki.ubuntu-it.org/AmministrazioneSistema/Grub/Ripristino (come diceva [glow=red,2,300]patel)[/glow] stavolta però, come mi ha fatto notare [glow=red,2,300]GiovEdi[/glow] ho fatto anche mount /dev/sda6 /boot. In realtà prima non lo avevo dato. Ho pensato, però, che, siccome avevo installato Xubuntu con l'opzione manuale dallo slash /, allora era come un partizione di boot separata. Insomma, almeno credo che sia andata così :-[. Adesso funziona tutto. Un bel lavoro di squadra. Grazie a tutti ragazzi (b2b) (good)

E' stata una bella avventura per uno, come me, che da poco si è avvicinato a linux. Ho imparato a smanettare con gparted, a distinguere tra grub e grub2, ho scoperto molti comandi linux da terminale e tante altre cose. Poichè io faccio l'insegnante di lettere in un ITIS, dove si studia Informatica, appena rivedo colleghi e studenti più esperti di me farò un figurone. Certe volte scherzano e mi snobbano. Ma io non mollo. Mi piace fare l'analisi del testo della Divina Commedia, ma sono affascinato dal mondo linux e dalle sue potenzialità. Scusate se vi ho annoiato con le mie chiacchiere.
Grazie ancora

Re: [Risolto] blocco all'avvio

Inviato: martedì 30 marzo 2010, 7:20
da patel
è stato il os-probe ripristinato a risolvere, non il mount /dev/sda6 /boot di una partizione che non esiste.
installare Xubuntu con l'opzione manuale dallo slash / NON è come un partizione di boot separata.

Re: [Risolto] blocco all'avvio

Inviato: martedì 30 marzo 2010, 10:26
da redrobin
(good)


ps: viva la letteratura e viva l'informatica al servizio di altre scienze!  (b2b)