Find the answer to your Linux question:
Results 1 to 7 of 7
Hi - I am dual-booting XP, and all has been fine for a while....until I upgraded Grub yesterday. This was due to the boot menu not updating properly, and I ...
  1. #1
    Just Joined!
    Join Date
    May 2010
    Posts
    5

    Question [SOLVED] XP not booting after Grub2 upgrade

    Hi - I am dual-booting XP, and all has been fine for a while....until I upgraded Grub yesterday. This was due to the boot menu not updating properly, and I realised the system was still using the old grub. The update instructions I used advised putting grub2 on all partitions if you were not sure which one to go for.....I guess this has "upset" the chainloading process, as when I select XP from the menu, I just get a black screen with flashing white cursor, which doesn't seem to respond to anything except CNTRL+ALT+DELETE!

    I can still access all Windows files from Linux, and can see that system files like boot.ini are sill there. Both systems have been backed up, but would prefer not reinstalling right now if possible.

    Below I'll paste grub.cfg and fdisk -l; any suggestions gratefully received!

    thanks,

    Jon.

    ps the computer is a Sony Viao laptop: Core Duo 1.6 GHz - 1 GB Ram - 80 GB HDD, running XP Media Centre and Ubuntu 10.04


    # 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 $prefix/grubenv ]; then
    load_env
    fi
    set default="0"
    if [ ${prev_saved_entry} ]; then
    set saved_entry=${prev_saved_entry}
    save_env saved_entry
    set prev_saved_entry=
    save_env prev_saved_entry
    set boot_once=true
    fi

    function savedefault {
    if [ -z ${boot_once} ]; then
    saved_entry=${chosen}
    save_env saved_entry
    fi
    }

    function recordfail {
    set recordfail=1
    if [ -n ${have_grubenv} ]; then if [ -z ${boot_once} ]; then save_env recordfail; fi; fi
    }
    insmod ext2
    set root='(hd0,6)'
    search --no-floppy --fs-uuid --set df3215e4-bcfe-478b-8ba4-8b4a06099407
    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
    insmod ext2
    set root='(hd0,6)'
    search --no-floppy --fs-uuid --set df3215e4-bcfe-478b-8ba4-8b4a06099407
    set locale_dir=($root)/boot/grub/locale
    set lang=en
    insmod gettext
    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/light-gray
    ### END /etc/grub.d/05_debian_theme ###

    ### BEGIN /etc/grub.d/10_linux ###
    menuentry 'Ubuntu, with Linux 2.6.32-21-generic' --class ubuntu --class gnu-linux --class gnu --class os {
    recordfail
    insmod ext2
    set root='(hd0,6)'
    search --no-floppy --fs-uuid --set df3215e4-bcfe-478b-8ba4-8b4a06099407
    linux /boot/vmlinuz-2.6.32-21-generic root=UUID=df3215e4-bcfe-478b-8ba4-8b4a06099407 ro quiet splash
    initrd /boot/initrd.img-2.6.32-21-generic
    }
    menuentry 'Ubuntu, with Linux 2.6.32-21-generic (recovery mode)' --class ubuntu --class gnu-linux --class gnu --class os {
    recordfail
    insmod ext2
    set root='(hd0,6)'
    search --no-floppy --fs-uuid --set df3215e4-bcfe-478b-8ba4-8b4a06099407
    echo 'Loading Linux 2.6.32-21-generic ...'
    linux /boot/vmlinuz-2.6.32-21-generic root=UUID=df3215e4-bcfe-478b-8ba4-8b4a06099407 ro single
    echo 'Loading initial ramdisk ...'
    initrd /boot/initrd.img-2.6.32-21-generic
    }
    menuentry 'Ubuntu, with Linux 2.6.31-15-generic' --class ubuntu --class gnu-linux --class gnu --class os {
    recordfail
    insmod ext2
    set root='(hd0,6)'
    search --no-floppy --fs-uuid --set df3215e4-bcfe-478b-8ba4-8b4a06099407
    linux /boot/vmlinuz-2.6.31-15-generic root=UUID=df3215e4-bcfe-478b-8ba4-8b4a06099407 ro quiet splash
    initrd /boot/initrd.img-2.6.31-15-generic
    }
    menuentry 'Ubuntu, with Linux 2.6.31-15-generic (recovery mode)' --class ubuntu --class gnu-linux --class gnu --class os {
    recordfail
    insmod ext2
    set root='(hd0,6)'
    search --no-floppy --fs-uuid --set df3215e4-bcfe-478b-8ba4-8b4a06099407
    echo 'Loading Linux 2.6.31-15-generic ...'
    linux /boot/vmlinuz-2.6.31-15-generic root=UUID=df3215e4-bcfe-478b-8ba4-8b4a06099407 ro single
    echo 'Loading initial ramdisk ...'
    initrd /boot/initrd.img-2.6.31-15-generic
    }
    ### END /etc/grub.d/10_linux ###

    ### BEGIN /etc/grub.d/20_memtest86+ ###
    menuentry "Memory test (memtest86+)" {
    insmod ext2
    set root='(hd0,6)'
    search --no-floppy --fs-uuid --set df3215e4-bcfe-478b-8ba4-8b4a06099407
    linux16 /boot/memtest86+.bin
    }
    menuentry "Memory test (memtest86+, serial console 115200)" {
    insmod ext2
    set root='(hd0,6)'
    search --no-floppy --fs-uuid --set df3215e4-bcfe-478b-8ba4-8b4a06099407
    linux16 /boot/memtest86+.bin console=ttyS0,115200n8
    }
    ### END /etc/grub.d/20_memtest86+ ###

    ### BEGIN /etc/grub.d/30_os-prober ###
    menuentry "Windows NT/2000/XP (on /dev/sda1)" {
    insmod ntfs
    set root='(hd0,1)'
    search --no-floppy --fs-uuid --set 9eccddf0ccddc327
    drivemap -s (hd0) ${root}
    chainloader +1
    }
    menuentry "Windows XP Media Center Edition (on /dev/sda2)" {
    insmod ntfs
    set root='(hd0,2)'
    search --no-floppy --fs-uuid --set 4c54a5a254a58ef0
    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 ###

    Disk /dev/sda: 100.0 GB, 100030242816 bytes
    255 heads, 63 sectors/track, 12161 cylinders
    Units = cylinders of 16065 * 512 = 8225280 bytes
    Sector size (logical/physical): 512 bytes / 512 bytes
    I/O size (minimum/optimal): 512 bytes / 512 bytes
    Disk identifier: 0xede55a04

    Device Boot Start End Blocks Id System
    /dev/sda1 1 1034 8305573+ 12 Compaq diagnostics
    /dev/sda2 * 1035 7113 48829567+ 7 HPFS/NTFS
    /dev/sda3 7114 12161 40548060 f W95 Ext'd (LBA)
    /dev/sda5 7114 10631 28258303+ 7 HPFS/NTFS
    /dev/sda6 10632 12090 11719386 83 Linux
    /dev/sda7 12091 12161 570276 82 Linux swap / Solaris

  2. #2
    Super Moderator devils casper's Avatar
    Join Date
    Jun 2006
    Location
    Chandigarh, India
    Posts
    24,316
    Hi and Welcome !

    First partition is Compaq diagnostics and Windows NT/2000/XP (on /dev/sda1) title in GRUB Menu is pointing to that partition only.
    Does blank screen appear on selecting second option for Windows OS in GRUB Menu? ( Windows XP Media Center Edition (on /dev/sda2) )

    Execute sudo update-grub command again and check if it reconfigure grub.cfg file correctly.

    In case nothing works, post the output of sudo blkid command here.
    Code:
    sudo blkid
    It is amazing what you can accomplish if you do not care who gets the credit.
    New Users: Read This First

  3. #3
    Just Joined!
    Join Date
    May 2010
    Posts
    5
    Thanks - blank screen comes up selecting the 2nd Windows. I don't think this Windows installation has changed since I bought the laptop, until the repartioning to load Ubuntu. I did run Wubi for a while, before changing to dual boot. However, the current setup has been stable for months, until the grub update business that is!
    Will do the update command again,

    thanks again,

    Jon.

  4. #4
    Just Joined!
    Join Date
    May 2010
    Posts
    5
    Still the same result after updating grub. This is the display during the update:

    Generating grub.cfg ...
    Found linux image: /boot/vmlinuz-2.6.32-21-generic
    Found initrd image: /boot/initrd.img-2.6.32-21-generic
    Found linux image: /boot/vmlinuz-2.6.31-15-generic
    Found initrd image: /boot/initrd.img-2.6.31-15-generic
    Found memtest86+ image: /boot/memtest86+.bin
    Found Windows NT/2000/XP on /dev/sda1
    Found Windows NT/2000/XP (loader) on /dev/sda2
    done

    - so now my menu does not say "Windows XP" any more....

    Here is sudo blkid:

    /dev/sda7: UUID="9665bb66-cb5c-4483-9c52-e45c4880f87b" TYPE="swap"
    /dev/sda1: LABEL="Recovery Partition" UUID="9ECCDDF0CCDDC327" TYPE="ntfs"
    /dev/sda2: LABEL="VAIO" UUID="4C54A5A254A58EF0" TYPE="ntfs"
    /dev/sda5: LABEL="VAIO" UUID="987476A874768930" TYPE="ntfs"
    /dev/sda6: UUID="df3215e4-bcfe-478b-8ba4-8b4a06099407" TYPE="ext4"
    /dev/sdb1: LABEL="JJ 300GB" UUID="E0341C81341C5D3A" TYPE="ntfs"


    cheers,

    J.

    ps sdb1 is an external USB drive

    UPDATE
    - I can now get into XP by booting from a CD created using info from:
    tinyempire.com/shortnotes/files/ntldr_missing
    - but my normal boot menu still has the same problem. Still, it's a bit better anyway!

  5. #5
    Linux User
    Join Date
    Dec 2007
    Location
    Idaho USA
    Posts
    351
    The update instructions I used advised putting grub2 on all partitions if you were not sure which one to go for.
    If you installed grub2 into the XP partition boot record you no longer have the correct boot code for XP.

    run: dd if=/dev/sda2 bs=512 count=1

    do you see:
    A disk read error occurred
    NTLDR is missing

    or:
    GRUB GeomHard DiskRead Error

    If you see GRUB , do you have a XP cd ? from MS XP cd boot into recovery console and run 'fixboot'.

  6. #6
    Just Joined!
    Join Date
    May 2010
    Posts
    5
    Thanks for that - yes I have the GRUB error, so I'll go and try the fixboot thing now,

    cheers,

    Jon.

    Quote Originally Posted by Lostfarmer View Post
    If you installed grub2 into the XP partition boot record you no longer have the correct boot code for XP.

    run: dd if=/dev/sda2 bs=512 count=1

    do you see:
    A disk read error occurred
    NTLDR is missing

    or:
    GRUB GeomHard DiskRead Error

    If you see GRUB , do you have a XP cd ? from MS XP cd boot into recovery console and run 'fixboot'.

  7. #7
    Just Joined!
    Join Date
    May 2010
    Posts
    5

    Thumbs up

    Fixed!

    Thanks very much for that!

    cheers,

    Jon.

Posting Permissions

  • You may not post new threads
  • You may not post replies
  • You may not post attachments
  • You may not edit your posts
  •  
...