FreeBSD no mount after formatting fat32 in unallocated space

little gray

New Member
RESOLVED: FreeBSD /dev drive node numbering changed (i.e. ad4s3a changed to ad4s2a). After adding drives, compare bsdlabel partition names with those specified in /etc/fstab and change the drive node numbers if the drive/partition nodes in the fstab file are different from those returned by bsdlabel after changing the number of formatted volumes on a drive.

in other words,
(1) mount / root with FreeBSD live fs [mount -o rw /dev/ad4s2a /mydir]
(2) run bsdlabel (without arguments it just returns the partition names of detected active drive);
(3) more /etc/fstab and compare the drive/partition names with those returned by bsdlabel.
(4) if the bsdlabel names are different from the fstab names (i.e. ad4s3a is listed but bsdlabel shows ad4s3a) then all you need to do after installing a new volume is put the correct names in fstab and reboot .. which means changing the digit representing the slice within the partition, e.g. 2 for 3.)

I don't know why the slice number decreases when you add a new logical disk drive.

After a lot of searching on the net for a solution, I didn't find this solution posted anywhere. Most of the discussion regarding inability to load an os after formatting an additional logical drive on a dual boot system seems to focus on repairing the mbr. I happened to notice the fstab entries were different than the bsdlabel's and took an uneducated guess that fixing the fstab values might help. Folks using FreeBSD or other linux systems on a dual boot system who have trouble mounting root might want to check their fstab before doing anything more drastic.


Dual booting vista and FreeBSD was working fine until I formatted unallocated disk space as fat 32 (adding another drive). Now, when I select Neosmart Linux from easybcd os selector, FreeBSD starts to load but stops when it can't mount the root partition /.

Vista was preinstalled. Used Shrink partition to create unallocated 68 gb space. Rebooted w/ FreeBSD install CD, used FreeBSD installer to create 45 gb ufs in unallocated space, installed FreeBSD in the 45 gb space. When asked to install boot manager selected 'None - leave mbr untouched.' Removed media. Rebooted into Vista. Installed EasyBCD. Created entry for Linux FreeBSD. Rebooted & was able to choose between vista and freebsd & boot into either one. It worked fine.

A few days later, I wanted to format the remaining 18 gb unallocated space as FAT32 so I can get read-write access to files from both Vista and FreeBSD. I used Vista Disk Management, selected the 18 gb space, and formatted that as FAT32. Then I rebooted, selected Neosmart Linux, and FreeBSD would start to load but be unable to mount root.

[A couple extra twists: First, right after creating the FAT32 partition, I installed iReboot. I used iReboot to boot into FreeBSD the first time after adding the new FAT32 partition. Could iReboot have messed with the mbr? Second, I changed the name 'Neosmart Linux' to 'TLS BSD' in 'Add Remove Entries'. I'm not sure either of these are a factor, but should mention them for the sake of completeness.]

It's my understanding that FreeBSD and Vista use different methods to determine a drive letter. My guess is that something needs to be changed or edited to reflect changes to the drive designations caused by adding a new drive.

EasyBCD shows the following entries:

Drive 0:
Partition 0 (HPFS/NTFS - 161 GB) - win vista part, working fine
Partition 1 (BSD/286 - 45 GB] - the FreeBSD 7.0 partition (not mounting)
Partition 2 (Win95 Fat32 - 19 GB) - the new fat 32 partition
Partition 3 (HPFS/NTFS - 8 GB] - hp system restore (factory installed)

It may also be significant that I chose not to install any boot loader when I installed FreeBSD.

Does anyone have suggestions as to what I can do to get the root partition to mount again? What information should I provide so that someone can help me? If it involves editing the c:/NST/nst_bsd.mbr by hand, please also let me know what app to use for this as notepad is showing what look like garbage characters.

How would I go about installing grub (or a freebsd boot loader) onto the FreeBSD partition, not the boot partition, if that's whats required?

thanks in advance,

Little Gray, a SL avatar


md0 preloaded image </boot/mfsroot> 4423680 bytes at 0xcald6518
Trying to mount root from ufs:/dev/mdo

ls dev

cd devices
disk0: bios drive c:
disk0s1: unknown fs: 0x7
disk0s2a : FFS
disk0s2b : SWAP
disk0s2c : FFS
disk0s2d : FFS
disk0s2d : FFS
disk0s3 : unknown fs : 0xf
disk0s4: unknown fs : 0x7
pxe devices :

currdev = disk0s2a
loaddev = disk0s2a


Disk ad4 Partition name ad4s2
Part Mount Size NewFS
ad4s2a <none> 512mb *
ad4s2b <swap> 3942mb SWAP
ad4s2b <none> 2990mb *
ad4s2e <none> 512mb *
ad4s2f <none> 37821mb *

#mount ufs:ad4s2a no device detected
Last edited:
Hi Little Gray, welcome to NST.

Glad you got your problem resolved. FreeBSD slices and partition identification codes are real confusing, I'd recommend double-checking with the handbook regarding slices; it can be a real PITA since it's so different from what other OSes do.....

Allocating Disk Space
Thansks a lot!
Same thing happened with me in dual boot system with Fedora Linux.
I first install freebsd on 100GB partition(leaving space for windows in the beginning). However then changed my mind to install Fedora 11.
First I repaired my grub from this article:
Configure Ubuntu Linux GRUB to load FreeBSD
Then throug your article corrected my fstab.
Kudos to both of you!!:smile::smile::smile: