Windows10マシンをデュアルブートでLinuxも使う

※結局、今回は断念してしまったのだが、次回のためにメモを残しておく。

新たなWindows10マシンを調達したので、これをLinux Mintとデュアルブートにしてみる。512GBのディスクのうち、350はWin10、残りはLinux Mintにしたい。モノは、Thinkpad X1 Carbon 2017(gen5)、Windows10 Pro、Linux Mint 21.1である。

しかし、やり方を探してみると、不吉な記事があった。Windows 10 でLinuxをデュアルブートすることはできる?、やめておいた方が良いというものだ。

ずいぶん昔にデュアルブートをやったことがあるのだが、その当時は(そして今でもデフォルトでは)、Linux側のGRUBというシステムが最初に起動し、Windowsを起動するか、Linuxを起動するかを決めるようになっている。しかし、現在のWindowsでは、Windowsをアップデートすると、この環境が破壊されてしまうというのだ。この記事を読み、いったんは諦めたのだが、しかし探してみると、Windows Boot Managerをそのまま残すやり方を書いている人がいた。ブートローダーはWindows Boot Managerのまま、WindowsとLinuxでデュアルブート/GRUBのみでデュアルブートというものだ。

インストールの方針

インストールの方針としては以下のようなものだ。

  • Windowsが占有しているパーティションを縮め、Linuxが使う空き領域を作る。
  • USBからライブLinuxを起動して、インストールを開始する
  • しかし、何も考えずにそのまま進めてしまうと、Linuxインストーラはよかれと思ってGRUBというブートローダーを「ディスク」に設定し、LinuxとWindowsのデュアルブートを実現しようとするため、そうではなく、ブートローダーをLinuxのパーティションに入れるようにさせる。
  • このLinux用のブートローダーのイメージを取得し、これをWindows Boot Managerに与えてやる。
  • すると、マシンが起動した時にWindows Boot Managerが起動し、そこでWindowsかLinuxかを選択できるようになる。。。はず

事前準備

領域を空けた状態

LinuxをUSBから起動する

対象のマシンThinkpad X1 Carbonを再起動し、Linuxイメージの入ったUSBから起動させるのだが、これが少々面倒。Lenovo製のパソコンでBIOSを起動する方法を参考にする。

が、実際にはBIOS (Boot Menu) でUSBディスクから起動する – ideapad/Lenovo ノートブックも行わないとUSBからブートできない。

これでUSBからLinux Mint Cinnamonを起動すると、何もインストールせずにメモリ上で起動する。

インストール

デスクトップにあるインストールをダブルクリック。

途中でWifi接続をする。また、ディスクをアンマウントするかと聞いてくるが、これはインストール用USBのアンマウントのことなのでYESとする。

インストールの種類が出てくるので、デフォルトで選択されている「Linux MintをWindows Boot Managerとは別にインストール」を選択する(後述するが、この選択はだめ)。

これで継続すると以下の画面になる。

QRコードのURLは、https://help.ubuntu.com/bitlockerである。

BitLockerを解除する

こんなこと初めて知ったのだが、Windowsのディスクの中身が暗号化されていて、適切な資格がないと読み書きできないのだそうだ。しかし、このマシンのWindowsには何のパスワードも設定していないのだが、それでも暗号化はされているらしい。これを解除しないといけないらしい。

これを行うには、いったんWindowsに戻り、Windows上でBitLockerを解除してやる必要がある。やれやれ。

コントロールパネルでBitLockerを検索すると以下の画面にたどりつく。

意味不明だ。Windows10の「BitLockerはアクティブ化を待機中です」を解除する方法を参考にする。

上の説明にあるし、途中で表示されるのだが、「デバイスの暗号化を完了化するには、マイクロソフトアカウントが必要」なのだそうだ(笑)。一体何のためにw。とにかくこれをオフにする。

マイクロソフトのやることはいつもそうなのだが、全く余計な機能をつけて物事を複雑化してしまう。たとえ中身を見られても隠したいファイルがあるなら、暗号化する方法などいくらでもあるものを。

そもそも、この機能が欲しいユーザがいるならば、その時にオンすれば良い話ではないか。なぜわざわざ「アクティブ化を待機中」なのだ。本当に馬鹿げている。

インストールを継続(この方針はだめ)

かなりイライラしたが、BitLockerを無効化できたので、気を取り直して初めからインストールしてみる。

今回は「インストールの種類」画面で継続すると(くれぐれも最終的にはこの選択ではだめだ)、BitLockerの画面はでず、一つのパーティションに書き込むぞと言ってる。

おそらく唯一作成してある空き領域に違い無いので、「続ける」。一抹の不安が残るが、これ以外の選択肢は面倒そうなので選ばない。

継続すると、インストールが終了する。しかし、これではまるで駄目で、昔ながらの「GRUBが起動するOSを決める」方式になってしまう。

インストールを継続(おそらくこれが正しい)

再度やり直し。

インストールの種類を「それ以外」にする。

空けておいた100GBの領域を見つける。そこにパーティションを作成するので+ボタンを押す。

マウントポイントを「/」にするだけ、あとはお任せする。

![]

こんな状態になるので、デバイス名を覚えておく。この場合は「/dev/nvme0n1p5」。ブートローダをインストールするデバイスをこのパーティションにする。でないと、ディスクにインストールしてしまい、Windows Boot Managerが機能しなくなる。

こんな警告が出る。継続する。

インストールが終了しても「試用を続ける」

GRUBのイメージをWindows側に与え、Windows Boot Managerにデュアルブートを実現させる。

あとは、ブートローダーはWindows Boot Managerのまま、WindowsとLinuxでデュアルブート/GRUBのみでデュアルブートに書かれてある通りだ。

LinuxパーティションのMBRを取得する

この例の場合だと、

dd if=/dev/nvme0n1p5 of=grub.dd bs=512 count=1

とする。カレントディレクトリにgrub.ddというファイルができるので、これをWindowsのCドライブトップに入れる。

Linux側から Windowsのドライブも読み書きできるので、これは簡単にできる。

再起動してWindowsを立ち上げる

LinuxのライブCDを終了させると、こんなメッセージになるので、この時にLinuxのUSBメモリを取り外す。こうしないと不具合になることがあるので注意。

再起動すると、Windowsが立ち上がるはずなのだが、さにあらず、Linuxになってしまう。BIOSが勝手に「ubuntu」パーティションの優先順位を上げていたせいだった。Windows Boot Managerの方を先にする。

Windows Boot Managerの操作

この時点での前提としては以下だ。

  • Linuxが単一のパーティションにインストールされ、GRUBもそのパーティションにインストールされた

この状態で、BIOSの起動順序を変更すれば、とりあえず問題なくデュアルブートが実現するので、「デュアルブート環境」と言えるだろう。Windows Boot Managerはそのままなので、Windows更新時の問題もないはずだ。しかし、これではあまりにめんどくさい。

次の手順の前提としては、以下である。

  • LinuxパーティションのMBRイメージがgrub.ddとしてWindowsのCドライブトップに置かれた。

これをWindows Boot Managerに登録することにより、Windows Boot Managerからどちらを起動するかを決められるのだという。

この手順としては、先のURLの「BCDエントリの追加(Windows Boot Manager)」にある。

これを行ってみたのが以下である。

デュアルブート実現するか?

これで再起動すれば、Windows Boot Managerが起動して、そこでWindowsかLinuxか決められるはずだったのだが、これにはもう一手間必要だったようだ。普通にWindowsが起動して終わりだ。

何がしかやらないといけないようなのだが、時間がなくなったので、元の状態に戻して今回は終了した。

未分類

Posted by ysugimura