I got "mount: /dev/ada0p1: No such file or directory" problem

I just had the same problem with my FreeBSD desktop PC (/dev/ada0p1 got corrupted), no idea how or why it happened, but luckily I use a ZFS mirror, so a simple cat /dev/ada1p1 > /dev/ada0p1 made my system boot again. The /dev/ada0p1 partition is still marked as dirty, so I need to fix that next - but everything else is working again. :)
Please please don't do this. And anyone who reads this, don't copy that mistake.

To begin with, every ZFS physical disk has a signature written on it. Now you have two disks with the same signature, meaning two disks that ZFS sort of thinks are identical (except that they have different physical hardware being used, but I don't know whether ZFS checks that). Next, there is no guarantee that the data structures on two physical volumes of a mirror are identical; matter-of-fact, if the mirror was running in degraded mode or was resilvered, they probably are not. And you did all the copying without checksum verification, so if there were any errors on the source disk, you now replicated the errors and wiped out the only good copy (which was perhaps no longer reachable). Lastly, this is inefficient, as you end up copying lots of unallocated disk space needlessly.

The correct way to do this is to use ZFS internal commands to rebuild the mirror.
 
Which ZFS commands are you referring to?
I just did a zfs scrub but there were no errors.
If all fails I'll just reinstall FreeBSD and restore from backup...
zpool replace. Please read the man pages yourself; the last time I had to use it, I also read the ZFS section of the handbook first, it has great examples.
 
zpool replace. Please read the man pages yourself; the last time I had to use it, I also read the ZFS section of the handbook first, it has great examples.
As a pleasant side effect, while reading the ZFS chapter of the Handbook, I found a solution to another problem I've been having, I really should read the Handbook more often.

Edit

I just tried to go into single user mode, but that is as far as I can get:
Before I did the dirty "fix", FreeBSD would not even boot, showing a similar pattern...
I'd say I'm better off going the reinstall route, as I don't know if this is fixable (or worth my time).
FreeBSD Single User Mode.jpg
 
From the boot loader use GOP (Graphics Output Protocol) to change the resolution.
gop list
gop set {number}
boot

Edit:
pls don't mix different topics in one forum thread
 
yet another person here having the same issue, for some reason it seems like it just refuses to read FAT32 partitions for me

i have a USB drive that's formatted in it, tried to run mount /dev/da0p1 /mnt/ and it just said the thing didn't exist even tho' it clearly was there in /dev/
then i have my ESP which's of course in the same format, it couldn't mount it either because of that same error

and obviously none of them were corrupt in the slightest··· i had freshly formatted my usb drive and my freebsd system was able to boot from that partition, so there must be something wrong with how that thing reads FAT32 instead somehow
 
yet another person here having the same issue, for some reason it seems like it just refuses to read FAT32 partitions for me

i have a USB drive that's formatted in it, tried to run mount /dev/da0p1 /mnt/ and it just said the thing didn't exist even tho' it clearly was there in /dev/
then i have my ESP which's of course in the same format, it couldn't mount it either because of that same error

and obviously none of them were corrupt in the slightest··· i had freshly formatted my usb drive and my freebsd system was able to boot from that partition, so there must be something wrong with how that thing reads FAT32 instead somehow
You have to specify the filesystem type with the -t option when mounting with mount(8):
Code:
# mount -t msdosfs /dev/da0p1 /mnt
You can only omit this option if you want to mount a ufs filesystem, because that's the default for the -t option.
 
Back
Top