[Grub] Problema con grub2[RISOLTO]

Problemi riscontrati durante l'installazione di Ubuntu, degli aggiornamenti e degli avanzamenti del sistema.
u046
Prode Principiante
Messaggi: 4
Iscrizione: venerdì 6 novembre 2009, 19:19

[Grub] Problema con grub2[RISOLTO]

Messaggio da u046 »

salve il mio problema è questo:

dopo aver modifcato i file

/etc/grub.d/00_header,
/etc/grub.d/10_linux
/etc/default/grub

di grub 1.98 su ubuntu 10.04 devo aver commesso qualche errore per il quale all'avvio grub non mostrava più in elenco
alcuna voce di ubuntu ma solo quelle degli altri SO (Windows 7 e Debian 5.0.6). Ho provato da liveCD a ripristinare il file grub.cfg seguendo più di una guida ma il problema non si è risolto.
Nel caso cui l'assenza della voce fosse dovuta (come probabile) ad uno di questi file, vorrei sapere se è possibile ripristinarli da liveCD (e se si come) od eventalmente da debian.
Altrimenti mi basterebbe poter avviare ubuntu dal disco rigido una volta sola per poter ripristinare grub con metodi più ortodossi.

Ringrazio anicipatamente e saluto.
Ultima modifica di u046 il mercoledì 30 giugno 2010, 23:08, modificato 1 volta in totale.
Avatar utente
c.realkiller
Rampante Reduce
Rampante Reduce
Messaggi: 5166
Iscrizione: mercoledì 7 gennaio 2009, 0:24
Località: Fossano
Contatti:

Re: [Grub] Problema con grub2

Messaggio da c.realkiller »

non sono un esperto, ma sarebbe utile che tu postassi quei tre file ed anche grub.cfg per veder dov'è l'errore.
io proverei con super grub prima (da live)
http://www.supergrubdisk.org/index.php?pid=5
strade...? dove andiamo noi non ci servono... strade!
Skype: dino.tartaro
facebook: http://www.facebook.com/dino.tartaro
u046
Prode Principiante
Messaggi: 4
Iscrizione: venerdì 6 novembre 2009, 19:19

Re: [Grub] Problema con grub2

Messaggio da u046 »

Risolto: una volta fatto partire ubuntu tramite Super Grub Disk ho trovato un errore riguardante il file 10_linux.

Ringrazio per l'aiuto.

Mostro in ogni caso il file prima delle correzioni.

Codice: Seleziona tutto

#! /bin/sh -e

# grub-mkconfig helper script.
# Copyright (C) 2006,2007,2008,2009,2010  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}
bindir=${exec_prefix}/bin
libdir=${exec_prefix}/lib
. ${libdir}/grub/grub-mkconfig_lib

export TEXTDOMAIN=grub
export TEXTDOMAINDIR=@LOCALEDIR@

CLASS="--class gnu-linux --class gnu --class os"

if [ "x${GRUB_DISTRIBUTOR}" = "x" ] ; then
  OS=GNU/Linux
else
  OS="${GRUB_DISTRIBUTOR}"
  CLASS="--class $(echo ${GRUB_DISTRIBUTOR} | tr '[A-Z]' '[a-z]' | cut -d' ' -f1) ${CLASS}"
fi

# loop-AES arranges things so that /dev/loop/X can be our root device, but
# the initrds that Linux uses don't like that.
case ${GRUB_DEVICE} in
  /dev/loop/*|/dev/loop[0-9])
    GRUB_DEVICE=`losetup ${GRUB_DEVICE} | sed -e "s/^[^(]*(\([^)]\+\)).*/\1/"`
    # We can't cope with devices loop-mounted from files here.
    case ${GRUB_DEVICE} in
      /dev/*) ;;
      *) exit 0 ;;
    esac
  ;;
esac

if [ "x${GRUB_DEVICE_UUID}" = "x" ] || [ "x${GRUB_DISABLE_LINUX_UUID}" = "xtrue" ] \
    || ! test -e "/dev/disk/by-uuid/${GRUB_DEVICE_UUID}" \
    || [ "`grub-probe -t abstraction --device ${GRUB_DEVICE} | sed -e 's,.*\(lvm\).*,\1,'`" = "lvm"  ] ; then
  LINUX_ROOT_DEVICE=${GRUB_DEVICE}
else
  LINUX_ROOT_DEVICE=UUID=${GRUB_DEVICE_UUID}
fi

# add crashkernel option if we have the required tools
if [ -x "/usr/bin/makedumpfile" ] && [ -x "/sbin/kexec" ]; then
    GRUB_CMDLINE_EXTRA="$GRUB_CMDLINE_EXTRA crashkernel=384M-2G:64M,2G-:128M"
fi

linux_entry ()
{
  os="$1"
  version="$2"
  recovery="$3"
  args="$4"
  if ${recovery} ; then
    title="$(gettext_quoted "%s, with Linux %s (recovery mode)")"
  else
    title="$(gettext_quoted "%s, with Linux %s")"
  fi
  printf "menuentry '${title}' ${CLASS} {\n" "${os}" "${version}"
  cat << EOF
	recordfail
EOF
  save_default_entry | sed -e "s/^/\t/"

  if [ "x$GRUB_GFXPAYLOAD_LINUX" != x ]; then
	  cat << EOF
	set gfxpayload=$GRUB_GFXPAYLOAD_LINUX
EOF
  fi

  if [ -z "${prepare_boot_cache}" ]; then
    prepare_boot_cache="$(prepare_grub_to_access_device ${GRUB_DEVICE_BOOT} | sed -e "s/^/\t/")"
  fi
  printf '%s\n' "${prepare_boot_cache}"
  if [ "x$5" != "xquiet" ]; then
    cat << EOF
	echo	'$(printf "$(gettext_quoted "Loading Linux %s ...")" ${version})'
EOF
  fi
  cat << EOF
	linux	${rel_dirname}/${basename} root=${linux_root_device_thisversion} ro ${args}
EOF
  if [ "x$5" != "xquiet" ]; then
    cat << EOF
	echo	'$(gettext_quoted "Loading initial ramdisk ...")'
EOF
  fi
  if test -n "${initrd}" ; then
    cat << EOF
	initrd	${rel_dirname}/${initrd}
EOF
  fi
  cat << EOF
}
EOF
}

list=`for i in /boot/vmlinu[xz]-* /vmlinu[xz]-* ; do
        if grub_file_is_not_garbage "$i" ; then echo -n "$i " ; fi
      done`
prepare_boot_cache=

#while [ "x$list" != "x" ] ; do
  linux=`version_find_latest $list`
  echo "Found linux image: $linux" >&2
  basename=`basename $linux`
  dirname=`dirname $linux`
  rel_dirname=`make_system_path_relative_to_its_root $dirname`
  version=`echo $basename | sed -e "s,^[^0-9]*-,,g"`
  alt_version=`echo $version | sed -e "s,\.old$,,g"`
  linux_root_device_thisversion="${LINUX_ROOT_DEVICE}"

  initrd=
  for i in "initrd.img-${version}" "initrd-${version}.img" \
	   "initrd-${version}" "initrd.img-${alt_version}" \
	   "initrd-${alt_version}.img" "initrd-${alt_version}"; do
    if test -e "${dirname}/${i}" ; then
      initrd="$i"
      break
    fi
# done
  if test -n "${initrd}" ; then
    echo "Found initrd image: ${dirname}/${initrd}" >&2
  else
    # "UUID=" magic is parsed by initrds.  Since there's no initrd, it can't work here.
    linux_root_device_thisversion=${GRUB_DEVICE}
  fi

  linux_entry "${OS}" "${version}" false \
      "${GRUB_CMDLINE_LINUX} ${GRUB_CMDLINE_EXTRA} ${GRUB_CMDLINE_LINUX_DEFAULT}" \
      quiet
# if [ "x${GRUB_DISABLE_LINUX_RECOVERY}" != "xtrue" ]; then
#   linux_entry "${OS}" "${version}" true \
#	"single ${GRUB_CMDLINE_LINUX}"
# fi

  list=`echo $list | tr ' ' '\n' | grep -vx $linux | tr '\n' ' '`
done
Avatar utente
c.realkiller
Rampante Reduce
Rampante Reduce
Messaggi: 5166
Iscrizione: mercoledì 7 gennaio 2009, 0:24
Località: Fossano
Contatti:

Re: [Grub] Problema con grub2

Messaggio da c.realkiller »

risolto va messo al titolo del primo post.
ciao!
strade...? dove andiamo noi non ci servono... strade!
Skype: dino.tartaro
facebook: http://www.facebook.com/dino.tartaro
Scrivi risposta

Ritorna a “Installazione e aggiornamento del sistema operativo”

Chi c’è in linea

Visualizzano questa sezione: 0 utenti iscritti e 2 ospiti