You are not logged in.

#1 2012-05-18 08:34:48

PhotonX
Member
From: Munich
Registered: 2008-08-10
Posts: 591

[Solved] Grub errors 18 and 22 when booting from SSD

Hello community,

recently I purchased an SSD drive and am now having trouble doing an Arch install on it. Before that a 2TB HDD was in use. After building in the SSD I partitioned it (msdos partition table) creating partitions for swap, / and /home. Then I copied the files from the old /home partition on the freshly created one and installed Arch on the new / partition. Here's the partition setup:

$ LANG=C sudo fdisk -l

Disk /dev/sda: 2000.4 GB, 2000398934016 bytes
255 heads, 63 sectors/track, 243201 cylinders, total 3907029168 sectors
Units = sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes
Disk identifier: 0x0003a234

   Device Boot      Start         End      Blocks   Id  System
/dev/sda1            2048  3907028991  1953513472    5  Extended
/dev/sda5           16065     4192964     2088450   82  Linux swap / Solaris
/dev/sda6         4196352    65720319    30761984   83  Linux # old /
/dev/sda7        65722368   577720319   255998976   83  Linux # old /home
/dev/sda8       577722368  3907028991  1664653312   83  Linux

Disk /dev/sdb: 128.0 GB, 128035676160 bytes
255 heads, 63 sectors/track, 15566 cylinders, total 250069680 sectors
Units = sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes
Disk identifier: 0x000a9841

   Device Boot      Start         End      Blocks   Id  System
/dev/sdb1        51863552   241582079    94859264   83  Linux # new /home
/dev/sdb2       241582080   250068991     4243456   82  Linux swap / Solaris
/dev/sdb3            2048    51863551    25930752   83  Linux # new /

Partition table entries are not in disk order

The problem is: booting from the SSD fails as follows: On the first try to select some Grub entry I get an error 22 "No such partition.". On any further try I get error 18 "Selected cylinder exceeds maximum supported by bios".

What works is  to boot up the new system from the Grub residing on the HDD. So the problem is just the new Grub install in the SSD's MBR. Also it's not a thing of Grub's configuration, since copying the working menu.lst from the HDD install and reinstalling grub via grub-install /dev/sdb gives the correct Grub entries but selecting them results in the same errors.

So currently I'm booting from the HDD and selecting the boot entry for the freshly installed SSD system there, which works fine. But of course I'd like the SSD to be able to boot without "help" on the part of the HDD.

I tried to activate AHCI in the Bios but it didn't make any difference. The SSD is a Crucial M4 128GB.

Thanks for any hints,
PhotonX

Last edited by PhotonX (2012-07-26 06:04:53)


Desktop: http://www.sysprofile.de/id15562, Arch Linux    |    Notebook: Thinkpad L13 Yoga Gen2, Manjaro

The very worst thing you can do with free software is to download it, see that it doesn't work for some reason, leave it, and tell your friends that it doesn't work.  -  Tuomas Lukka

Offline

#2 2012-05-18 12:01:27

Strike0
Member
From: Germany
Registered: 2011-09-05
Posts: 1,429

Re: [Solved] Grub errors 18 and 22 when booting from SSD

I dont see a bootable flag ("*" in boot column) in your listings. Maybe you try to set that for your sdb grub partition?
Maybe also you have to switch boot order in bios.

Offline

#3 2012-05-18 13:12:13

PhotonX
Member
From: Munich
Registered: 2008-08-10
Posts: 591

Re: [Solved] Grub errors 18 and 22 when booting from SSD

Thanks for your reply! Of course I've set the SSD on the first place in the Bios' priority list when trying to boot from it. Otherwise I would've booted from the HDD which works fine anyway.

The boot flag is a good idea! In fact I wrote Grub on sda and sdb respectively when installing it on the HDD or SSD (so no sdaX or sdbX partition, just sda and sdb). On the HDD this always worked, maybe it'll really help to make a separate boot partition on the SSD and give it a boot flag. I'll test it and report back later.


Desktop: http://www.sysprofile.de/id15562, Arch Linux    |    Notebook: Thinkpad L13 Yoga Gen2, Manjaro

The very worst thing you can do with free software is to download it, see that it doesn't work for some reason, leave it, and tell your friends that it doesn't work.  -  Tuomas Lukka

Offline

#4 2012-05-18 16:33:11

Strike0
Member
From: Germany
Registered: 2011-09-05
Posts: 1,429

Re: [Solved] Grub errors 18 and 22 when booting from SSD

I would put the boot flag where is your sdb /boot is now.
Besides, are you sure that stays "sdb" when you switch bios orders around? (you can test by booting from the arch iso and looking at partitions then). Maybe you should try the UUID for the new grub config, if that's the case.

Offline

#5 2012-05-18 21:13:53

PhotonX
Member
From: Munich
Registered: 2008-08-10
Posts: 591

Re: [Solved] Grub errors 18 and 22 when booting from SSD

I created a /boot partition now:

$ LANG=C sudo fdisk -l

Disk /dev/sdb: 128.0 GB, 128035676160 bytes
255 heads, 63 sectors/track, 15566 cylinders, total 250069680 sectors
Units = sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes
Disk identifier: 0x000a9841

   Device Boot      Start         End      Blocks   Id  System
/dev/sdb1        51863552   241582079    94859264   83  Linux # /home
/dev/sdb2       241582080   249831423     4124672   82  Linux swap / Solaris
/dev/sdb3            2048    51863551    25930752   83  Linux # / 
/dev/sdb4   *   249831424   250068991      118784   83  Linux # /boot

Partition table entries are not in disk order

Disk /dev/sda: 2000.4 GB, 2000398934016 bytes
255 heads, 63 sectors/track, 243201 cylinders, total 3907029168 sectors
Units = sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes
Disk identifier: 0x0003a234

   Device Boot      Start         End      Blocks   Id  System
/dev/sda1            2048  3907028991  1953513472    5  Extended
/dev/sda5           16065     4192964     2088450   82  Linux swap / Solaris
/dev/sda6         4196352    65720319    30761984   83  Linux
/dev/sda7        65722368   577720319   255998976   83  Linux
/dev/sda8       577722368  3907028991  1664653312   83  Linux

Then installed Grub on this partition: "grub-install /dev/sdb4". Then placed the SSD on the first position in the Bios, booted but got the same errors in Grub. So it doesn't matter where exactly Grub is installed, if it's somewhere on the SSD, it fails...

edit: Concerning using UUIDs: I couldn't find any howto regarding Grub (legacy) configuration with UUID's. Could you point me to some example config?

edit2: I now put the SSD on the first place in the boot list and started PartedMagic. But fdisk still recognizes the SSD as sdb and the HDD as sda. I think, the sdX identifier can be changed only by plugging the SSD in the first SATA port and the HDD in the second (while now it is the other way around).

edit3: I tried to install Grub from the HDD installation on the SSD (executed "grub-install /dev/sdb4" from the HDD system) and found out that, though I created a /boot partition on the SSD, the Grub files installed directly on /dev/sdb are used. So I tried to install Grub from the HDD system onto /dev/sdb (executed "grub-install /dev/sdb" from the HDD system) and got error 22 even before Grub's boot list was shown. But maybe it's really a bad idea to install Grub on another drive than the system it belongs to is located. smile

Last edited by PhotonX (2012-05-18 21:54:56)


Desktop: http://www.sysprofile.de/id15562, Arch Linux    |    Notebook: Thinkpad L13 Yoga Gen2, Manjaro

The very worst thing you can do with free software is to download it, see that it doesn't work for some reason, leave it, and tell your friends that it doesn't work.  -  Tuomas Lukka

Offline

#6 2012-05-18 22:47:08

Strike0
Member
From: Germany
Registered: 2011-09-05
Posts: 1,429

Re: [Solved] Grub errors 18 and 22 when booting from SSD

Ok, yes - UUID's are in grub2. In legacy you can use labels: https://wiki.archlinux.org/index.php/Gr … g_by_label
Does not matter though, since you tested that the SSD stays the same (sdb).
Your sdb3/4 are ext2?

Offline

#7 2012-05-19 06:00:03

PhotonX
Member
From: Munich
Registered: 2008-08-10
Posts: 591

Re: [Solved] Grub errors 18 and 22 when booting from SSD

Nope, sdb3 is ext4 and sdb4 is ext2 but as I wrote, it seems that the Grub install on sdb4 isn't used at all.


Desktop: http://www.sysprofile.de/id15562, Arch Linux    |    Notebook: Thinkpad L13 Yoga Gen2, Manjaro

The very worst thing you can do with free software is to download it, see that it doesn't work for some reason, leave it, and tell your friends that it doesn't work.  -  Tuomas Lukka

Offline

#8 2012-05-19 07:57:42

Strike0
Member
From: Germany
Registered: 2011-09-05
Posts: 1,429

Re: [Solved] Grub errors 18 and 22 when booting from SSD

Maybe pull the plug on your HDD, then you know if the problem is your grub install or the bios.

Offline

#9 2012-05-20 15:27:36

PhotonX
Member
From: Munich
Registered: 2008-08-10
Posts: 591

Re: [Solved] Grub errors 18 and 22 when booting from SSD

It's really strange, but without the HDD it really could boot from the SSD! Of course it dropped me to a recovery shell since all the entries in the fstab were incorrect with the SSD being sda now, but it worked! I'm a bit in a hurry now, so I'll try to find out whether the problem occurs if the SSD is not the first drive or if it is not the only drive in the system later and report back.

Thanks for your assistance!


Desktop: http://www.sysprofile.de/id15562, Arch Linux    |    Notebook: Thinkpad L13 Yoga Gen2, Manjaro

The very worst thing you can do with free software is to download it, see that it doesn't work for some reason, leave it, and tell your friends that it doesn't work.  -  Tuomas Lukka

Offline

#10 2012-07-24 10:10:46

MisterAnderson
Member
Registered: 2011-09-04
Posts: 285

Re: [Solved] Grub errors 18 and 22 when booting from SSD

You can use UUID's in grub-legacy, you just use root=/dev/disk/by-uuid/bed24ac3-5fb2-4fec-80c4-228e2a717e02 instead of root=/dev/sda1 (with your own values of course!) Give that a go first with the SSD only then with the HDD. I personally use labels as it's the easiest way, as long as you use different labels everywhere. It would be root=/dev/disk/by-label/arch or whatever.


D:

Offline

#11 2012-07-24 10:46:51

PhotonX
Member
From: Munich
Registered: 2008-08-10
Posts: 591

Re: [Solved] Grub errors 18 and 22 when booting from SSD

Thanks, will try that when I'm back home. smile


Desktop: http://www.sysprofile.de/id15562, Arch Linux    |    Notebook: Thinkpad L13 Yoga Gen2, Manjaro

The very worst thing you can do with free software is to download it, see that it doesn't work for some reason, leave it, and tell your friends that it doesn't work.  -  Tuomas Lukka

Offline

#12 2012-07-26 06:04:08

PhotonX
Member
From: Munich
Registered: 2008-08-10
Posts: 591

Re: [Solved] Grub errors 18 and 22 when booting from SSD

MisterAnderson, thanks to your hint I could solve this problem also. smile Here a quite strange thing happened, too. Before reordering the drives everything looked like this:

HDD - 1. boot priority - hd0 - sda
SSD - 2. boot priority - hd1 - sdb

Changing the boot priority results in

SSD - 1. boot priority - hd0 - sdb
HDD - 2. boot priority - hd1 - sda

So the hdN labels follow the boot priority while the sdX ones don't. Now that I know this, I could correct my menu.lst and it works now even with /dev/sdX paths.

Thanks again,
PhotonX


Desktop: http://www.sysprofile.de/id15562, Arch Linux    |    Notebook: Thinkpad L13 Yoga Gen2, Manjaro

The very worst thing you can do with free software is to download it, see that it doesn't work for some reason, leave it, and tell your friends that it doesn't work.  -  Tuomas Lukka

Offline

#13 2012-07-26 17:20:22

MisterAnderson
Member
Registered: 2011-09-04
Posts: 285

Re: [Solved] Grub errors 18 and 22 when booting from SSD

That's cool, glad it's working. I think that /dev/sdX paths will (usually) follow the ports on your board, meaning sata 0 will be sda, sata 1 will be sdb and so on (if you're not using any it just skips them). I've got a couple of rigs with 3 and 4 drives in each and both follow this pattern.


D:

Offline

Board footer

Powered by FluxBB