Announcement

Collapse
No announcement yet.

How do I change default OS in dual boot system?

Collapse
This topic is closed.
X
X
 
  • Filter
  • Time
  • Show
Clear All
new posts

    How do I change default OS in dual boot system?

    Hi.

    Totally new to Linux and I have LL and Windows 7 installed on the same hard drive but would like to change the default OS from LL to Windows 7.

    I've been around the net and found a couple of sites with info but either they don't work for Kubuntu or I'm doing it wrong. Probably the latter!

    https://help.ubuntu.com/community/Gr...hangeDefaultOS

    I tried pasting the 'back up grub settings' into Konsole but it says...

    jota@jota-desktop:~$ sudo cp /boot/grub/menu.lst /boot/grub/menu.lst_backup
    cp: cannot stat `/boot/grub/menu.lst': No such file or directory
    jota@jota-desktop:~$
    I tried searching for menu.lst but can't find it.

    I found a grub.cfg file in Root > boot > grub and it contains the following..
    #
    # 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='(hd1,5)'
    search --no-floppy --fs-uuid --set fa770f8e-9602-43b2-bc79-5a03aea71f46
    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='(hd1,5)'
    search --no-floppy --fs-uuid --set fa770f8e-9602-43b2-bc79-5a03aea71f46
    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-22-generic' --class ubuntu --class gnu-linux --class gnu --class os {
    recordfail
    insmod ext2
    set root='(hd1,5)'
    search --no-floppy --fs-uuid --set fa770f8e-9602-43b2-bc79-5a03aea71f46
    linux /boot/vmlinuz-2.6.32-22-generic root=UUID=fa770f8e-9602-43b2-bc79-5a03aea71f46 ro quiet splash
    initrd /boot/initrd.img-2.6.32-22-generic
    }
    menuentry 'Ubuntu, with Linux 2.6.32-22-generic (recovery mode)' --class ubuntu --class gnu-linux --class gnu --class os {
    recordfail
    insmod ext2
    set root='(hd1,5)'
    search --no-floppy --fs-uuid --set fa770f8e-9602-43b2-bc79-5a03aea71f46
    echo 'Loading Linux 2.6.32-22-generic ...'
    linux /boot/vmlinuz-2.6.32-22-generic root=UUID=fa770f8e-9602-43b2-bc79-5a03aea71f46 ro single
    echo 'Loading initial ramdisk ...'
    initrd /boot/initrd.img-2.6.32-22-generic
    }
    menuentry 'Ubuntu, with Linux 2.6.32-21-generic' --class ubuntu --class gnu-linux --class gnu --class os {
    recordfail
    insmod ext2
    set root='(hd1,5)'
    search --no-floppy --fs-uuid --set fa770f8e-9602-43b2-bc79-5a03aea71f46
    linux /boot/vmlinuz-2.6.32-21-generic root=UUID=fa770f8e-9602-43b2-bc79-5a03aea71f46 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='(hd1,5)'
    search --no-floppy --fs-uuid --set fa770f8e-9602-43b2-bc79-5a03aea71f46
    echo 'Loading Linux 2.6.32-21-generic ...'
    linux /boot/vmlinuz-2.6.32-21-generic root=UUID=fa770f8e-9602-43b2-bc79-5a03aea71f46 ro single
    echo 'Loading initial ramdisk ...'
    initrd /boot/initrd.img-2.6.32-21-generic
    }
    ### END /etc/grub.d/10_linux ###

    ### BEGIN /etc/grub.d/20_memtest86+ ###
    menuentry "Memory test (memtest86+)" {
    insmod ext2
    set root='(hd1,5)'
    search --no-floppy --fs-uuid --set fa770f8e-9602-43b2-bc79-5a03aea71f46
    linux16 /boot/memtest86+.bin
    }
    menuentry "Memory test (memtest86+, serial console 115200)" {
    insmod ext2
    set root='(hd1,5)'
    search --no-floppy --fs-uuid --set fa770f8e-9602-43b2-bc79-5a03aea71f46
    linux16 /boot/memtest86+.bin console=ttyS0,115200n8
    }
    ### END /etc/grub.d/20_memtest86+ ###

    ### BEGIN /etc/grub.d/30_os-prober ###
    menuentry "Windows 7 (loader) (on /dev/sda1)" {
    insmod ntfs
    set root='(hd0,1)'
    search --no-floppy --fs-uuid --set 22ecfc18ecfbe447
    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 ###
    I'm a bit put off by the do not edit this at the start but is this the file I should edit?

    Thanks in advance.

    #2
    Re: How do I change default OS in dual boot system?

    No, it's not the file to edit. The reason you are told not to edit it, is that it gets rebuilt every time a new kernel is installed, or other changes to Grub 2 come down the pike. Any changes you make to this file 'by hand' won't be there when it gets rebuilt.

    The files that you edit, are contained in /etc/grub.d/ (IIRC - I'm at work)
    Windows no longer obstructs my view.
    Using Kubuntu Linux since March 23, 2007.
    "It is a capital mistake to theorize before one has data." - Sherlock Holmes

    Comment


      #3
      Re: How do I change default OS in dual boot system?

      Thanks for the reply Snowhog.

      I found the folder which contained a number of files..

      [img width=400 height=118]http://i43.tinypic.com/2aac8ib.jpg[/img]

      I opened the first one in Kate, (not the one highlighted in the screen shot) would this be the bit to edit? If so, do I just change the '0' to '4'?
      # Do this as early as possible, since other commands might depend on it.
      # (e.g. the `loadfont' command might need lvm or raid modules)
      for i in ${GRUB_PRELOAD_MODULES} ; do
      echo "insmod $i"
      done

      if [ "x${GRUB_DEFAULT}" = "x" ] ; then GRUB_DEFAULT=0 ; fi
      if [ "x${GRUB_DEFAULT}" = "xsaved" ] ; then GRUB_DEFAULT='${saved_entry}' ; fi
      if [ "x${GRUB_TIMEOUT}" = "x" ] ; then GRUB_TIMEOUT=5 ; fi
      if [ "x${GRUB_GFXMODE}" = "x" ] ; then GRUB_GFXMODE=640x480 ; fi

      The boot selection screen has -

      Kubuntu
      Kubuntu safe mode (something like that)
      Memory test
      (another) Memory test
      Windows 7

      Is it numbered from 0 which would make Windows #4?

      Thanks again.

      Comment


        #4
        Re: How do I change default OS in dual boot system?

        You missed one file:

        Edit /etc/default/grub, find the line GRUB_DEFAULT=0 (usually line #4 I think), change the zero to four (or whatever) and then, in a terminal type sudo update-grub . That should do it.

        ps. snowhog - aren't you too old to work?

        Please Read Me

        Comment


          #5
          Re: How do I change default OS in dual boot system?

          Originally posted by oshunluvr
          ps. snowhog - aren't you too old to work?
          There are days I believe so, unfortunately, I am also "too young" to retire. :P
          Windows no longer obstructs my view.
          Using Kubuntu Linux since March 23, 2007.
          "It is a capital mistake to theorize before one has data." - Sherlock Holmes

          Comment


            #6
            Re: How do I change default OS in dual boot system?

            Thanks again people.

            I was about to try the suggestion from oshunlvr when I saw my boot list now had copies of linux and linux safe mode.

            Basically it reads

            Linux
            Linux safe mode
            Linux
            Linux safe mode


            Looking at the Grub.cfg file in my OP I see there's a double entry...

            Code:
            ### BEGIN /etc/grub.d/10_linux ###
            menuentry 'Ubuntu, with Linux 2.6.32-22-generic' --class ubuntu --class gnu-linux --class gnu --class os {
              recordfail
              insmod ext2
              set root='(hd1,5)'
              search --no-floppy --fs-uuid --set fa770f8e-9602-43b2-bc79-5a03aea71f46
              linux  /boot/vmlinuz-2.6.32-22-generic root=UUID=fa770f8e-9602-43b2-bc79-5a03aea71f46 ro  quiet splash
              initrd  /boot/initrd.img-2.6.32-22-generic
            }
            menuentry 'Ubuntu, with Linux 2.6.32-22-generic (recovery mode)' --class ubuntu --class gnu-linux --class gnu --class os {
              recordfail
              insmod ext2
              set root='(hd1,5)'
              search --no-floppy --fs-uuid --set fa770f8e-9602-43b2-bc79-5a03aea71f46
              echo  'Loading Linux 2.6.32-22-generic ...'
              linux  /boot/vmlinuz-2.6.32-22-generic root=UUID=fa770f8e-9602-43b2-bc79-5a03aea71f46 ro single 
              echo  'Loading initial ramdisk ...'
              initrd  /boot/initrd.img-2.6.32-22-generic
            }
            menuentry 'Ubuntu, with Linux 2.6.32-21-generic' --class ubuntu --class gnu-linux --class gnu --class os {
              recordfail
              insmod ext2
              set root='(hd1,5)'
              search --no-floppy --fs-uuid --set fa770f8e-9602-43b2-bc79-5a03aea71f46
              linux  /boot/vmlinuz-2.6.32-21-generic root=UUID=fa770f8e-9602-43b2-bc79-5a03aea71f46 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='(hd1,5)'
              search --no-floppy --fs-uuid --set fa770f8e-9602-43b2-bc79-5a03aea71f46
              echo  'Loading Linux 2.6.32-21-generic ...'
              linux  /boot/vmlinuz-2.6.32-21-generic root=UUID=fa770f8e-9602-43b2-bc79-5a03aea71f46 ro single 
              echo  'Loading initial ramdisk ...'
              initrd  /boot/initrd.img-2.6.32-21-generic
            }
            ### END /etc/grub.d/10_linux ###
            I had a look at /etc/grub.d/10_linux and root/etc/default/grub but I don't really know what I'm looking for to be perfectly honest.

            What should I edit to get rid of the copied entries in boot menu before I go and set the default OS?

            Thanks again.

            Comment


              #7
              Re: How do I change default OS in dual boot system?

              It's not really a double entry - it's because you have updated the kernel in your linux install so grub detects both kernels.

              Since grub is being modified from linux it list's it first. If you remove or add a kernel to your linux install and run update_grub the file 10_linux will process linux before windows. According to the grub-pc kubuntu wiki, you can change the line in /etc/default/grub to GRUB_DEFAULT="Windows XP Professional (on /dev/sda1)" and grub will boot by name. Obviously, use the exact name that appears in YOUR grub menu and don't leave out the quotes.

              Another way to handle this would be to rename 30_os-prober to 08_os-prober, thus forcing windows to be detected first and put it at the top of the list. I have not tried this, but I see no reason why it wouldn't work.

              Again another: copy the windows menu entry from grub.cfg and add it to 40_custom. Then rename 40_custom to 08_custom. This would put an unchanging custom entry at the top of the list.

              For those reading this who might want more info, here's some of the skinny:

              The executable files in /etc/grub.d are processed in alphabetical order, like so:

              00_header* >default settings and initial graphical mode, if any
              05_debian_theme* >sets background, colors, fonts
              10_linux* >creates first menu entries from the active install
              20_memtest86+* >adds memtest86 menu entries
              30_os-prober* >adds menu entries as detected for other installed OS's
              40_custom* >adds user created menu entries

              Making any of these files un-executable forces update-grub to skip it entirely. So if you don't want memtest in your menu and you have no other installs other than your single linux install, by turning off the executable bit on 20_memtest86+, 30_os-prober, and 40_custom you will eliminate those additional menu entries and update-grub will run a bit faster also.

              Important note for multi-booters of (K)Ubuntu: Karmic was the first release to offer grub-pc (aka grub2). It was version 1.97. If you did a clean install (not an upgrade), you likely have this version. If you did an upgrade install from Jaunty, you may have this version or you may be chainloading from the old grub known now as grub-legacy or you may be booting with grub-legacy and have no grub-pc at all. The release of Lucid includes an upgrade to grub-pc version 1.98.

              The besides some improvements and bug fixes, the versions have differences to the files in grub.d. This may be important because if you copy or edit your files from a Karmic install and copy them into a Lucid install you might run into errors.

              If you're still using 1.97, I don't recommend attempting activating graphical boot options. It can be done but it's complicated. To determine which version you're using - boot to your main linux install (the one you've installed grub-pc from) and in a terminal type grub-install -v, in a Lucid install this should return grub-install (GNU GRUB 1.98-1ubuntu6)

              Please Read Me

              Comment

              Working...
              X