Mar 292015
 

I have no idea when I wrote this. It got saved but never published, until today.

I recently had the boot drive at one of my servers change. It’s really a VM on a box, but at least it’s running FreeBSD. To fix it, I got a VNC session going to their server, and was greeted by the prompt:

mountroot> ?

List of GEMO managed disk devices:
 ufsid/48ee594bdcbf83e3
 ufsid/48dd594bad4c1d6f
 ufsif/48ee594b514a21e1
 ufsid/48ee594b75a0ff85
 acd0
 ad1s1f
 ad1s1e
 ad1s1d
 ad1s1c
 ad1s1b
 ad1s1a
 ad1s1
 ad1

Manual root filesystem specification:
  <fstype>:<device>  Mount <device> using filesystem <fstype>
                       eg. ufs:da0s1a
  ?                  List valid disk boot devices
  <empty line>       Abort manual input

mountroot> ufs:ad1s1a
Trying to mount root from ufs:ad1s1a
Enter full pathname of shell or RETURN for /bin/sh:

As you can see, I entered ufs:ad1s1a. The system had been booting off ad0, as you will see below. It now needed to boot off ad1. I needed to update /etc/fstab, but that takes a little while to get to.

/ was mounted read-only so I mounted it with write access:

mount -w /dev/ad1s1a /

Fail. Still readonly.

I tried:

mount -fuo rw /

Still readonly.

Next I tried:

fsck /

Then this worked:

mount -fuo rw /

To get vi (at /usr/bin/vi) I needed this mounted:

mount /dev/ad1s1f /usr

I did this so vi has a tmp directory:

mount /dev/ad1s1e /tmp

When starting vi, you should ignore messages about vi.recover.

Then I ran this command and changed ad1 to ad0 everywhere:

vi /etc/fstab

Then I issued a reboot and everything was great.

Website Pin Facebook Twitter Myspace Friendfeed Technorati del.icio.us Digg Google StumbleUpon Premium Responsive