1. ホーム
  2. オペレーティングシステム
  3. ユニックス/BSD

USB フラッシュドライブを使って FreeBSD をインストールするための簡単なチュートリアル

2022-01-16 18:54:05

1. USBメモリからのインストール
このコマンドを実行すると、元のデータが消去されますので、まずUSBメモリにデータをバックアップしてください

コピーコード
コードは以下の通りです。

dd if=FreeBSD-9.0-RELEASE-i386-memstick.img of=/dev/da0 bs=64k


2,freebsdのインストール
BIOSでUSBメモリから起動するように設定します。USBメモリを挿入して起動すると、freebsdのインストール画面が表示されます。具体的なインストール手順については公式 wiki を参照してください。
http://www.freebsd.org/doc/zh_CN.UTF-8/books/handbook/bsdinstall-pre.html


3,Grub2ブートマルチシステム
3.1 grub2 のコンパイルとインストール

コピーコード
コードは以下の通りです。

cd /usr/ports/sysutils/grub2
make install

3.2 ハードディスクの最初のセクタにgrub2ブートをインストールする

コピーコード
コードは以下の通りです。

gpart show ad0

ad0は、ご自身の実際のハードディスクに合わせて変更する必要があります。
コピーコード
コードは以下の通りです。

gpart modify -i 1 -t \!21686148-6449-6E6F-744E-656564454649 ad0
grub-install -modules=part_gpt /dev/ad0

3.3 grub2 の設定

コピーコード
コードは以下の通りです。

grub-mkconfig
grub-mkconfig -o /boot/grub/grub.cfg

または、/boot/grub/grub.cfg に独自の menuentry を追加します。
コピーコード
コードは以下の通りです。

menuentry "FreeBSD /boot/loader" -class freebsd -class bsd -class os {
insmod ufs2
set root='(hd0,2)'
search -no-floppy -fs-uuid -set 4cb05ace512b3d97
kfreebsd /boot/loader
}

追記:フラッシュドライブのファイルが読み取り専用になる問題の解決について
FreeBSDのUSB起動ディスクを作る前に、Ubuntuでファイルが読み取り専用になり、ファイルをコピーすると、ファイルがコピーできない、sudo chmodも効かないという不具合を発見しました。
ubuntuではUSBドライブが自動的にマウントされ、udevがそれをリッスンしていることが判明しました。しかし、時々、uドライブがマウントされた後、読み取り専用としてしかマウントされないことがあります。

その原因の1つは、USBドライブのファイルシステムが破損しており、これ以上ファイルシステムが破損しないように、システムが読み取り専用でマウントしていることです。
を実行することができます。

コピーコード
コードは以下の通りです。
tail -f /var/log/syslog
USBドライブを挿入すると、システム検出のメッセージが表示されます。
FAT: Filesystem error (dev sdb1)のようなメッセージが表示された場合、USBドライブが壊れていることを意味します。
まずフラッシュドライブをアンマウントする
コピーコード
コードは以下の通りです。
umount /media/**
(**はUSBドライブの名前で、mediaディレクトリで確認できます)
次に実装します。
コピーコード
コードは以下の通りです。
sudo dosfsck -v -a /dev/sdb1
(sdb1は自分のUSBデバイス番号に変更する必要があります。sudo fdisk -lで確認可能です)
dosfsck は FAT システムである ms-dos システムをチェックし修復するコマンドで、-a は自動的に修復することを意味し、-v は情報をプリントアウトすることを意味します。