Thank you for your prompt and well-considered reply, xeleema!
I was hoping for a "quick and easy fix" for those Linux newbies I help, primarily on the Ubuntu Help Forums, but it seems there will be no such fix forthcoming.
However, your reply led me to interesting reading, research, and experimentation, which itself led me to some rather startling (and rather humbling) results.
Quote:
Originally Posted by xeleema
Well, for starters there are two times where device names can "change";
1) The Boot Loader (GRUB or LILO)
2) What the Linux kernel "sees".
|
This is fairly well where the problems lie. I am unsure as to how 'What the Linux kernel "sees"' is determined, but I feel that both of the above are related to my issue with my OpenSUSE installation. The Ubuntu Bootloader in MBR "saw" GRUB in SUSE and started it, but when SUSE's GRUB took over the boot-up process, it's own subsequent stages of GRUB looked for "itself" in "sdbX", which no longer existed due to a couple of partitions having been deleted.
Quote:
Originally Posted by xeleema
When you talk about "sda1", "sda2", etc, those are names assigned by the Linux kernel once it's loaded. Keep in mind that boot loaders (such as GRUB), can and will name devices differently. This is most obvious when you boot with/without a USB device present.
|
Actually, I can boot with or without a USB device present. I made my most recent (fresh) installation with my 1 TB external drive plugged in, and I can successfully boot any of my OSes with or without it plugged in. The only one I can't boot to is the OS I have installed on the external drive itself (naturally!
).
Quote:
Originally Posted by xeleema
|
This is where the complexity for newbies comes in. It raised the interesting possibility of using partition labels for booting and recognition purposes. Unfortunately, the "initrd" replacement enabling using labels, "mkinitcpio", is only available in the Arch Linux repos, that I could find. Ubuntu definitely has nothing like it, and I was unable to find information about any replacement available in that distro.
However, the "UUID" section led to some interesting experiments, which I'll explain below.
Quote:
Originally Posted by xeleema
2) If you system runs only one Operating System (Linux), try using LVM2 (also great if you're attempting redundancy or performance thru various RAID implementations via mdadm)
|
I've not studied into or tried LVM, though it will be an interesting exercise later on. I don't perceive that it is for the newbie, though. LVM is not an option on the current (Lucid Lynx Vers 10.04) Live CD, but seemingly is available as an option on the Alternate Install CD. There's not much on it except from third party sources, and again, it doesn't sound like a viable option for someone just starting out.
Traditional partitioning is hard enough for someone just starting out. Perhaps I'm wrong, but LVM seems even more complex, especially for someone looking to experiment and try various different OSes before settling on one (or two). That also might be my experiences speaking, though.
Now my experiments:
I did some experiments with creation/deletion/resizing/moving partitions, and came up with some interesting results. I was greatly surprised by one of them. All the experiments were performed using Gparted from my OS installed on sdb.
First, I found that no matter what I did, the drive designation (sda1, sda2, etc.) of a Primary partition does not change. I created two Primary partitions on an experimental drive I have in my laptop, and when I deleted sdc1, sdc2 remained sdc2. When I created another Primary partition after deleting sdc1, that partition became sdc1, leaving sdc2 as it was.
So I had another idea. Other than installing Windows, I always deal with Logical partitions. This leaves me with the ability to install multiple OSes and multiple partitions to use as different mount points from those OSes, such as a separate "/home" partition.
So I created an extended partition on the drive, which became sdc3 and created two Logical partitions within that, sdc5 and sdc6. As I suspected, when I deleted sda5, sda6 became the new sda5. This is why I was under the impression that the drive designations change; I mostly deal with Logical partitions, and since it happens with Logical partitions, I made the assumption that the same was true with Primary partitions.
Some good news though. I found that, no matter what I did with the Partition scheme, the UUID of existing partitions did not change. I have since found that the only time the UUID of an existing partition is changed is when that partition is reformatted. While recognizing a partition by its UUID is difficult, it can be made easier by including a commented out line that includes the OS name and type of partition ("/", "/home", etc.).
As far as booting, I'm not sure. I looked at my "/boot/grub/grub.cfg" file, and it
seems to be done by UUID, but I'm unsure whether other OSes use the same technique. That will be my next research project.
My conclusion is this:
Unless one wants to access the root or other partitions used by another installation (and must reformat it), there shouldn't be any (or many) problems using the UUID for accessing partitions. The only thing I have to check now is whether OpenSUSE's GRUB uses the same techniques. I
still can't imagine why SUSE's bootup failed looking for partition "sbx" that no longer existed.
I'm using this post as a reference for those who are interested. If you (or anyone else) has other ideas or suggestions, please do post. Linux (and computers in general) are a continuing learning process.