On Wed, Apr 6, 2011 at 9:10 PM, Felix Miata <mrmazda@earthlink.net> wrote:
On 2011/04/06 18:25 (GMT-0500) Sunny composed:
I have very bad problem here. I have opensuse 10.0 machine. After hw issue, the /boot partition got corrupted.
I made an image of all the partitions to a new hdd. All of them pass fsck without any problems, and all the files are there.
But /boot fails fsck, and after repair vmlinux is lost, initrd is lost etc. I have an image of the partition, so I can play with it as much as I can.
Is this a laptop? How did you partition the new HD/with what tool? How did you make that image? Maybe your image and the location you're trying to restore it to do not match? Is the new HD bigger? Maybe its legacy geometry does not match that from the old. Maybe it's not located the same number of sectors from the start of the disk. It could be helpful for us to know what fdisk -l currently reports, and even better if you had that info from the old HD.
Is there a way I can rebuild /boot, like if I boot a live cd, then chroot maybe to the original / partition, etc.
Yes. If it was here I would create the /boot from scratch, then copy the required files from the saved image, somewhat like what I do with a new HD. I always partition and install bootloader before installing any Linux operating system. Typically I use a Knoppix CD to mkfs.ext2 my /boot partition, then copy the Knoppix library of Grub files to the new partition's grub directory, then run the Grub shell to manually install Grub to that partition's boot sector. Asssuming the /boot partition is the first primary at the head of the HD:
Thanks Felix, here's the situation. This is working server. There were failure in the hw raid. I made images with clonezilla of all partitions. Also, I did dd of the partitions to be on the safe side. When I do fsck on the image file, it reports errors. If I copy (dd) the image to a new partition (same size), still fsck shows problems. As far as I can see, the missing critical files are System.mapxxxxxxx and vmlinuxxxxxxx (xxx is ver. nr of the kernel). The initrd file is ok, I was able to gunzip and cpio it, so its not corrupted. I have other similar server, same 10.0, same partition setup. Unfortunately it appears it was updated more recently than the bad one, so the files it has in its /boot are newer version. I tried to copy this machines /boot to the bad one. Its ok, it starts booting, but after that it fails, as it can not find the right kernel modules after the real / is mounted, as the vmlinux is different version. So, I guess my only chance is if I find the kernel rpms for the exact version I have on this machine, boot with recue, chroot and hope that it rebuild the missing files. unfortunately 10.0 is so old, that there are no more repositories. I'll appreciate any other options one might have cheers -- Svetoslav Milenov (Sunny) Artificial Intelligence is no match for natural stupidity. -- To unsubscribe, e-mail: opensuse+unsubscribe@opensuse.org For additional commands, e-mail: opensuse+help@opensuse.org