UbuntuをインストールしてあるPCにFreeBSDをインストールし、GRUBでデュアルブート化してみた。
このPCにはHDDが2台(500Gと250G)内蔵してあり、500GのHDDにUbuntuをインストールし、250GのHDDは未使用状態であった。
最初に空きのHDD(250G)に最新のFreeBSD 12.0をインストール。
HDDはGPTでパーティショニングを行った。
FreeBSDのインストールが完了したらUbuntuを起動させる。(GRUBにFreeBSDを認識させていないので、当然、FreeBSDは起動できない。)
Ubuntuで「blkid -o list」とターミナルで打ち込み、ファイルシステムのUUIDを表示させる。
root@tomato:~# blkid -o list device fs_type label mount point UUID ------------------------------------------------------------------------------- /dev/loop0 squashfs /snap/gnome-system-monitor/39 /dev/loop1 squashfs /snap/gnome-calculator/167 /dev/loop2 squashfs /snap/gnome-logs/31 /dev/loop3 squashfs /snap/gnome-3-26-1604/62 /dev/loop4 squashfs /snap/core/4486 /dev/loop5 squashfs /snap/gnome-calculator/260 /dev/loop6 squashfs /snap/gnome-system-monitor/57 /dev/loop7 squashfs /snap/gnome-3-26-1604/74 /dev/sda1 swap [SWAP] d36d29f3-d53d-472a-9456-d811e0eeb4c8 /dev/sda2 ext4 / 6b4bb690-f05a-4750-8fc9-a3cf7bc88e51 /dev/sdb1 (not mounted) /dev/sdb2 ufs (not mounted) 5c4453b64c32c83d /dev/sdb3 (not mounted) /dev/sdb4 ufs (not mounted) 5c4453b8af3f5753 /dev/sdb5 ufs (not mounted) 5c4453bdb28e05db /dev/sdb6 ufs (not mounted) 5c4453bec82595d7 /dev/sdb7 ufs (not mounted) 5c4453bfc602ceda /dev/loop8 squashfs /snap/gnome-logs/45
FreeBSDのマウントポイント「/」はsdb2としたのでUUIDは「5c4453b64c32c83d」であることがわかる。
この内容を設定ファイルに以下の様に追記する。
# vi /etc/grub.d/40_custom #!/bin/sh exec tail -n +3 $0 # This file provides an easy way to add custom menu entries. Simply type the # menu entries you want to add after this comment. Be careful not to change # the 'exec tail' line above. menuentry "FreeBSD 12.0" { insmod ufs2 set root=(hd1,2) kfreebsd /boot/loader search --no-floppy --fs-uuid -set 5c4453b64c32c83d }
起動時にブートメニューを表示させるようにgrubを編集する。
# vi /etc/default/grub # If you change this file, run 'update-grub' afterwards to update # /boot/grub/grub.cfg. # For full documentation of the options in this file, see: # info -f grub -n 'Simple configuration' GRUB_DEFAULT=0 #GRUB_TIMEOUT_STYLE=hidden GRUB_TIMEOUT=10 GRUB_DISTRIBUTOR=`lsb_release -i -s 2> /dev/null || echo Debian` GRUB_CMDLINE_LINUX_DEFAULT="quiet splash" GRUB_CMDLINE_LINUX="" # Uncomment to enable BadRAM filtering, modify to suit your needs
修正箇所は「GRUB_TIMEOUT_STYLE=hidden」をコメント化。
保存して編集結果を反映させる。
sudo update-grub sudo update-grub2