昨今、ほとんどの Linux ディストリビューションは Windows とのデュアルブート設定をほぼ自動的で行ってくれる。
しかし、そこから自分で1つ変更を加えようとなると手のつけようがないほど面倒になる。
大学の講義に使うノート PC をマルチブート環境にしようと複数のオペレーティング・システムをインストールし設定を破壊した日には地獄を見るだろう。
今までの筆者の経験から Linux 同士の共存ならばともかく1つのドライブに全く異なる OS を同居させるのは止めておいた方が良いということをお伝えしたい。
本稿ではその理由と解決策をご紹介。
事由
1. パーティションテーブルのカオス化
1つ目は単純で間違って Windows のパーティションを消去してしまうことがあるからだ。そんな馬鹿なことをするか、と鼻で笑う人もいるだろう。
しかし現在の Windows パーティション・システムは昔と比べて複雑だ。Windows をクリーンインストールしただけで回復パーティションや EFI パーティション、システムパーティションなど、いくつものパーティションが作られる。更にメーカー製PCの場合はバックアップデータが入ったパーティションも存在したりする。 SSD の場合、パフォーマンスを維持するための予約領域も必要だ。
ここからパーティションを削除したり縮小し、 Linux を詰め込めるだけのスペースを確保しなければならない。よくわからないけど名前的に削除しても良いだろうと思ったら Windows が起動しなくなった、という被害者を見たことが多々ある。
それに久しぶりにパーティションを弄ろうとしたときにどれがどれだかわからなくなってしまうこともある。
2. ブートローダーが複雑
ブートローダーとは、簡単に言うと OS を管理・呼び出すための小ブログラムであり、様々な種類が存在する。
代表的なものでは Windows OS が標準搭載している Windows Boot Manager (以下 WBM )と UNIX 系でよく使われている GRUB がある。基本的にシステム(ドライブ)ごとに1つのブートローダしかインストールできない。
昨今のマザーボードは UEFI 標準搭載によって設定が非常に複雑になっている。UEFI は BIOS におしゃれな画面を提供したりセキュリティを強化できたりと様々な利点があるが、中身がクローズドソースなためブラックボックスと化している。これに伴いブートローダの設定や構造も複雑化している。
はじめて Linux を導入するとき、ほとんどの場合は Windows が入ったシステムに後から Linux をインストールする形になる。そのとき GRUB が WBM にとって変わりインストールされることになる。
しかし Windows アップデートを行うと WBM を自動的に復元して他のブートローダーを上書き削除してしまう場合がある。筆者は Windows 10 アップデート ver.1909 でこれを経験したが、Ver.2002 でもブートローダの上書きが行われるという情報もある。
WBM は Linux とのデュアルブート設定を行ってくれないため手動で設定する必要がある。 Linux のインストールメディアを使って GRUB を復旧することは可能だが、相応の知識が必要だし Windows アップデートが来るたびにブートローダーを破壊される恐怖に怯えながら生活しなければならないのはつらい。セキュアブートの標準化で Linux を締めだそうと画策していることからわかるようにマイクロソフトがデュアルブートというのを良しとしていない。
また WBM がブートローダーとして設定されていないと Windows で休止状態などの機能が動作しないなどの問題も発生する。どうしても Windows と Linux のマルチブート環境を作りたい場合は Windows OS のインストールメディアを用意し、Windows Boot Manager をブートローダーとして設定したほうが良いかもしれない。
3. 復旧作業が面倒になる
3つ目の理由はパーティションが増えることによってドライブ内がゴチャゴチャになりバックアップがより面倒になる。
やっぱ Linux は肌に合わんしヤメダ、ヤメ!ってなったとき Windows ディスクマネージャから Linux パーティションを削除するだけではダメなのだ。 Windows ディスクイメージを入手してブータブルメディアにインストールして、そこからコマンドを打ち込んで WBM を修復しなければならない。初心者にとってはこの作業だけでも調べる時間も入れて2時間以上はかかるだろう。
4. 人の助けは期待できない
ユーザが多い Windows OS やユーザが少なくてもクローズドで限られたハードウェアしか使わない macOS と違い、Linux はデスクトップのユーザベースが小さいにも関わらず、雑多なハードウェアにインストールできてしまう。ゆえにインターネットを駆使したとしても同じ環境の人と巡り会えることが少ない。 ハードが原因でうまくブート設定ができないこともある。
エキスパートが隣に座ってアドバイスしてくれるならばともかく、ネットを介して適切な助言をもらえる望みは薄い。Linux フォーラムでは未解決の問題が溢れている。
ブートローダやパーティションといった問題はなるべく切り離し、システムをシンプルに保つよう心がけたい。
解決策
1. デュアル・ドライブ
デスクトップ PC の場合は空いているドライブ・ベイにもう一つドライブを載せることで簡単にこの問題を解決できる。こうすることで広義の意味でマルチブート環境を実現できる。しかも仮想環境ではないのでマシンのスペックを遺憾なく発揮できる。
まずデスクトップ PC に接続されているドライブをすべて外し、買ってきた真っ新なドライブだけを接続し、Ubuntu 、Fedora や OpenSUSE なりをインストール。電源を落とした後に他のドライブを再接続。これで間違って Windows がインストールされたドライブに Linux をインストールしてしまうトラブルは回避できる。
あとは BIOS の設定画面に入って起動順序を決める。設定を保存してから起動直後に F11 などを押して起動ドライブを選択すれば良いだけだ。
面倒なことは一切考えなくて良し、片方のドライブの環境を壊してしまってもクリーンインストールするだけですぐに復旧できる。良いことずくめだ。
2024年現在、250 GB の SSD は最安3000円台で買えてしまうので出費も少なくて済む。250 GB もあれば Linux を入れて遊ぶには十分すぎる容量だ。
また予算に余裕がある方は M.2スロットを2個搭載したノートPC を購入してみるのも良いだろう。
2. 仮想マシンマネージャーを使う
そこそこのスペックのPCを持ってるなら仮想マシンでも快適に Linux を動かせるだろう。遊ぶだけならこれで十分だ。
昨今の AMD Ryzen を筆頭とする CPU の多コア化により、当たり前のように物理コアを4個、6個搭載したノートPCが市場で売られている。仮想マシンを動かすのが非常に楽な時代になった。
お手軽に試せるのは VirtualBox 。デバイスの性能をなるべく引き出したい場合は VMware を使おう。
特に Linux 上で Windows の仮想PCを動かす場合は VMware の方が快適だ。多少の設定が必要なようだが VMware を使って仮想マシン上の Windows でゲームを遊んでいる人もいる。ただし Linux がホスト OS の場合 AMD製 GPU が使えないという制限があるのでよく確認しよう。そういった場合は Virt-Manager を使おう。
VirtualBox と VMware Player、どのような違いがあるのか知りたい方は下の記事をどうぞ。
Oracle VM Virtualbox
VMware Workstation Player Download
3. 古いPCにLinuxをインストール
他の選択肢よりも多めな出費になってしまうが中古ノートPC を買って遊ぶもの良いだろう。 HP か DELL、Lenovo(ThinkPadシリーズ)がおすすめ。なぜなら大量に出回っているため Linux コミュニティでも使われていることが多く、トラブルシューティングが楽。
Linux なら Intel CPU 第 1 世代 Core i シリーズでも重いデスクトップ環境を選ばなければ軽快に動いてくれるので選択肢は多い。
格安中古パソコンで Linux に慣れてきて Windows 抜きで生きていけそうになったら、メインPCのドライブをまるごとバックアップをとるか新品ドライブに交換してLinuxをインストールすれば良いだろう。
マルチブートはもはや時代遅れ?
PC の性能向上と仮想化技術の普及によりオペレーティング・システムのマルチブート化は時代遅れになりつつあると私は考える。
まだまだ発展途上ではあるが WSL (Windows Subsystem for Linux) といったツールの開発も行われているので今後ますます不要になっていきそうだ。
ソフトウェア・プロジェクトのオープンソース化が広まり、クロスプラットフォームなソフトウェアも急速に増えた。ソフトウェア開発も Docker の普及により OS の違いで困ることは少なくなった上、ウェブアプリの進化により、ほとんどの一般的な作業はブラウザ上でできてしまうようになった。
Linux をメインOSにしても困ることは少ない
Linux をメインOSにして困るのは Adobe 関連のソフトウェアがどうしても学校や職場で必要になったときか DirectX API を利用してゲームを作りたいときくらいだろう。これらのソフトウェアを使わない人ならば思い切って Windows から Linux に切り替えた方が快適に過ごせるかもしれない。
Linux ではゲームができないじゃないか!と憤慨する人もいると思うが Valve 社の取り組みや Vulkan API の普及により、数年前では考えられないほど Linux で遊べるゲームが増えてきた。アンチチート対策が施されたオンラインゲームはまだ厳しいが遊べないタイトルはかなり減ってきた。
ProtonDBによればSteam ProtonでWindows専用ゲームを動かせるタイトルが15,000を超えた。
さらに Arch Linux をベースに開発された OS を搭載した Steam Deck が世界的に流行るなど、近年 Linux デスクトップも盛り上がりを見せている。 Linux が PC ゲーミングの主要プラットフォームの一つになるまであと一歩と言ったところまで来ている。
最後に
やりたいことがあって Linux を使いたいのにブートローダやパーティション関連のトラブルに巻き込まれ、モチベーションと時間を浪費するのは非常に勿体のないことだ。
Linux のブートシーケンスや Systemd について学びたいのなら少しは収穫になるだろうが他の人にとってわざわざマルチブート環境を作るのははっきりいって時間の無駄だ。仮想マシンなどのソフトウェアが普及しており、お手軽に Linux OS を試せるのでそこから入門するのがベストではないだろうか。
おわり
Photo by Edgar Castrejon on Unsplash
コメント
新品のSSDにWindows7や10とLinuxやUbuntuを共存する場合を想定していない記事
中古のWindowsパソコンにLinux入れたらパテーションカオス化するかもしれんが、Linux入れる人は普通Windowsもクリーンインストールするだろ
はい、そういった方を想定していませんよ。
メーカー製のPCにプリインストールされたWindows OSのあとからLinuxを入れるのが入門者の一般的な行動だとおもいます。
Linuxに何度も触れている人やOSのマルチブートに失敗をしたことのある人以外、わざわざ新品のドライブを買ってくるということはしないと思います。
しかもデバイスの構成を変えたらWindowsの認証が通らなくなるということもあり、Windowsのライセンスをまた購入する必要がある場合もあります。
最近は昔のようにインストールメディアがなかったりで復旧が面倒になっていることも多いのでさらに厄介ですね。
Linuxってなんか難しそう
パソコンって私無理
みたいな意味の無い、今の時代に逆行した風潮を舞い戻すかのような記事
厳しいかもしれませんが、そもそもまだブログで意見発信できるくらいのスキルが無いだけでは?
冒頭でも記してあるとおりあくまでLinux入門者向けのテキストです。
あまりPCについて詳しくない方がいきなりデュアルブートをしようと思うと様々なトラブルに見舞われることが多いです。現に数年前の自分もそうでした。
その過程で学ぶこともありましたがそれ以上に徒労感を覚えたのを思い出し、この記事を書くにいたりました。
実際、OSをドライブごとにわけて運用するのはデータのバックアップや環境を変えたいというときに楽で非常に快適です。
パーティションについてあまり知らずに、Windowsを起動できなくなったという方も多くみてきました。
その結果やっぱりLinuxはダメだなぁということを言う人もいました。
そういう人を少しでも少なくなってくれればと思います。
貴見のとおり。どっちにしろ、ブートローダーがしょっちゅう壊れるので、うっとうしい。仮想マシンでの運用が一番安定している、バックアップもスクリーンショット感覚で取れるし、デバイスの共有も容易である。難点を言えば、拡張を予定して余裕を持ってディスクスペースを割り当てる事ぐらいである。複数のデスクトップ環境を操れるようになると興味本位でどんどこインストールして、適当にそれぞれアップデートして環境の崩壊を経験出来るようになる。
据え置きは、確かに何個かベイありますからデュアルブートは容易ですね。
ただ、4,5世代(どっちか)からノートにもm.2インタフェースが始まりましたし、
2ベイ対応ノートも世の中ありますから、
デュアルブートもできますよ~(∩´∀`)∩
確かに、単体でのデュアルブートはGRUB壊れちゃいました←オイオイ
sundaybridge,skylake世代のノートとかは不便ですけどねー。
m.2は革命ですねー。。。
連投すいません。
確か、m.2の前身”mSATA”ありましたねー。
ごめんさいー。
参考になりました、こういう記事が分かり易くていいです。
おかげで、win7,kali linuxを別ドライブで運用出来てます。
ありがとうございます。
大変勉強になりました。わかりやすい解説に感謝いたします。
恐れ入ります、もしご意見いただければ、大変ありがたいと思いコメントさせて頂きました。
当方仮想通貨売買をしており、金額が大きくなって来たので注文・口座アクセス用PC(取引所のみしかWebアクセスしない)を用意しようと思いました。そこでWindowsよりUbuntuの方がセキュリティが高いと考え、別PC、Hyper-V、Windwos10とのDualBootと検討している内に、当サイトにたどり着きました。
私としては、Hyper-VでのUbuntuより、当サイト推奨の別ストレージでのDualBootの方がセキュリティは上なのではと思いましたが、ちゃんと設定すれば仮想マシンのUbuntuでもDualBootと同等にセキュアになりえるのか、お忙しい中申し訳ございませんが、お考えをお聞かせ頂ければ大変有り難いです。
Windows 11とUbuntuをデュアルブートしようとしていてこちらの記事にたどり着きました。
WindowsがMBR領域を上書きしたりするのは困るので、おとなしく物理的にディスクを分けることとしたうえで、BIOSからブート順番を変えることで対応します。
少し前(2020年)の話ですが、私は古いPCにwindows7→10にアップグレードしようとして途中で止まったのでやむをえず強制終了したところOSが立ち上がらなくなりました
不覚にもバックアップを取ってなかったので少しでもデータを取り出したいと格闘している最中、Ubuntuをインストールすればいいという記事を見つけました(私自身が不勉強であったことは認めます)そこに飛びついたところ、結局データは一切取り出せず、かつUbuntuをアンインストールすることもできず(何度起動してもUbuntuが起動してしまい)、素人が飛びつくのは本当に怖いなと痛感いたしました
その記事に「Ubuntuをインストールすれば立ち上がらなくなったwindowsのデータを取り出せる」とは書いてなかったと記憶していますが、windowsのファイルにアクセスできるとは書いてあったと記憶しています
OSが立ち上がらなくなった状態を前提にしてなかったと思いますが、とにかくデータを取り出せる可能性があると思って飛びつきました
Ubuntuに熟知している人からしたら簡単な話なのかもしれませんが、ど素人が飛びつくのは極めて危険だと思う一方、もう少し「甘くない」という話も載せて欲しかったと思いました
結局データは諦め、windows10をクリーンインストールしました
しかしながらスペックが追い付かずまともに動かなくなったので、新しいPCを買いました
今も「Ubuntu」と見ると悪夢を思い出します
こう言記事で、技術力がどんどんさがるんだろう。
そして、初心者が手前に読むような方が増えて、中の下以上の本が売れなくなる。
これからまさにやろうとしていたところで思いとどまることができました。
自分の周囲ではPCには詳しい方ですが、それでもこれを調べずにやっていたら惨事になるところでした。
ありがとうございます。