Page 1 of 8 123 ... LastLast
Results 1 to 10 of 79

Thread: GRUB error 17 on external HDD

  1. #1
    Join Date
    Apr 2011
    Location
    Latvia
    Posts
    28

    Default GRUB error 17 on external HDD

    This is my first post here so i'll start by saying hi. Hi!

    As for the problem

    I recently decided to try out openSUSE 11.4 with gnome and install it on my external USB HDD. To do so i followed this guide here SDB:Installation on external hard drive - openSUSE

    Unfortunately after finishing the install when trying to boot into the system i got GRUB error 17. The only thing i did differently from the guide was placing the /boot partition after a ~800 GB NTFS partition with my data.

    I tried to solve the problem by reinstalling the system with different settings than before. After completing all of the steps in the guide mentioned i disabled booting from MBR and enabled booting from /boot partition. Also set the installer to write generic boot code to MBR.

    Though after the installation i realized that grub is not loading at all this time and went on to fix it by completing the steps here SDB:All about GRUB - openSUSE . After doing so i'm back to GRUB error 17.

    Could anyone help me with this? Also a brief explanation of GRUB installation options (the ones i messed up in the second go) would be appreciated.

  2. #2
    Join Date
    Mar 2010
    Location
    Austin - Texas
    Posts
    10,140
    Blog Entries
    48

    Smile Re: GRUB error 17 on external HDD

    This is my first post here so i'll start by saying hi. Hi!

    As for the problem

    I recently decided to try out openSUSE 11.4 with gnome and install it on my external USB HDD. To do so i followed this guide here SDB:Installation on external hard drive - openSUSE

    Unfortunately after finishing the install when trying to boot into the system i got GRUB error 17. The only thing i did differently from the guide was placing the /boot partition after a ~800 GB NTFS partition with my data.

    I tried to solve the problem by reinstalling the system with different settings than before. After completing all of the steps in the guide mentioned i disabled booting from MBR and enabled booting from /boot partition. Also set the installer to write generic boot code to MBR.

    Though after the installation i realized that grub is not loading at all this time and went on to fix it by completing the steps here SDB:All about GRUB - openSUSE . After doing so i'm back to GRUB error 17.

    Could anyone help me with this? Also a brief explanation of GRUB installation options (the ones i messed up in the second go) would be appreciated.
    First off, sorry to hear of your troubles and welcome to the openSUSE forum. Grub Error 17 says:
    17 : "Invalid device requested" This error is returned if a device string is recognizable but does not fall under the other device errors.
    So I must ask, if you remove your External Hard Drive (Disconnect it) does your main computer boot? Here is what I give to anyone trying to boot from a second or external hard drive. Why not read this and see if it helps.

    Each hard drive can have up to four PRIMARY partitions, any of which could be marked active and bootable. No matter what you might hear, only one of the first four primary partitions can be booted from. That means you can boot from Primary partitions 1, 2, 3 or 4 and that is all. In order to boot openSUSE, you must load openSUSE and the grub boot loader into one of the first four partitions. Or, your second choice is to load the grub boot loader into the MBR (Master Boot Record) at the start of the disk. The MBR can be blank, like a new disk, it can contain a Windows partition booting code or generic booting code to boot the active partition 1, 2, 3, or 4. Or, as stated before, it can contain the grub boot loader. Why load grub into the MBR then? You do this so that you can "boot" openSUSE from a logical partition, numbered 5 or higher, which is not normally possible. In order to have more than four partitions, one of them (and only one can be assigned as extended) must be a extended partition. It is called an Extended Primary Partition, a container partition, it can be any one of the first four and it can contain one or more logical partitions within. Anytime you see partition numbers 5, 6 or higher for instance, they can only occur inside of the one and only Extended Primary partition you could have.

    What does openSUSE want as far as partitions? It needs at minimum a SWAP partition and a "/" partition where all of your software is loaded. Further, it is recommended you create a separate /home partition, which makes it easier to upgrade or reload openSUSE without losing all of your settings. So, that is three more partitions you must add to what you have now. What must you do to load and boot openSUSE from an external hard drive? Number one, you must be able to select your external hard drive as the boot drive in your BIOS setup. Number two, you need to make sure that the external hard drive, perhaps /dev/sdb, is listed as the first hard drive in your grub device.map file and listed as drive hd0. I always suggest that you do not load grub into the MBR, but rather into the openSUSE "/" root primary partition which means a primary number of 1, 2, 3 or 4. If number one is used, then that will be out. You will mark the openSUSE partition as active for booting and finally you must load generic booting code into the MBR so that it will boot the openSUSE partition. I suggest a partition like this:

    0. /dev/sdb, Load MBR with generic booting code
    1. /dev/sdb1, Primary NTFS Partition for Windows
    2. /dev/sdb2, Primary SWAP (4 GB)
    3. /dev/sdb3, Primary EXT4 "/" openSUSE Partition Marked Active for booting (80-120 GB)
    4. /dev/sdb4, Primary EXT4 "/home" Your main home directory (Rest of the disk)

    Thank You,
    My Blog: https://forums.opensuse.org/blogs/jdmcdaniel3/

    Software efficiency halves every 18 months, thus compensating for Moore's Law

    Its James again from Austin, Texas

  3. #3
    Join Date
    Apr 2011
    Location
    Latvia
    Posts
    28

    Default Re: GRUB error 17 on external HDD

    Quote Originally Posted by jdmcdaniel3 View Post
    So I must ask, if you remove your External Hard Drive (Disconnect it) does your main computer boot?
    Yes, while installing openSUSE i left the primary hard drive intact so it boots windows normally.

    The partition setup that you suggested only slightly differs from the one i had before (at least i think so):

    /dev/sdb, MBR loaded with generic boot code
    /dev/sdb1 800 GB NTFS, My data
    /dev/sdb2 100 MB ext2, "/boot" Marked as active, GRUB loaded here
    /dev/sdb3 8 GB swap
    /dev/sdb4 Max., Extended partition
    /dev/sdb5 20 GB ext3, "/"
    /dev/sdb6 Max. XFS, "/home"

    But i'll try the setup you suggested and post back with results.

  4. #4
    Join Date
    Apr 2011
    Location
    Latvia
    Posts
    28

    Default Re: GRUB error 17 on external HDD

    I tried the partition setup you suggested but the result is the same as it was after the reinstall mentioned in my original post - the grub won't load at all. More specifically after booting the external HDD i'm left with a black screen and cursor blinking int the upper left corner.

    Here is the partition setup from fdisk
    Code:
    Device Boot      Start         End      Blocks   Id  System
    /dev/sdb1              63  1866463892   933231915    7  HPFS/NTFS/exFAT
    /dev/sdb2      1866465280  1874866175     4200448   82  Linux swap / Solaris
    /dev/sdb3   *  1874866176  1927301119    26217472   83  Linux
    /dev/sdb4      1927301120  1953523711    13111296   83  Linux
    The contents of device.map
    Code:
    (hd0)	/dev/disk/by-id/usb-Samsung_STORY_Station_0000002CE093105002BD-0:0
    Contents of menu.lst
    Code:
    # Modified by YaST2. Last modification on Sun Apr 10 14:20:53 EEST 2011
    # THIS FILE WILL BE PARTIALLY OVERWRITTEN by perl-Bootloader
    # Configure custom boot parameters for updated kernels in /etc/sysconfig/bootloader
    
    default 0
    timeout 8
    ##YaST - generic_mbr
    gfxmenu (hd1,2)/boot/message
    ##YaST - activate
    
    ###Don't change this comment - YaST2 identifier: Original name: linux###
    title openSUSE 11.4
        root (hd0,2)
        kernel /boot/vmlinuz-2.6.37.1-1.2-desktop root=/dev/disk/by-id/usb-Samsung_STORY_Station_0000002CE093105002BD-0:0-part3 resume=/dev/disk/by-id/usb-Samsung_STORY_Station_0000002CE093105002BD-0:0-part2 splash=silent quiet showopts vga=0x345
        initrd /boot/initrd-2.6.37.1-1.2-desktop
    
    ###Don't change this comment - YaST2 identifier: Original name: failsafe###
    title Failsafe -- openSUSE 11.4
        root (hd0,2)
        kernel /boot/vmlinuz-2.6.37.1-1.2-desktop root=/dev/disk/by-id/usb-Samsung_STORY_Station_0000002CE093105002BD-0:0-part3 showopts apm=off noresume edd=off powersaved=off nohz=off highres=off processor.max_cstate=1 nomodeset x11failsafe vga=0x345
        initrd /boot/initrd-2.6.37.1-1.2-desktop

  5. #5

    Default Re: GRUB error 17 on external HDD

    Quote Originally Posted by stealthiness View Post
    The contents of device.map
    Code:
    (hd0)	/dev/disk/by-id/usb-Samsung_STORY_Station_0000002CE093105002BD-0:0
    [/CODE]
    Code:
    readlink /dev/disk/by-id/usb-Samsung_STORY_Station_0000002CE093105002BD-0:0

  6. #6
    Join Date
    Dec 2008
    Location
    Idaho
    Posts
    204

    Default Re: GRUB error 17 on external HDD

    From your menu.lst
    Code:
    gfxmenu (hd1,2)/boot/message
    That should be (hd0,2). But you have reinstalled so that may no longer be the problem.

  7. #7
    Join Date
    Apr 2011
    Location
    Latvia
    Posts
    28

    Default Re: GRUB error 17 on external HDD

    Quote Originally Posted by please_try_again View Post
    Code:
    readlink /dev/disk/by-id/usb-Samsung_STORY_Station_0000002CE093105002BD-0:0
    Do you mean i should change "(hd0)" to "readlink" in device.map? If so, then it did not change anything.

    Quote Originally Posted by LostFarmer View Post
    From your menu.lst
    Code:
    gfxmenu (hd1,2)/boot/message
    That should be (hd0,2). But you have reinstalled so that may no longer be the problem.
    I noticed that to but changing it to (hd0,2) had no effect.

  8. #8

    Default Re: GRUB error 17 on external HDD

    Quote Originally Posted by stealthiness View Post
    Do you mean i should change "(hd0)" to "readlink" in device.map? If so, then it did not change anything.
    No, I asked you to type (copy/paste) this command in a terminal. It should output something like ../../sda or ../../sdb.
    The device.map file is only used when you install/reinstall Grub, but it provides an indication about the BIOS/Linux device mapping as you installed Grub.

  9. #9
    Join Date
    Mar 2010
    Location
    Austin - Texas
    Posts
    10,140
    Blog Entries
    48

    Smile Re: GRUB error 17 on external HDD

    So I see a few oddities. First off, your device.map file should have two hard drives listed. /dev/sda, which would be hd1 and /dev/sdb which would be hd0. Your entry of /dev/disk/by-id/usb-Samsung_STORY_Station_0000002CE093105002BD-0:0 might be OK if this is the external hard drive, but if so, where is the internal hard drive? Also, I see the listed drive ends with -0:0 which I think means it is a USB hard drive. Now here is the part that must be wrong right here from your menu.lst file:

    Code:
    gfxmenu (hd1,2)/boot/message
    This must say (hd0,2) to be pointing to the USB hard drive and you don't even have a hd1 entry in your device.map file. So this is likely the source of the error 17 you are getting from grub.

    Thank You,
    My Blog: https://forums.opensuse.org/blogs/jdmcdaniel3/

    Software efficiency halves every 18 months, thus compensating for Moore's Law

    Its James again from Austin, Texas

  10. #10
    Join Date
    Apr 2011
    Location
    Latvia
    Posts
    28

    Default Re: GRUB error 17 on external HDD

    Quote Originally Posted by please_try_again View Post
    No, I asked you to type (copy/paste) this command in a terminal. It should output something like ../../sda or ../../sdb.
    The device.map file is only used when you install/reinstall Grub, but it provides an indication about the BIOS/Linux device mapping as you installed Grub.
    It returned ../../sdb

Page 1 of 8 123 ... LastLast

Tags for this Thread

Posting Permissions

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