On Mon, Sep 10, 2007 at 09:50:49AM -0700, Andrew Sackville-West wrote:
I'm not positive that gparted will move the beginning of a partition,
but its certainly worth a shot. This is what I'd do:
1. Backup everything.
2. Review 1 several times.
3. launch a live-cd (knoppix or somesuch)
4. use a partition editor (gparted, qtparted, whatever) to rezise the
existing / partition by moving the start of it up 500MB or so.
5. create a new bootable partition at the front of the device.
6. create a fs on the new partition
7. mount the new and old partitions.
8. copy over all of /mnt/old-part/boot to /mnt/new-part
9. edit up /mnt/old-part/etc/fstab
10. umount /mnt/new-part and remount it on /mnt/old-part/boot
11. chroot into /mnt/old-part
12. update-grub or manually edit /boot/grub/menu.lst to reflect new
root partitions in kernel=lines
13. maybe have to run update-initrdfs to fix-up the initrd for new root
partition.
14. reboot...
Thank you very much for the very detailed response. I have spent the
last couple of days trying to fix this, but still I can't.
The first problem, creating a bootable partition at the beginning of
the disk, is already solved. GParted is actually an amazing tool.
Anyway, I had a Debian Etch Live CD, and the GParted version on it
didn't work (can't move the beginning of a partition).
So I had to download a gparted Live CD (0.3.4-8), and it did the job
(took a couple of hours, though).
I then did all the other steps. I edited fstab, menu.lst, and ran
update-initramfs. Initially, the /boot partition was named /dev/hdd3,
but running fdisk I could change the order, and now it's /dev/hdd1
(/boot, 500 Mb), /dev/hdd2 (/, 160G), and /dev/hdd3 (swap).
However, when I boot, I get to the grub stage 1.5 line, then Error
15 (no further explanaition), and nothing, not even the grub prompt.
I understand Error 15 means some file not found, but don't know what
to do.
Currently, my /etc/fstab is:
/dev/hdd2 / ext3 defaults,errors=remount-ro 0 1
/dev/hdd1 /boot ext3 defaults,errors=remount-ro 0 2
/dev/hdd3 none swap sw 0 0
proc /proc proc defaults 0 0
/dev/hda /media/cdrom udf,iso9660 user,noauto 0 0
/dev/fda /media/floppy auto rw,user,noauto 0 0
All menu.lst entries are of the form:
root (hd1,1)
kernel /boot/vmlinuz-version root=/dev/hdd2 ro
initrd /boot/initrd.img-version
And device.map is, as before:
(hd0) /dev/hdc
(hd1) /dev/hdd
And I have two bootable partitions, /dev/hdc (Windows), and /dev/hdd1
(/boot partition).
I've tried several things: boot from Debian Live CD/Etch Disk 1/Gparted Live
CD, then change the order of entries in /etc/fstab,
changing the pass-number parameter in /etc/fstab (hdd1 and hdd2
had pass number 1, and I changed it to be 2 and 1, respectively, have
run update-initramfs again, but nothing.
I understand that, now that partitions are in order, /dev/hdd2, which
is the root filesystem according to fstab, will be (hd1,1) for grub, and
that kernels should be found in (hd1,1)/boot/, thus the kernel line
in menu.lst should be /boot/vmlinuz, if root=(hd1,1). Right?
Until now, the only strange thing is that 'update-initramfs -k all
-u' yields some grep: /proc/modules No such file or directory errors
for each kernel, but don't know if that's relevant.
Sorry to keep bothering with this, but it's still not solved, I've
googled a lot, and can't find something that works.
Victor
--
To UNSUBSCRIBE, email to [EMAIL PROTECTED]
with a subject of unsubscribe. Trouble? Contact [EMAIL PROTECTED]