Dual boot - depois de instalar o linux o winXP não funciona

Iniciado por Caio Daroque, 16 de Julho de 2011, 11:38

tópico anterior - próximo tópico

Caio Daroque

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.

jeflui

No terminal:
sudo update-grub2
Depois reinicie para testar.


jeflui

Então coloca aqui as saídas desses comandos:
sudo fdisk -l
cat /etc/grub.d/30_otheros

Caio Daroque

Citação de: jeflui online 16 de Julho de 2011, 14:28
Então coloca aqui as saídas desses comandos:
sudo fdisk -l
cat /etc/grub.d/30_otheros


ele me da:Arquivo ou diretorio não encontrado

jeflui

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.

Caio Daroque

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

jeflui


clodoaldops

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

jeflui

Se caso seja esse isso, ele pode:
sudo ntfsfix /dev/sda1
Pode resolver.

Caio Daroque

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