DragonFly BSDレスキューその2

HDDのシリアルナンバーが変わってしまい、DragonFly BSDが起動しなくなったのを修復します。 前回のDragonFly BSDレスキューその1からの続きです。

さて、修復のためにインストールに使用したISOイメージから起動させます。 VirtualBoxを操作してISOイメージをマウント、起動します。今回使用したのはdfly-x86_64-gui-3.0.2_REL.isoでした。

ログインプロンプトが表示されるのでrootでログインします。パスワードはありません。

kbdmapコマンドを使用して、キーボードの設定を使いやすいものにしておきましょう。その後rootパーティションをマウントします。

dfly-live# mount -t hammer /dev/ad0s1d /mnt
HAMMER(ROOT) recovery check seqno=00300c30
HAMMER(ROOT) recovery range 3000000019886df8-3000000019886df8
HAMMER(ROOT) recovery nexto 3000000019886df8 endseqno=00300c31
HAMMER(ROOT) mounted clean, no recovery needed

/etc/fstab(ここでは/mnt/etc/fstab)の内容をのぞいてみましょう。

dfly-live# cat /mnt/etc/fstab
# Device                Mountpoint      FSType  Options         Dump    Pass#  
/dev/serno/VBd6ba413a-6cd38687.s1a /boot ufs rw 1 1
/dev/serno/VBd6ba413a-6cd38687.s1b none swap sw 0 0
/dev/serno/VBd6ba413a-6cd38687.s1d / hammer rw 1 1
/pfs/var /var null rw 0 0
/pfs/tmp /tmp null rw 0 0
/pfs/usr /usr null rw 0 0
/pfs/home /home null rw 0 0
/pfs/usr.obj /usr/obj null rw 0 0
/pfs/var.crash /var/crash null rw 0 0
/pfs/var.tmp /var/tmp null rw 0 0
proc /proc procfs rw 0 0

このVBd6ba413a-6cd38687の部分を、現在のHDDのシリアルナンバーに置き換えます。 natacontrolコマンドを使用してシリアルナンバーを確認しましょう。

dfly-live# natacontrol cap ad0

Protocol ATA/ATAPI revision 6
device model VBOX HARDDISK
serial number VB55eb7089-a0c63bf7
firmware revision 1.0
cylinders 16383
heads 16
sectors/track 63
lba supported 167772160 sectors
lba48 not supported
dma supported
overlap not supported

Feature Support Enable Value Vendor
write cache yes yes
read ahead yes yes
Tagged Command Queuing (TCQ) no no 0/0x00
SMART no no
microcode download no no
security no no
power management yes yes
advanced power management no no 0/0x00
automatic acoustic management no no 0/0x00 0/0x00

シリアルナンバーがVB55eb7089-a0c63bf7だと判明しました。

viなどを使用して/etc/fstabを修正しましょう。今修正するのは、/mnt/etc/fstabになります。

次に、bootパーティションのloader.confを修正します。現在の/mntをアンマウントしてから、bootパーティションをマウントします。

dfly-live# umount /mnt
dfly-live# mount /dev/ad0s1a /mnt
dfly-live# cat /mnt/loader.conf
vfs.root.mountfrom="hammer:serno/VBd6ba413a-6cd38687.s1d"

これもviなどを使用して修正します。今修正するのは、/mnt/loader.confになります。

操作が完了したら電源を切ります。

dfly-live# umount /mnt
dfly-live# shutdown -p now

VirtualBoxを操作してISOイメージを取り出しましょう。 そのあと、VMを起動させればDragonFly BSDが起動するはずです。

[おわり]