工作好きな情報系の雑記

再インストールなしでWindows 7とUbuntuのデュアルブートPCにする方法

学校でいろんなコーディング課題が出るわけなんだけど、基本的にmacでの課題。
家だとwindowsしかないから、学校の課題を続けるのが少しめんどくさい。
フォルダパスとか違うし、macじゃないとうまく動かないライブラリだったりがあるし。
windows用があるにしても、わざわざ動くように設定するのがめんどくさい。

って事で、自分のデスクトップにUbuntuを入れることにした。
Ubuntuならフォルダ構成とかmacと同じのが使えるしね。

かといって、windowsの再インストールとかはしたくない。色々またソフトをインストールし直さないといけないのはとてつもなく面倒。

ネットで調べた感じ、再インストールなしでwindowsとUbuntuのデュアルブート化できる上に、両方からアクセスできる共有ストレージを持った構成を作る事ができるようなので、それを目指した。

2017/10/01
手順の記事を書こうと思ったらリンクが全部切れてた・・・!!!!!!
これじゃ正確な手順が思い出せない!!!
困った・・・
とりあえず、リンクURLをヒントにいろいろ探して、それを元に思い出せる手順を全部書いておく。多分合ってる。

環境

手順

Ubuntuのインストール用USBを作成する

Ubuntuをダウンロード

Ubuntuのisoファイルをダウンロード。64bit版一択。

https://www.ubuntulinux.jp/download/ja-remix

インストール用USBの作成

何とかしてUSBにisoファイルを焼く。

(詳しくは後で書く。)

USBが作成できたら、PCに残ってるisoファイルは消しても大丈夫。
かといって、色々失敗した時にまたisoファイルを落とすのもめんどくさいので、デュアルブート化するPC以外のPCでisoファイルをダウンロードして、インストール用USBを作るのが楽かも。

高速スタートアップを無効化(UEFIブートのPC以外)

[コントロールパネル]>[ハードウェアとサウンド]>[電源オプション]>[電源ボタンの動作を選択する]>[現在利用可能でない設定を変更します]

シャットダウン設定の[高速スタートアップを有効にする(推奨)]のチェックを外して設定を保存。

この項目が無ければ無視してもいいんじゃないかな。

バックアップとかの準備

Windowsパーティションをを縮小

[コンピュータ]を右クリック>[管理]>[ディスクの管理](①)

Cドライブを右クリック>[ボリュームの縮小](②)

しばらくしたら縮小領域が計算されるので、最大限に縮小する。

パーティション分けの時にwindowsパーティションのサイズを決めるので、ここでは縮小できるだけ縮小しておく。
次にイメージディスクを作るときに容量を節約できる。

windowsのシステムイメージを作成する

[コントロールパネル]>[システムとセキュリティ]>[バックアップと復元]>[システム イメージの作成]

別に用意したHDDとかにシステムイメージを保存しておく。

windowsのブートディスクを作っておく

[コントロールパネル]>[システムとセキュリティ]>[バックアップと復元]>[システム復元ディスクの作成]

DVDとかに焼く。

 

とりあえずここまでやっておけば、何かやらかしてもデータが取り戻せるので安心。

Windowsのインストール

ここから先は今のwindowsのブート方法によって、windowsをHDD内に配置する手順が変わる。

最初はLegacy BIOSでのブートのままの予定だったけど、どうもうまく動かなかったので、今回はどちらのOSもUEFIブートにする。
Legacy BIOSとUEFIを両立させる方法はあったのかもしれないが、当時の自分では解決できなかったらしい。

そもそもwindowsがUEFIブートならこの項目は使わず、後述する方法でディスクパーティションソフトを使うだけでデュアルブート化できると思う。

自分のOSがどちらで動いているのかわからない場合は、管理者権限でcmdを開き、bcdeditと叩く。
出力の中のpathにあるやつの拡張子が.exe (BIOS) か .efi (UEFI)かで判別できる。 

 Legacy BIOSのwindowsの場合

windowsをUEFIブートできるUSBメモリを作成する

大体8GB以上のUSBメモリをPCに挿す。

管理者権限でcmdを開いてdiskpartと叩く。

diskpartを閉じて、以下のコードを叩く。Dはインストールディスクのドライブ名、EはUSBのドライブ名に合わせる。
インストールディスクは何とか用意する。プロダクトキーがあればisoファイルをマイクロソフトからダウンロードできるので、それを仮想的にマウントして使うのもあり。

次に、インストールDVDの\bootフォルダにあるbootsectコマンドを実行し、マスターブートコードを更新して、USBメモリからブートできるようにする。
(これをやるとPC上のブートセクタの設定が更新されるっぽい?)

最後に、UEFIブート用のファイル「bootmgfw.efi」を用意して、USBメモリ内に「\efi\boot\bootx64.efi」という名前に変更して保存する。必ず64bit版Windows 7上で実行すること!

Windows 7をUEFIモードでインストールするにはDVDメディアでシステムを起動すればよいが、USBメモリにコピーしたものではファイルが不足していて、UEFIモードで起動できない。これを解決する方法を紹介。
Windows 7をUEFIモードでインストールするためのUSBメモリを作成する - @IT

DVDドライブを搭載しないPCにOSをインストールするには、インストールイメージを格納したUSBメモリを利用すればよい。OS標準コマンドの「diskpart」を使えばインストールUSBメモリを作成できる。
Windows 7/8/8.1のインストールUSBメモリを作る(diskpart編) (1/2) - @IT
ブートセクタをMBRからGPTへ変更

いったんシャットダウンして、windows 7のインストールディスクで起動。

OSインストールの初期画面になったら、Shift+F10でコマンドプロンプトを起動。

一時的に仮のwindowsインストール

プロンプトを抜けて、yドライブにUEFIのUSBでwindowsをインストールする。

参考サイトだとxcopyで全部コピーできるみたいに書いてあるけど、自分の環境だと「アクセスが拒否されました」と出てコピーできなかったので、代わりに一時的にインストールしたwindowsからコピーする方法をとる。

録画用サブマシン (Pentium G3420、GA-H97N-WIFI、Windows 7) のシステムドライブに使っているSSDをOS再インストールせずに交換しようとして、MBRとGPTの壁にぶつかった。 同じIntel 530シリーズの240GBから480GBへ取り替えるので、システムイメージのバックアップを使うだけでお手軽に済むと思っていた。しかしインストールディスクのDVDからブートして、コンピュータの修復を選ぶ段階でエラー。どうやらシステムドライブにMBRでインストールされており、そのバックアップイメージを保存したデータ用HDDがGPTのため、うまくいかないら...
MBRのWindows 7を、再インストールなしでGPTに変換する方法 - 苦労と試行 - 苦労と試行
イメージファイルのデータを移行

インストールしたwindowsを普通に起動し、管理者権限でcmdを開き、diskpartを起動。

こうすると、マイコンピュータにイメージファイルが仮想HDDとしてマウントされているはず。

そしたらこの中身を全てCドライブにコピー。

途中、アクセス権限の関係でコピーできなかったファイルがダイアログで表示される。
これらも全て自動でコピーできればよかったのだが、HDDのアクセス権を全ユーザーに対してフルコントロールに変更したり、読み取り専用のチェックを外したりした所で上手くいかなかった。

なぜか一つ一つドラッグ&ドロップだとコピーできるので、出てきたダイアログを確認しつつ全て手作業でコピーする。(それでもコピーできないファイルは無視しても大丈夫そう。今の所何とかなってる笑)

仮のwindowsを消す

もう一度シャットダウンし、インストールディスクで起動。

またShift+F10でコマンドプロンプトを開いてdiskpartを起動。

これで仮のwindowsが消えて、windowsのインストールが完了(delete volumeコマンドで消してもいいかも)。

PCを再起動して、Cドライブのwindowsが起動できれば成功!!

もしwindowsの領域を増やしたければ、ここでシャットダウンする前にdiskpartの中で拡張する(方法はまた後で書く。)

UEFIブートのwindowsの場合

windowsのパーティションを好きなサイズまで縮小するだけでたぶん大丈夫。

前の手順で最小に縮小してあると思うけど、同じ画面で拡張するか、diskpartを使って拡張するか、EaseUS Partition Masterっていうソフトを使ってパーティションを拡張するかして、パーティションサイズを好きなサイズにする。

Ubuntuのインストール

インストールを始める

最初に作ったUbuntuのUSBからPCを起動。

インストールを始めると、途中で「インストールの種類」という画面が出てくるので、そこで「それ以外」を選択して次へ。

Ubuntuのインストール方法やアプリの使い方、Ubuntuの最新情報を紹介しています。
Ubuntu 16.04 インストール(UEFI) その1 - UEFIのPCにUbuntu 16.04をインストー... - 

パーティション作成

ここではルートパーティションとスワップパーティションを作る。

一番大きい容量の「空き領域」を選択して、以下の設定でルートパーティションを作る。

ルートパーティション
サイズ 任意のサイズ
新しいパーティションのタイプ 基本パーティション
新しいパーティションの場所 この領域の始点
利用方法 ext4 ジャーなリングファイルシステム
マウントポイント /

多分、/dev/sda2みたいにルートパーティションが作成される。

次にスワップパーティションを作る。残りの「空き領域」を選択して、以下の設定でスワップパーティションを作る。

スワップパーティション
サイズ 任意のサイズ(2GBくらい?)
新しいパーティションのサイズ 基本パーティション
新しいパーティションの場所 この領域の始点
利用方法 スワップ領域

多分、/dev/sda3のようにパーティションが作成される。

最後に「ブートローダをインストールするデバイス」では、「/dev/sda」みたいに、HDD自体を選択する。
一番でかいからわかりやすいと思う。
ここを選択するとwindowsと同じブートセクタが選択されるっぽい。

Ubuntuのインストール方法やアプリの使い方、Ubuntuの最新情報を紹介しています。
Ubuntu 16.04 インストール(UEFI) その2 - UEFIのPCにUbuntu 16.04をインストー... - 

残りのインストール

あとはダイアログに従ってインストールするだけ。簡単。

PCを再起動して、Ubuntuが起動できるかどうか確認して、起動できれば完了。

共有ストレージを作成する

HDDの残りを共有ストレージにする。

僕はEaseUS Partition Masterというソフトでストレージパーティションを作った。
両方のOSからアクセスできるファイルシステムじゃないといけないので、ファイルシステムは「NTFS」でフォーマットする。

両方のOSからアクセスできることが確認できたら、無事デュアルブート化完了!!!

おわりに

結果的に、ものすごく時間かかってしまった・・・。

記事だとすんなりいくように書いてあるけど、実際は結構試行錯誤した。
色々とアクシデントに見舞われて何回HDDの中身空っぽにしたことやら。
イメージファイルのバックアップとってなかったらどうなってた事やら。

いや~、流石に2週間近くかけてしまったのは馬鹿だったと思う(笑)
もはや普通にパーティション仕切って、windows7をインスコし直してソフト入れ直した方がよっぽど早かった。

でも後悔してない。記事にやり方まとめたし、今後はこのサイトを見ればスパーンとデュアルブート化できるであろう!!

モバイルバージョンを終了