UFS Startup filesystem check woes

Hi all,

I'm a FreeBSD newbie. I did a foolish thing and resized my root UFS partition using growfs in single-user mode. Now every time I boot, it says:
"Starting filesystem checks:
/dev/ada0s1a: CANNOT READ BLK: 29497600
Automatic file system check failed; help!"

Then it dumps me into single user mode. I've run fsck several times in single-user mode and I even ran fsck_ufs from the boot CD, but I still get the same thing. The weird thing is that after I run fsck -t ufs -fy /dev/ada0s1 in single-user mode and I do "poweroff", it always gives me "vmode_pager_getpages: I/O read error." But ONLY in single user mode. I don't know why it would give me an I/O error because FreeBSD is running in a VM on OS X.

I've only been running FreeBSD for a month so I'm really new. Thanks a lot for any help!
Oh! Like I said, I'm new. I don't quite understand the difference between partitions and slices. I thought they were the same.

Checking the partition runs fsck fine but checking the slice gives me block errors. I don't understand. Maybe I'll check the handbook again.
fsck(8) is a file system consistency check utility: it works on filesystems.

A slice in BSD systems is the same as the classic BIOS partition. It's just a container for (BSD) partitions. Partitions are formatted and store filesystems and their data. Slices/BIOS partitions don't.
There's no need to pass along the filesystem, if you simply run fsck -y it will scan all known filesystems from fstab. Use it from single user mode and I'm sure the inconsistencies will get fixed. Unless there's something wrong with the disk itself (bad sectors for example).