[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

Re: cloning a system to another partition - what to change?



Mike,

I promise you, I never meant to touch the MBR!  Once you bide grub
(either interactively or from any boot sector of any partition)

       root (hdx,y)

you overrule the spell in the MBR.

You can install several distros and have each  recognize all the
preexisting ones during the instal, and add them to the boot menu,
either by directly calling the respective kernels, or by calling
whatever bootloader is esconced into the  corresponding partitions
(e.g. xBSD or Windows, or other instances of grub, or lilo).

Likewise, you can have a pure boot selector like GAG kick-starting any
of a number of instances of grub on as many partitions.  In turn, any
of those will have its own onboard menu allowing to select some other
OS beside the default.

I normally do that.  You can spend your day on a merry-go-round between
grub menus calling up each other, and eventually boot a system of
choice when dusk comes. That's not the problem.


I cleaned up everything and did a few extra installs for testing:


1) Current situation, with fresh install and fresh system copy:

- original system on hda8 (all, cept swap); grub is on same partition

- (MBR has a different grub on it,  never called upon, pointing to hda1
(Scientific Linux), but this is irrelevant here)

- system copy on hda10, no grub yet installed in BR of this partition


2) Adjustments made WITHIN the cloned system on hda10:

- necessary for mounting the root partition: changed the / line in
/etc/fstab to point at /dev/hda10

- (preparing for planned grub-install, not expected to affect 1st boot:
changed the root lines in /boot/grub/menu.lst to point to (hd0,9), and
the kernel lines to root=/dev/hda10)


3) booted with GAG, pointed to /dev/hda8 (no mention of kernel, GAG
can't do that), the local grub kicks in, & original system boots
flawlessly


3) Booted original system with *generic* grub diskette, without any
partition info:

gave commands at grub prompt

    root (hd0,7)

    kernel=/boot/vmlinuz-2.6.8-2-686 root=/dev/hda8

    initrd=/boot/initrd.img-2.6.8-2-686

    boot

and the original system boots flawlessly this way as well.

(I can likewise boot the other distro on hda1 with the proper
commands).


4) Booted _cloned_ system with generic grub diskette:

    root (hd0,9)

    kernel=/boot/vmlinuz-2.6.8-2-686 root=/dev/hda10

    initrd=/boot/initrd.img-2.6.8-2-686

    boot

Boot starts, but I get these error messages:

  VFS: Cannot open root device "hda 10" or unknown-block(0,0)
  Please append a correct "root=" boot option.
  Kernel panic: VFS: Unable to mount root fs or unknown-block(0,0)



Notice that mkinitrd has an option specifically designed to create an
initrd.img "rooted" on a different partition.  I assume the original
system's image is rooted on the original system's partition...

Working on the original system I tried to create an initrd.img
specifying the root of the cloned one:

    mkinitrd -r /dev/hda10 -o ./newimage.img

but mkinitrd apparently never produces _any_ output on a standard
Debian system.



I can easily work around this dreary s%^$ by reinstalling multiple
times (or use Mondo???? hmmmm, I am unconvinced...) but I hate to leave
the issue unsolved.


Does initrd.img be SPECIFIC to the root partition, yes, no, or under
what circumstances?

If not, why ain't the above working?

If indeed, why ain't mkinitrd working?

Grrrr!!!!   >:-(
Yearning for elightment, I remain.

'Hog



Reply to: