マルチブート環境を構築 «ノートPC編»
先だってノートPC(HP EliteBook 2560p)をカスタマイズしました。その中で マルチブート構築の前準備 を行いました。今回は実際にマルチブート環境を構築していきます(2017/05)
追加する OS(Operating System)
現在ノートPCにインストールされている OSは Windows 7だけです。ここに次の OSを追加インストールします。
- Windows 10 Insider Preview 64-bit
- Ubuntu 14.04 LTS 64-bit
この 3つの OSを起動するためにフリーウェアのマルチブートマネージャー MBM(Multiple Boot Manager)を用いて各々のブートローダーをチェーンロードします。
マルチブート構築に使用するアプリケーションソフト
以下の 3つはマルチブート環境の構築には欠かせないアプリです。
アプリケーションソフト名 | 使用目的と使用したメディア形態 | 費用 |
---|---|---|
MBM(Multiple Boot Manager) | チェーンローダー|CDブータブル | 無料 |
GParted(GNOME Partition Editor) | パーティションエディタ|CDブータブル | 無料 |
Acronis True Image Home 2012 Plus | イメージバックアップ| CDブータブル | 有料 |
何れのアプリも CD-Rから起動するようにライブCDを作成します。MBMと GPartedはそれぞれ ISOイメージファイルが以下のサイトで無償配布されています。
- MBM|マルチ・ブート・マネージャ
http://elm-chan.org/fsw/mbm/mbm.html Multiple Boot Manager R0.3
- GParted|GNOME Partition Editor
ISOイメージファイルを CD-Rに焼くアプリには、例えば
- Windows|ImgBurn
- Linux(Ubuntu)|Furius ISO Mount
があります。他にもいろいろあるようですがこれら以外のアプリは使用したことがありません。
Acronis True ImageのライブCDは、一旦 Acronisを Windowsにインストールし、同梱されている Acronisメディアビルダで作成します。
Acronis True Imageは商用なので購入するしかありません。無料版(体験版ではない)もありますが特定のメーカーの HDDにバンドルされていたり、ネットワークを認識するかどうかも分かりません。
なお Acronis True Imageは世代間の互換性はありません。つまり 2012年版で作成したバックアップイメージは 2012年版以外ではリカバリー(レストア、復元)できないわけです。
ノートPC の HDDにパーティションを作成する
HP EliteBook 2560pカスタマイズのページで HDDのパーティションの構成を変更した時と同様に今回も OSを保持した状態での作業になります。
パーティション構成変更前と変更後
現在のパーティションの構成は
パーティションの構成変更前
HDD|セクターサイズ(論理 / 物理)512bytes / 512bytes
パーティションテーブル:MBR | システム | ファイルシステム | フラグ |
---|---|---|---|
第1パーティション(70GiB) | Windows 7 Pro. 32bit | NTFS | boot |
第2パーティション(228GiB) | 未割り当て | - | - |
のようになっているのでこれを
パーティションの構成変更後
HDD|セクターサイズ(論理 / 物理)512bytes / 512bytes
パーティションテーブル:MBR | システム | ファイルシステム | フラグ |
---|---|---|---|
ブートストラップローダ | Multiple Boot Manager | - | - |
第1パーティション(70GiB) | Windows 7 Pro.32bit | NTFS | boot |
第2パーティション(60GiB) | Windows 10 | NTFS | - |
第3パーティション(60GiB) | Ubuntu 14.04 LTS 64bit | EXT-4 | - |
第4パーティション(拡張) | - | - | - |
第5パーティション(8GiB) | SWAP | Linux-swap | - |
第6パーティション(100GiB) | データ保存領域 | NTFS | - |
のように変更し Windows 10、Ubuntuのインストール領域とスワップ領域を確保します。
1 GiB(2進表記)= 1.07374 GB(10進表記)|e.g. 100 GiB ≅ 107.4 GB となり実効値(2進表記)より大きい値になるため商用には GB が用いられる。ギビバイトと読む。
Linux-swap を 8GiB に設定した理由
Linux-swap(スワップ)とは物理メモリーが不足した時にHDDをメモリーとして代用する領域のことで Windowsで言うところのページファイルです。今回のノートPCには 8GBの物理メモリーを実装しているので本来ならば不要または 2GBもあれば良いと思われます。
しかし今回はノートPCなのでサスペンド(Suspend to RAM)またはハイバネート(Suspend to disk)時のシステム保存先として使用します。
サスペンド、ハイバネートについては ArchWiki サスペンドとハイバネート を参照してください
スワップサイズについては RedHat Linuxのサービスページ によれば
“ Swapは、物理 RAMサイズが 2GBまでは物理 RAMの 2倍として 2GBを超えると 1物理 RAMごとに同量を追加します。ただし 32MBを下回ることはできません。
中略
極めて大容量の RAM(32GB以上)を持つシステムでは、多分上記基準より少なめの swapパーティション(物理 RAMの 1倍またはそれ以下)で十分でしょう。 ”
と言うことで今回の物理メモリーは 2GBを超えているので 8GB + 2GBとなりスワップサイズは 10GBです。本来は 10GB(9.3GiB)にするべきなのでしょうけれど中途半端なパーティションサイズになるのがイヤなので 8GiBにした次第です。
パーティションを変更する
それではパーティションを変更していきます。その前に現在 HDDの第1パーティションにインストールしている Windows 7のバックアップイメージを Acronis True Imageで作成しておきます。
次に GPartedをライブCDから起動し、上表のパーティションサイズを設定して実行します。作業としてはこれだけです。
ここで OSをインストールするパーティションには上の画像のようにそれぞれ任意のラベル名を設定しておくとよいです。後々 Windowsのインストーラーやエクスプローラにドライブレターとして継承されていきます。
ラベル名は設定しなくても問題ありませんが作業の効率が良くなりミスを防ぐ効果もあると思います。
以上で Windows 10 と Ubuntuのインストール先パーティションの作成完了です。
マルチブートマネージャー MBM|インストールとメニューのリネーム
Windows 10をインストールする前に MBMをインストールしておきます。
MBMのインストール先は HDDの MBR(Master Boot Record)です。詳細は次のリンク先を参照して下さい。
ASUS EeePC 1025C のカスタマイズ|マルチブート環境の構築 2-2
リンク先では EeePC 1025Cへインストールしていますが HP EliteBook 2560pにおいても手順は同じです。インストールの様子をビデオキャプチャした動画も掲載しているので参考にしてください。
メニューのリネーム
- fig4|MBMインストール以降ノートPCを起動するとメニュー画面が表示される
- fig5|< F4 > キーで詳細メニュー表示、< F2 > キーでリネーム
- fig6|最終的にこのメニュー表示に設定した。ノートPCに電源を入れるとこのメニューが表示されるので起動したい OSを選択する。
MBMのその他の使用方法は、当サイトのマルチブート環境を構築 HDD 1台編の Addition|MBM(Multiple Boot Manager) に掲載しています。
マニュアルは MBMフロッピーディスクインストール版 mbm039.zipに同梱されています(mbm039.iso.gzではありません。)
このセクションでメニューのリネーム方法を説明していますが、後ほど Windows 10をインストールした段階で MBMは消されてしまうためもう一度インストールすることになります。
しかしリネームしたメニューは削除されることはありません。MBMを再びインストールすれば復活します。なお必ずしもこの段階でリネームしなくてもマルチブート環境を構築した後にリネームしてもよいです。
Windows 10 Insider Preview 64-bit をインストールする
それでは Windows 10をインストールしていきますがその前に 1つやることがあります。それは現在ノートPC - HDDの第1パーティションに存在している Windows 7の取扱いです。
このまま Windows 10をインストールすると Windows 10のブートローダー設定ファイルに Winodws 7が記述されてしまうのでこれを回避する必要があります。
そこで前のセクションでインストールした MBMのマスク機能を使ってあたかも Winodws 7が存在しないかのように偽装します。
偽装とは具体的にどういうことかと言うと HDDの MBR内パーティションテーブルの OS識別コードを一時的に別のものに置き換えて windows 10が認識できないようにする訳です。
その方法は
- MBM メニュー画面から < F4 > キーで詳細表示モードに切換え
- < F5 > キーで Windows 7の [a] を消し、< F7 > キーで [m] を表示する
- < F5 > キーで Windows 10に [a] を表示する
1.[--m-] 70.0G 17 win 7 ←インストール済Windows7をマスク 2.[a---] 60.0G 07 win10 ←ここにWindows10をインストールする 3.[----] 60.0G 83 ubuntu ←ここにUbuntuをインストールする 4.[----] 108G 05+DOS Extend ←拡張(swap,DATA) 5. Diskette ←フロッピーディスクから起動
これで Windows 7パーティションに hiddenフラグを、Windows 10パーティションに bootフラグを立てた事になります。
下の画像はマスク設定後の写真です。< F1 > キーでヘルプが表示されている状態です。
なお Ubuntuをインストールする時はマスクしてもしなくてもよいです。
Windows 10 をインストール
・バージョン|Windows 10 Insider Preview ver.1703 64-bit
Windows 10 Insider Preview のインストール方法などに関してはネット上に情報が溢れているのでここでは割愛しました。以下はインストール時選択した項目その他です。
- インストール先 → アクティブパーティション(第2パーティション)
- Windows単体でインストール
- エディション Home or Pro → Pro
- プロダクトキー → ありません
- インストール時間 → 約20分
- ログイン → MSアカウント
- Windowsのアクティブ化(デジタルライセンス認証)→ 不可
上の画像 fig7,8はインストール直後のデスクトップのスクリーンショットです。ちょっと触っただけですが動作はエフェクトがかかっているのか少し緩慢な感じです。
fig9は Windows 7のデスクトップのスクリーンショットです。エクスプローラを開くと Windows 10を認識し表示しています。Windows 10側でも同様に Windows 7が表示されます。
これは見た目にも機能的にもスマートではないので次のパートで MBMの機能を使ってこれらを非表示つまりお互いを認識できないようにします。
MBM を再インストールしマスクを設定する
Windows 10をインストールすると現在 ノートPC-HDDのMBRにインストールしている MBMは Windows 10のブートローダーに上書きされ消えてしまうので再度 MBMをインストールします。
この時 MBMが Windowsのブートローダーを上書きするようなことはありません。
オートマスクグループを設定する
起動しているOSから他のOSのシステムが見えない様に各OSの起動時に自動的に切り替える自動マスク機能です。< F8 > キーで設定します。
☑ Windows 7起動時
1.[a--1] 70.0G 07 win 7 ←Windows7を起動(a:アクティブ) 2.[--m2] 60.0G 17 win10 ←Windows10を隠す (m:マスク) 3.[----] 60.0G 83 ubuntu 4.[----] 108G 05+DOS Extend 5. Diskette
☑ Windows 10起動時
1.[--m1] 70.0G 17 win 7 ←Windows7を隠す(m:マスク) 2.[a--2] 60.0G 07 win10 ←Windows10を起動 (a:アクティブ) 3.[----] 60.0G 83 ubuntu 4.[----] 108G 05+DOS Extend 5. Diskette
下の画像はオートマスクグループ設定後の Windows 10のデスクトップのスクリーンショットです。
Windows 7のシステムが表示されていない(認識していない)のが分かります。
なお Ubuntuにオートマスクを設定していないのは一般的に Windowsは Ubuntuのファイルシステム EXT4を認識しないためです。
Ubuntuは Windowsのファイルシステムを認識するので Windows 7,10共に ディレクトリ(フォルダーのようなもの)として表示されます。もしも表示させたくなければ Ubuntuに [3] を設定します。
☑ Ubuntu 起動時
1.[--m1] 70.0G 17 win 7 ←Windows7を隠す(m:マスク) 2.[--m2] 60.0G 07 win10 ←Windows10を隠す(m:マスク) 3.[a--3] 60.0G 83 ubuntu ←Ubuntuを起動 (a:アクティブ) 4.[----] 108G 05+DOS Extend 5. Diskette
以上で 2つ目の OS導入の完了です。次は Ubuntuをインストールします。
Windows10 をインストールした翌日 Skype から登録勧誘のメールが、その1時間後に PeyPal から「ペイパルが使えるお店のご紹介」でスカイプ勧誘メールが届きました
2020年1月追記|Windows 10 電源オプションを切る理由
Windows 10 電源オプションの 「高速スタートアップを有効にする」は Windows 7 起動の際 CHKDSK を防ぐため無効にしています。最近になってそれ以外の理由があることを知ったので紹介します。
Ubuntu と Windowsでデータ共有するパーティションのファイルシステムは NTFS です。Ubuntuには ntfs-3g(Third Generation Read/Write NTFS Driver)というアプリケーションパケージがデフォルトでインストールされているので何もしなくても読み書きできます。
下記は Synapticパッケージマネージャーからの抜粋です。
“NTFS-3G は FUSE(Filesystem in Userspace)用の読み書き可能なNTFSドライバーです。FUSE を用いて Microsoft Windows で使われている NTFS ファイルシステム用のサポートを提供します。”
で、NTFS-3Gのコミュニティーサイト に次のような記述がありました。
“ Windows hibernation and fast restarting
On computers which can be dual-booted into Windows or Linux, Windows has to be fully shut down before booting into Linux, otherwise the NTFS file systems on internal disks may be left in an inconsistent state and changes made by Linux may be ignored by Windows.
So, Windows may not be left in hibernation when starting Linux, in order to avoid inconsistencies.
Moreover, the fast restart feature available on recent Windows systems has to be disabled.
This can be achieved by issuing as an Administrator the Windows command which disables both hibernation and fast restarting :
powercfg /h off ”
これを Google翻訳すると
“ Windowsの休止状態と高速再起動
WindowsまたはLinuxをデュアルブートできるコンピューターでは、Linuxをブートする前にWindowsを完全にシャットダウンする必要があります。
そうしないと、内部ディスク上のNTFSファイルシステムが一貫性のない状態のままになり、Linuxによる変更がWindowsによって無視される場合があります。
したがって、矛盾を避けるために、Linuxの起動時にWindowsが休止状態にならない場合があります。 さらに、最近のWindowsシステムで利用可能な高速再起動機能を無効にする必要があります。
これは、休止状態と高速再起動の両方を無効にするWindowsコマンドを管理者として発行することで実現できます。
powercfg /h off ”
訳中の 高速再起動機能 が 高速スタートアップ を指しているようです。要するに下の画像のように設定変更しろということですね。
このノートPCでは 3年前からマルチブート環境で運用していますがデータ共有領域でこれといった不具合は起きていません。その他、数台の PC(OptiPlex 755, メインPC, スリムPC, HP xw8400, ThinkPad x121e, Inspiron 3162)も同様です。
ただ NAS(自作 したので ext4)の使用率が高いという事もありますけどね。
2020年10月追記|WIP 6th 記念壁紙が届いた
Windows 10 October 2020 Update(20H2)リリース記念の壁紙が送られてきました。Windows Insiderの参加者に送っているとのことです。
light と dark の 2種類です。
Ubuntu 14.04 LTS 64-bit をインストールする
それでは Ubuntuをインストールしていきますがここで重要なことはマルチブート環境におけるブートローダー GRUB2のインストール先です。
この 1点のみ注意すれば後は簡単です。
16.04LTS にアップグレードしました(2019/04)↓
Ubuntu Dsktop 主な仕様
下の画像はデフォルトのデスクトップのスクリーンショットです。画面右上に表示しているのはシステムモニター Conkyです。
- コードネーム Trusty Tahr
- 64bit|x86_64 PC
- 32bit|x86 and x86_64 PC, with PAE(Physical Address Extensions)
- kernel 4.2.0
- 無料
- 推奨動作環境
- Dual Core processor with 1 GB of RAM
- 10GB of HDD or SSD
- Graphics with OpenGL 1.4・Intel GMA 900以降
- Internet access
- セキュリティサポート:2019年4月終了
デバイスの動作状況
各デバイスの動作については ArchWiki HP ElteBook 2560p によると指紋リーダーは完全にアウト、 eSATAポートは未確認とのことでそれ以外は動作するようです。当方では確認していません。
Ubuntu 64-bit をインストールする
Ubuntuの ISOイメージファイルを Ubuntu 14.04 LTS 日本語 Remix リリース からダウンロードしライブDVDを作成します。
今回のノートPC(HP EliteBook 2560P)には光学ドライブが搭載されているので Windows 7上の ImageBurnでライブDVDを作成しました。
本家英語版は Ubuntu 14.04.5 LTS(Trusty Tahr) からダウンロードします。こちらはインストール後 Ubuntu Japanese Team のリポジトリをインストールすれば日本語 Remix同等にする事もできます。
ブートローダー GRUB2 のインストール先
Ubunntuをインストールする課程でブートローダー GRUB2のインストール先を指定する必要があります。デフォルトでは HDDの MBR(Master Boot Record)に設定されています。
今回の場合 GRUB2のインストール先は MBRではなく Ubuntuをインストールしたパーティションの PBR(Partition Boot Record)です。
Ubuntuのインストーラーでは / dev / sda3 となります。
下の画像は VirtualBoxで Ubuntuをインストールするシミュレーションをした時のスクリーンショットです。
パーティションの構成は今回と同じですがパーティションサイズは適当な数値なので無視して下さい。
もしも MBR(/ dve / sda)にインストールすると MBMを上書きするので GRUB2がチェーンローダーになってしまいます。これはこれでマルチブートは成立しますが HDDのパーティション構成が変わると設定ファイルの編集が必要になります。
元に戻すには MBMを MBRにインストールし、ライブDVDから Ubuntuをライブセッションで起動し端末エミュレータから GRUB2を PBRにインストールします。順番はどちらが先でもかまいません。
以下の作業はやってもやらなくてもかまいません
GRUB2 メニューの表示を変更する
GRUBメニューの表示時間(TIME OUT)はデフォルトで 10秒に設定されています。10秒は長いので短縮します。また GRUB2メニューに表示(検索)される Windows 7,10を表示しない(検索しない)ように設定します。
この 2つを端末エミュレーターで次のコマンドを実行し GRUB2の設定ファイル grub を編集します。
$ sudo nano /etc/default/gurb
を実行してテキストエディタを起動します。
TIME OUT時間
GRUB2のメニューが表示されてから Ubuntuのブートシーケンスが開始されるまでの TIME OUT時間を 10秒から 5秒に変更します。デフォルトのコードは削除するかコメントアウトします。(10行目辺り)
#GRUB_TIMEOUT=10 (デフォルト) GRUB_TIMEOUT=5 (grubメニューの表示時間 5秒)
その他のOS非表示
GRUB2のメニューに表示されるその他のOSを非表示にします。デフォルトではこのコードは記述されていないので追記します。
GRUB_DISABLE_OS_PROBER=true (その他のOSを検索・表示しない)
設定を反映する
下の画像は編集後の設定ファイルのスクリーンショットです。水色下線部が編集したコードです。
編集したら保存してテキストエディタを閉じて grubをアップデートします。端末から次のコマンドを実行します。
$ sudo update-gurb
このコマンドを実行することで設定が反映されます。
以上で Ubuntu 14.04 LTS 64-bit のインストール完了です。
HP EliteBook-Ubuntu にお勧めのアプリとデスクトップ設定
Ubuntu 16.04LTS にアップグレード(2019年4月)
14.04LTSの End Of Life(サポート終了)に伴い 16.04LTSにアップグレードしました。サポート期間は2021年4月までです。
下の画像はデスクトップのスクリーンショットです。
Unity環境最後のデスクトップとなります。Conkyのデザインを壁紙に合わせて変更しました。
アップグレードの手順は以下の通りです。
- システムモニター Conkyを停止する
- ソフトウェアの更新アプリを使用する
下の画像はアップグレードの間に表示されていたダイアログボックスのスクリーンショットを時系列に並べたものです。
但し、スナップショットアプリが機能している時だけなので抜け落ちているダイアログもあります。
- ソフトウェアの更新
- リリースノート
- アップグレードを開始しますか?
- ディストリビュージョンのアップグレード
- Ubuntu 18.04LTS のアップグレードが利用可能です
- unattended-upgrade を設定しています
- サポートが中止された(あるいはリポジトリに存在しない)パッケージを削除しますか?
- アップグレードを完了するには再起動してください
不具合発生!
アップグレードのプロセスは問題なく完了しアプリも問題なく継承されました。しかし、それ以外のところで 3つの不具合が発生しました。
調査の結果、全て解消しました。詳細は下記リンクを参照ください。
雑感
今回ノートPCにマルチブート環境を構築したわけですが、これがデスクトップであっても デバイスが SSDであってもその方法になんら変わるところはありません。
基本的に HDDの理解と Legacy BIOS、マルチブートマネージャーを使用することです。マルチブートマネージャーに必ずしも MBMを使う必要もありません。管理人は MBM以外使ったことはありませんが。
それとライブメディアから起動かつネットワーク接続できるイメージバックアップアプリも忘れずに。
マルチブートスクリーンショット
下の画像(fig10~fig15)は本文中で紹介しきれなかったノートPCの写真や Windowsと Ubuntuのデスクトップスクリーンショットです。
上の画像の HDD の温度表示(fig15)は今回のマルチブートには直接関係ありません。6枚目に貼る画像が無く空いているのでシステムモニターのスクリーンショットを貼ってみました。で、何をしたのかと言うと
現状ノートPC - HDDの温度情報を取得するアプリが S.M.A.R.Tの温度情報を認識できず、そのアプリの情報を拾っているシステムモニターに N/A℃と表示されています。
これを正しく表示するように設定したわけです。その方法は下のリンク先で紹介しています。
システムモニター Conky に HDD温度が表示されない時の対処法
Windows 10 動作報告
2018年9月現在のバージョンは Windows 10 Insider Preview ver.1809 64-bit です
Windows Helloによる指紋認証でサインイン(ログイン)できました
その方法は HP EliteBooK 2560pの生体認証デバイスドライバーを削除して Lenovo ThinkPadの Validity生体認証ドライバーをインストールすることで Windows Helloが有効になります。
下の画像は生体認証ドライバー導入後のデバイスマネージャーのスクリーンショットです。
参考.Validity Fingerprint Common Driver for Windows 10
Build 17046 以降 Windows Helloの設定が出来なくなった
地デジチューナーが導入できました
第1パーティションの Windows 7に導入した USB2.0接続の地上デジタル放送チューナーと同じドライバーを Windows 10及び Windows 11にインストールして正常に動作することを確認しました。
下の画像は地デジ放送を PCastTV for 地デジ Lite と云うビューワで表示しいている様子のスクリーンショットです。
地デジチューナーを導入する方法は HP EliteBook 2560p Notebook PC のカスタマイズ のページで紹介しています。
2020年7月追記|Windows 7 に Edge が自動インストールされた
2020年1月にサポート終了した Windows 7(32-bit)の Windows Update をオンのままにしていたら Chromium ベースの Microsoft Edge バージョン83.x が自動的にインストールされていました。
その後、バージョン84.x に更新されました。