Installed more storage and now I can't boot
Hi community,
I've been trying to convert to Debian (lenny) for my primary desktop for the last month. I'm making some progress accept for this little setback. My working config consisted of my primary WD 1TB (sda) drive with grub installed. the first partition was windows. The others were linux. A second 1TB HD formated in NTFS I needed some more storage space so I bought an eSata controller which has an external eSata port and an internal Sata port. I've installed two 1 TB drives into the system (1 esata and 1 internal) and tried to boot. NEGATIVE :( I get dumped to a initrmfs prompt. cd into /dev and run ls -l | grep sd sda sda1 sdb sdb1 sdc sdc1 sdc2 sdc3 ... at this point it's clear that my new drives have commandeered my previous assignments. So I reboot and in Grub I just point the kernal image to sdc2. I see a few console errors fly by but gnome comes up. i log in and i'm greeted with errors about /home and I can't actually log in. it's pretty clear that this new drive assignment is screwing me. So i figured i would put my Lenny dvd in and boot into that and see what I can find. I'm now in recovery mode. I look at my drive assignments and low and behold it's seeing sda1, sda2, sda3, sda4, sda5. I'm afraid to do anything drastic at this point. Why do my new drives seem to be screwing my system? /weeps |
As you've learned, device files are not guaranteed to be consistent. I've actually seen some problems where they change boot-to-boot, so at least you don't have to deal with that, eh? :)
The bit about seeing three disks with five partitions among them vs. one with five on it doesn't really make sense. Before anything else, have you tried just removing the new drives and seeing if you can boot like that? |
My guess is that when you booted off sdc2, the reason you were missing your /home directory (and probably more), was the result of having hardcoded devices in /etc/fstab like
Code:
/dev/sda_ /home ext3 ... An alternative to using explicit partition devices is to use the UUID of the partition that you want to mount; or (if the partitions are ext2/3) use LABEL=. I know it's obvious but is there a way in the bios to reestablish the original boot order? Does the esata cards bios have an option, or the motherboard have an option? (I'm particularly ignorant in these matters, so this may be a worthless avenue to pursue...) Or remove the new drives, change /etc/fstab so that it has no hardcoded partitions in it (ala UUID= or LABEL=), and go from there. If on removing the new dries the system won't boot, boot off the sdc2 partition as you did earlier, and alter /etc/fstab to correct any entries (ie. make the /dev/sdc_), and see if the system will boot. I have a boot partition (/dev/sda1) and an LVM partition (/dev/sda2) on my system. The boot partition entry in /etc/fstab looks like this. Code:
UUID=97bcf411-5558-4cf9-9aef-5108fa686246 /boot ext3 defaults 1 2 Code:
/dev/sda1 /boot ext3 defaults 1 2 Code:
[root@athlonz ~]# locate vol_id Label the partition. Code:
[root@athlonz ~]# e2label /dev/sda1 boot Code:
[root@athlonz ~]# e2label /dev/sda1 Code:
LABEL=boot /boot ext3 defaults 1 2 Note that the /etc/fstab entries here are off of a Fedora system. Debian seems to have a slightly different format. Debian folks: some help here! |
Code:
ls -l /dev/disk/by-uuid/ |
pure AWESOMENESS!
I'm back up and all drives are functional. Special thanks to tommylovell. That level of description was fantastic. I snatched the uuid from ls -l /dev/disk/by-uui (thanks syg00!), modified my fstab to mount the uuid's. modified /boot/grub/menu.lst and pointed my kernel image to the correct serial device. I love you guys! /weeps again |
All times are GMT -5. The time now is 11:10 PM. |