bsdlabel and moving to a bigger drive

Omar Thameen omar at
Mon Jul 25 10:11:49 GMT 2005

I'm trying to transfer a 5.4 box from one drive to another bigger one.
I've added the second drive, partitioned and labeled it using
sysinstall's "post-install configuration of FreeBSD" menu item,
created new partitions with better space allocation, then dumped/restored
the filesystems.

I had sysinstall create all the filesystems on /mnt so I could do
the dump/restore.  Because there was no / partition (it was "/mnt"
on the new drive), sysinstall did not create an ad2s1a partition.
The / partition on the new drive is thus ad2s1d.

After the dump/restore, I edited /etc/fstab in preparation for putting
the new drive on the primary IDE controller and the original drive on
the secondary IDE controller.  On reboot, I had to tell the boot
process to boot from ad0s1d (the new drive is now ad0) via
at the boot prompt.

That works fine, but I'd like to avoid having to type that in every
time.  I figured I could just use bsdlabel to rename the 'd' partition
to 'a' so it can be booted from, but here's my first problem:
bsdlabel -e ad0s1
doesn't save my changes.  I've tried this after a default boot and
in single-user mode.  Do I need to boot from floppy/cd to accomplish
this, or is there something else I'm missing?

While I'm on the boot kick, here's my next question.  I tried booting
from the original drive (now on the 2nd IDE controller) via:
at the boot prompt, but it won't boot because it's looking for the
kernel on ad0s1d.  The only place I can think it would be getting
that information from is /etc/fstab the IDE drive on the primary
controller.  I thought that if I booted from the IDE drive on
the secondary controller, the whole process would proceed by reading
files off of that drive - but do the boot files always look on
the primary drive?


More information about the freebsd-questions mailing list