Autor Tópico: Dual boot - depois de instalar o linux o winXP não funciona  (Lida 2277 vezes)

Offline Caio Daroque

  • Usuário Ubuntu
  • *
  • Mensagens: 8
    • Ver perfil
Dual boot - depois de instalar o linux o winXP não funciona
« Online: 16 de Julho de 2011, 11:38 »
Instalei o XP primeiro como fala no tópico de instalação, instalei o Ubuntu, porem agora, quando entra na tela para escolher o sistema(tela do Ubuntu, com 4 opções de Ubuntu e uma de windows), tenho a opção do windows, porem quando seleciono o PC da um loop e volta para a tela de boot...
Acho(tenho certeza) que fiz algo de errado durante a instalação...
Como proceder?
As partições ficaram assim:
Hda1 - Win (Partição primaria)
Hda2 - Arquivos
Hda3 -/home
Hda4 -/
Hda5 -Swap

Acho que eu tenho uma ideia do que seja, quando eu fui instalar o linux, aparece uma opção embaixo(que no post de instalação dual boot não tem), uma opção perguntando qual sistema deve ser usado para boot(ou alguma coisa assim), deixei a opção padrão (windows XP)

Se alguem puder ajudar agradeço.

Offline jeflui

  • Usuário Ubuntu
  • *
  • Mensagens: 745
    • Ver perfil
Re: Dual boot - depois de instalar o linux o winXP não funciona
« Resposta #1 Online: 16 de Julho de 2011, 12:22 »
No terminal:
Código: [Selecionar]
sudo update-grub2Depois reinicie para testar.

Offline Caio Daroque

  • Usuário Ubuntu
  • *
  • Mensagens: 8
    • Ver perfil
Re: Dual boot - depois de instalar o linux o winXP não funciona
« Resposta #2 Online: 16 de Julho de 2011, 12:32 »
tentei e nao de certo

Offline jeflui

  • Usuário Ubuntu
  • *
  • Mensagens: 745
    • Ver perfil
Re: Dual boot - depois de instalar o linux o winXP não funciona
« Resposta #3 Online: 16 de Julho de 2011, 14:28 »
Então coloca aqui as saídas desses comandos:
Código: [Selecionar]
sudo fdisk -l
Código: [Selecionar]
cat /etc/grub.d/30_otheros

Offline Caio Daroque

  • Usuário Ubuntu
  • *
  • Mensagens: 8
    • Ver perfil
Re: Dual boot - depois de instalar o linux o winXP não funciona
« Resposta #4 Online: 16 de Julho de 2011, 14:48 »
Então coloca aqui as saídas desses comandos:
Código: [Selecionar]
sudo fdisk -l
Código: [Selecionar]
cat /etc/grub.d/30_otheros

ele me da:Arquivo ou diretorio não encontrado

Offline jeflui

  • Usuário Ubuntu
  • *
  • Mensagens: 745
    • Ver perfil
Re: Dual boot - depois de instalar o linux o winXP não funciona
« Resposta #5 Online: 16 de Julho de 2011, 14:54 »
No diretório /etc/grub.d em um dos arquivos vai estar as linhas para carregar o Windows, precisava ver elas juntamente com a saída do fdisk.

Offline Caio Daroque

  • Usuário Ubuntu
  • *
  • Mensagens: 8
    • Ver perfil
Re: Dual boot - depois de instalar o linux o winXP não funciona
« Resposta #6 Online: 16 de Julho de 2011, 15:11 »
saida fdisk:

Disco /dev/sda: 250.1 GB, 250059350016 bytes
255 heads, 63 sectors/track, 30401 cylinders
Unidades = cilindros de 16065 * 512 = 8225280 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes
Identificador do disco: 0x8b66b50c

Dispositivo Boot Início Fim Blocos Id Sistema
/dev/sda1   *           1        6528    52436128+   7  HPFS ou NTFS
/dev/sda2            6529       30402   191762209+   f  Win95 (LBA) Partição Extendida
/dev/sda5            6529       23760   138416008+   b  W95 FAT32
/dev/sda6           23761       24733     7812500   83  Linux
/dev/sda7           24733       24794      487424   82  Linux swap / Solaris
/dev/sda8           24794       30402    45044736   83  Linux
caio@caio:~$



o unico arquivo que me diz algo sobre multiboot(dentro da pasta) é o 30_os-prober, que eh o seguinte:

#! /bin/sh
set -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=

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

      if [ "x${1}" = "x0" ] ; then
   cat <<EOF
if [ "x\${timeout}" != "x-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 [ "x\${timeout}" != "x-1" ]; then
  if sleep$verbose --interruptible ${GRUB_HIDDEN_TIMEOUT} ; then
    set timeout=0
  fi
fi
EOF
      fi
    fi
  fi
}

adjust_timeout () {
  if [ "x$GRUB_BUTTON_CMOS_ADDRESS" != "x" ]; then
    cat <<EOF
if cmostest $GRUB_BUTTON_CMOS_ADDRESS ; then
EOF
    make_timeout "${GRUB_HIDDEN_TIMEOUT_BUTTON}" "${GRUB_TIMEOUT_BUTTON}"
    echo else
    make_timeout "${GRUB_HIDDEN_TIMEOUT}" "${GRUB_TIMEOUT}"
    echo fi
  else
    make_timeout "${GRUB_HIDDEN_TIMEOUT}" "${GRUB_TIMEOUT}"
  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

osx_entry() {
        cat << EOF
menuentry "${LONGNAME} (${2}-bit) (on ${DEVICE})" --class osx --class darwin --class os {
EOF
   save_default_entry | sed -e "s/^/\t/"
   prepare_grub_to_access_device ${DEVICE} | sed -e "s/^/\t/"
   cat << EOF
        load_video
        set do_resume=0
        if [ /var/vm/sleepimage -nt10 / ]; then
           if xnu_resume /var/vm/sleepimage; then
             set 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
           $1 /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/devprop.bin ]; then
              xnu_devprop_load /Extra/devprop.bin
           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
}

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})" --class windows --class os {
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*|Windows\ Server\ 2008*)
   ;;
   *)
     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 ' '`"
      prepare_boot_cache=

      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})" --class gnu-linux --class gnu --class os {
EOF
   save_default_entry | sed -e "s/^/\t/"
   if [ -z "${prepare_boot_cache}" ]; then
     prepare_boot_cache="$(prepare_grub_to_access_device ${LBOOT} | sed -e "s/^/\t/")"
   fi
   printf '%s\n' "${prepare_boot_cache}"
   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`"
      osx_entry xnu_kernel 32
      osx_entry xnu_kernel64 64
    ;;
    hurd)
      cat << EOF
menuentry "${LONGNAME} (on ${DEVICE})" --class hurd --class gnu --class os {
EOF
      save_default_entry | sed -e "s/^/\t/"
      prepare_grub_to_access_device ${DEVICE} | sed -e "s/^/\t/"
      grub_device="`${grub_probe} --device ${DEVICE} --target=drive`"
      mach_device="`echo "${grub_device}" | sed -e 's/(\(hd.*\),msdos\(.*\))/\1s\2/'`"
      grub_fs="`${grub_probe} --device ${DEVICE} --target=fs`"
      case "${grub_fs}" in
   *fs)   hurd_fs="${grub_fs}" ;;
   *)   hurd_fs="${grub_fs}fs" ;;
      esac
      cat << EOF
   multiboot /boot/gnumach.gz root=device:${mach_device}
   module /hurd/${hurd_fs}.static ${hurd_fs} --readonly \\
         --multiboot-command-line='\${kernel-command-line}' \\
         --host-priv-port='\${host-port}' \\
         --device-master-port='\${device-port}' \\
         --exec-server-task='\${exec-task}' -T typed '\${root}' \\
         '\$(task-create)' '\$(task-resume)'
   module /lib/ld.so.1 exec /hurd/exec '\$(exec-task=task-create)'
}
EOF
    ;;
    *)
      echo "  ${LONGNAME} is not yet supported by grub-mkconfig." >&2
    ;;
  esac
done

adjust_timeout

Offline jeflui

  • Usuário Ubuntu
  • *
  • Mensagens: 745
    • Ver perfil
Re: Dual boot - depois de instalar o linux o winXP não funciona
« Resposta #7 Online: 16 de Julho de 2011, 16:47 »
Não é esse, manda o /boot/grub/grub.cfg então.

clodoaldops

  • Visitante
Re: Dual boot - depois de instalar o linux o winXP não funciona
« Resposta #8 Online: 17 de Julho de 2011, 13:13 »
Vc desfragmentou o windows antes de particiona-lo né?

Se não desfragmentou,  seu windows foi corrompido e talvez tenha que reinstalar. O que já aconteceu comigo umas duas vezes.

Mas antes tente os 2 passos abaixo que já funcionaram comigo:
1-recuperar o boot do xp
http://forum.wmonline.com.br/topic/204491-tutorial-como-restaurar-o-boot-do-windows-xp/
2-recuperar o grub do ubuntu
http://www.vivaolinux.com.br/dica/Como-recuperar-o-GRUB-em-3-comandos-Esse-funciona

Offline jeflui

  • Usuário Ubuntu
  • *
  • Mensagens: 745
    • Ver perfil
Re: Dual boot - depois de instalar o linux o winXP não funciona
« Resposta #9 Online: 17 de Julho de 2011, 13:17 »
Se caso seja esse isso, ele pode:
Código: [Selecionar]
sudo ntfsfix /dev/sda1Pode resolver.

Offline Caio Daroque

  • Usuário Ubuntu
  • *
  • Mensagens: 8
    • Ver perfil
Re: Dual boot - depois de instalar o linux o winXP não funciona
« Resposta #10 Online: 18 de Julho de 2011, 08:42 »
Resolvi!!!
O problema era no Ruindows mesmo, não sei porque nem como, mas ele tava pedindo o hda5(linux)
ao invez do padrão, não sei se isso foi pela instalação do Ubuntu, ou mais uma prova da "estabilidade maravilhosa" do Windows

Galera agradeço muito pela força.

Agradeço pela ajuda, vlw