HOME

LinuxとWindows,FreeBSDのデュアルブート

2023.12.23
アクセスカウンター

1.はじめに

 自作PC作りが高じてWindowsやLinuxのPCが増えてしまった。そこでデュアルブートで使うことを考えた。
 ふつうは1台のディスクに複数のOSを入れることが多いと思うが、失敗したときのリスクがあるので別ディスクでのデュアルブートとしたい。
 そんなことができるのかとネットを調べたらできるようなのでやってみた。(参考URL
 以下はそのやり方をまとめたものである。

2.方針/前提

(1)各OSは個別に別ディスクにインストール済み。
(2)起動ディスクはLinuxとし、GRUBを利用してOSを選択起動する。
(3)Linuxはubuntu、debian。
(4)マザーボードが古いので起動パーティションはMBR。(古いマザーボードはLinuxでも入れて活用しないと)
 ・MSI  MS-7592 (ubuntu,windows11)
 ・ASUS  P5K-VM (debian,FreeBSD)

3.LinuxとWindowsのデュアルブート

(1)Linuxを起動する。

(2)端末を起動し、rootでログイン。

(3)エディタで/etc/default/grubを開き、以下の行のコメントアウトを外す。(#を削除する。この行が無ければ追加する)
 #GRUB_DISABLE_OS_PROBER=false
 注)こうしておかないと後でupdate-grubを実行したときにGRUB_DISABLE_OS_PROBERがどうのこうのというワーニングが出て、他のブート可能パーティションが検出されない。

(4)コマンドパスの設定(debianの場合)
 debianの場合はパスが通っていないので以下を実行しておく。
 export PATH=$PATH:/usr/sbin

(5)update-grubを実行

以上でGRUBのメニューにWindowsが追加されているはず。

(6)デフォルト起動のOSを変更したい場合
 デフォルトではLinuxが起動されるのでGRUBメニューの先頭に*印がついている。Windowsをデフォルにしたい場合はメニューで上から何番目かを調べ、それがn番目とすると
 /etc/default/grubでGRUB_DEFAULT=0となっているところの0をn-1に変更する。
 さらにupdate-grubを実行する。

4.LinuxとFreeBSDのデュアルブート

 FreeBSDとのデュアルブートもサクッといくかと思ったらそうはいかなかった。update-grubを実行するとFreeBSDを検出したようなメッセージが出るが、GRUBメニューには追加されていない。
 FreeBSDはGrub-Customizerを使う。(参考URL

(1)Linuxを起動する。

(2)端末を起動し、rootでログイン。

(3)Grub-Customizerのインストール(参考URL
 (debianの場合)
 #add-apt-repository ppa:trebelnik-stefina/grub-customizer
 #apt update
 #apt install grub-customizer

(4)Grub-Customizerを起動してメニューを追加
 スクリプトを追加するダイアログで「名前」を適当に決め、「種類」は”その他”、「ブートシーケンス」に
 set root='(hd1,1)'
 chainloader +1
 と入力してOKボタンを押す。ただし(hd1,1)のところは環境に依って変わる。

 grub-customizer

(5)再起動
 GRUBメニューにFreeBSDが表示されているはずなのでFreeBSDを選ぶ。

(6)FreeBSDが正常に立ち上がるか?
 FreeBSDのメニューが出て、やった!と思ったが途中で何やらマウントできないというエラーが出て止まってしまった。
 Linuxを起動ディスクとしているのでSATA#1にLinux、SATA#2にFreeBSDのディスクを繋いでいたがこれを逆にして見たら正常に起動できた。理由は不明だがFreeBSDが正常に起動できればよいのでこれ以上の追求はしない。

 

HOME