Can't boot new disk unless it's on the 2nd IDE channel

Joe in MPLS joe at gracenpeace.net
Tue Sep 25 23:00:59 PDT 2007


Several months ago I bought a bigger (IDE) disk and set about the task 
of moving a FreeBSD 6.1 STABLE #0 system to teh new disk. I did the 
fdisk, boot0cfg and bsdlabel stuff and dumps piped to restores to get 
all the bytes moved. I thought all was well so I got lazy and never 
removed the old disk.

After doing an update this week via make buildworld etc, I realized that 
the box was still booting from the old small drive and loading an old 
kernel before mounting everything mentioned in /etc/fstab.

I used fdisk to make the 1st slice of teh new disk active, edited fstab 
to change all the ad2s1x entries to ad0s1x, disconnected the first drive 
and moved the new drive to the first IDE channel. No joy.

I used bsdlabel -e to change my "/" partition from ad2s1d to ad2s1a 
(sysinstall disklabel would not let me assign "a" to a partition on the 
second disk). Still no joy and worse, it wouldn't boot even with the 
first disk in place.

I managed to get it booting with both drives installed again, but now it 
wants my fstab entries to be "ad2a", "ad2e" etc. It doesn't like the 
"ad2s1x" stuff in there any more. Then for the heck of it, I 
disconnected the first drive, left the new drive on the second channel 
and it booted just fine!

here's fdisk output:

[root at shorty ~]# fdisk
******* Working on device /dev/ad2 *******
parameters extracted from in-core disklabel are:
cylinders=119705 heads=16 sectors/track=255 (4080 blks/cyl)

Figures below won't work with BIOS for partitions not in cyl 1
parameters to be used for BIOS calculations are:
cylinders=119705 heads=16 sectors/track=255 (4080 blks/cyl)

Media sector size is 512
Warning: BIOS sector numbering starts with sector 1
Information from DOS bootblock is:
The data for partition 1 is:
<UNUSED>
The data for partition 2 is:
<UNUSED>
The data for partition 3 is:
<UNUSED>
The data for partition 4 is:
sysid 165 (0xa5),(FreeBSD/NetBSD/386BSD)
    start 0, size 50000 (24 Meg), flag 80 (active)
        beg: cyl 0/ head 0/ sector 1;
        end: cyl 1023/ head 254/ sector 63

I don't know why part #4 is active when I marked #1 active earlier 
tonight... and the disk is way bigger than 24 MB as shown by df -h:
[root at shorty ~]# df -h
Filesystem    Size    Used   Avail Capacity  Mounted on
/dev/ad2a     1.9G    191M    1.6G    10%    /
devfs         1.0K    1.0K      0B   100%    /dev
/dev/ad2e     1.9G    2.4M    1.8G     0%    /tmp
/dev/ad2g     176G    7.8G    154G     5%    /usr
/dev/ad2f      44G    558M     40G     1%    /var
devfs         1.0K    1.0K      0B   100%    /var/named/dev

and here's bsdlabel:

[root at shorty ~]# bsdlabel ad2
# /dev/ad2:
8 partitions:
#        size   offset    fstype   [fsize bsize bps/cpg]
  a:  4194304        0    4.2BSD     2048 16384 28552
  b:  4194304  4194304      swap
  c: 488397168        0    unused        0     0         # "raw" part, 
don't edit
  e:  4194304  8388608    4.2BSD     2048 16384 28552
  f: 94371840 12582912    4.2BSD     2048 16384 28552
  g: 381442416 106954752    4.2BSD     2048 16384 28552

How do I make this "ad0" instead of "ad2"?

             TIA   ...jgm









More information about the freebsd-questions mailing list