再インストールなしでWindows 7とUbuntuのデュアルブートPCにする方法
学校でいろんなコーディング課題が出るわけなんだけど、基本的にmacでの課題。
家だとwindowsしかないから、学校の課題を続けるのが少しめんどくさい。
フォルダパスとか違うし、macじゃないとうまく動かないライブラリだったりがあるし。
windows用があるにしても、わざわざ動くように設定するのがめんどくさい。
って事で、自分のデスクトップにUbuntuを入れることにした。
Ubuntuならフォルダ構成とかmacと同じのが使えるしね。
かといって、windowsの再インストールとかはしたくない。色々またソフトをインストールし直さないといけないのはとてつもなく面倒。
ネットで調べた感じ、再インストールなしでwindowsとUbuntuのデュアルブート化できる上に、両方からアクセスできる共有ストレージを持った構成を作る事ができるようなので、それを目指した。
2017/10/01 |
環境
- Windows 7
- Ubuntu 15.04
- HDDサイズ:1TB
手順
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と叩く。
1 2 3 4 5 6 7 8 9 | list disk select disk ○(list diskで表示されたusbメモリの番号) clean create partition primary select partition 1 active format fs=fat32 assign exit |
diskpartを閉じて、以下のコードを叩く。Dはインストールディスクのドライブ名、EはUSBのドライブ名に合わせる。
インストールディスクは何とか用意する。プロダクトキーがあればisoファイルをマイクロソフトからダウンロードできるので、それを仮想的にマウントして使うのもあり。
1 | C:\>xcopy D:\*.* /s/e/f E:\ |
次に、インストールDVDの\bootフォルダにあるbootsectコマンドを実行し、マスターブートコードを更新して、USBメモリからブートできるようにする。
(これをやるとPC上のブートセクタの設定が更新されるっぽい?)
1 2 | C:\>cd /D D:\boot D:\boot>bootsect /nt60 E: |
最後に、UEFIブート用のファイル「bootmgfw.efi」を用意して、USBメモリ内に「\efi\boot\bootx64.efi」という名前に変更して保存する。必ず64bit版Windows 7上で実行すること!
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 | C:\>dir %windir%\Boot\EFI #コピー元の確認。 ドライブ C のボリューム ラベルは WIN7X64 です ボリューム シリアル番号は 2C9F-4796 です C:\Windows\Boot\EFI のディレクトリ 2011/03/17 11:57 <DIR> . 2011/03/17 11:57 <DIR> .. 2010/11/20 05:32 672,640 bootmgfw.efi #このファイルをコピーする 2010/11/20 05:32 669,568 bootmgr.efi #こちらではない 2009/07/14 12:20 <DIR> cs-CZ ……(以下省略)…… C:\>mkdir E:\efi\boot #コピー先フォルダを作成する(E:がUSBメモリとする) C:\>copy %windir%\Boot\EFI\bootmgfw.efi e:\efi\boot\bootx64.efi #名前を変えてコピーする 1 個のファイルをコピーしました。 C:\>dir E:\efi\boot #コピーされたか確認 ドライブ E のボリューム ラベルがありません。 ボリューム シリアル番号は 0CC8-1AAE です e:¥efi\boot のディレクトリ 2014/04/11 18:01 <DIR> . 2014/04/11 18:01 <DIR> .. 2010/11/20 05:32 672,640 bootx64.efi #コピーしたファイル 1 個のファイル 672,640 バイト 2 個のディレクトリ 3,903,909,888 バイトの空き領域 |
ブートセクタをMBRからGPTへ変更
いったんシャットダウンして、windows 7のインストールディスクで起動。
OSインストールの初期画面になったら、Shift+F10でコマンドプロンプトを起動。
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 | diskpart list disk # windowsをインストールするディスク番号を覚えておく(ここでは1とする) select disk 1 clean # ここで完全にデータが消えるので注意 convert gpt # list diskを見ると*がついている create partition EFI size=100 offset=1 format fs=fat32 quick assign letter=i create partition MSR size=128 create partition primary size=120000 # windowsパーティションのサイズを指定(MB単位) format fs=ntfs label="Windows" quick assign letter=c create partition primary format fs=ntfs label="Second Windows" quick # いったんこっちにwindowsを作る assign letters=y exit |
一時的に仮のwindowsインストール
プロンプトを抜けて、yドライブにUEFIのUSBでwindowsをインストールする。
参考サイトだとxcopyで全部コピーできるみたいに書いてあるけど、自分の環境だと「アクセスが拒否されました」と出てコピーできなかったので、代わりに一時的にインストールしたwindowsからコピーする方法をとる。
イメージファイルのデータを移行
インストールしたwindowsを普通に起動し、管理者権限でcmdを開き、diskpartを起動。
1 2 3 | select vdisk file="D:\WindowsImageBackup\PC名\Backup YYYY-MM-DD XXXXXX\半角英数列.vhd" # イメージファイルを指定 attach vdisk assign letter=z |
こうすると、マイコンピュータにイメージファイルが仮想HDDとしてマウントされているはず。
そしたらこの中身を全てCドライブにコピー。
途中、アクセス権限の関係でコピーできなかったファイルがダイアログで表示される。
これらも全て自動でコピーできればよかったのだが、HDDのアクセス権を全ユーザーに対してフルコントロールに変更したり、読み取り専用のチェックを外したりした所で上手くいかなかった。
なぜか一つ一つドラッグ&ドロップだとコピーできるので、出てきたダイアログを確認しつつ全て手作業でコピーする。(それでもコピーできないファイルは無視しても大丈夫そう。今の所何とかなってる笑)
仮のwindowsを消す
もう一度シャットダウンし、インストールディスクで起動。
またShift+F10でコマンドプロンプトを開いてdiskpartを起動。
1 2 3 4 5 6 | diskpart list disk # windowsをインストールするディスク番号を覚えておく(ここでは1とする) select disk 1 list partition # 仮のwindowsをインストールした番号を覚えておく(ここでは2) delete partition 2 exit |
これで仮のwindowsが消えて、windowsのインストールが完了(delete volumeコマンドで消してもいいかも)。
PCを再起動して、Cドライブのwindowsが起動できれば成功!!
もしwindowsの領域を増やしたければ、ここでシャットダウンする前にdiskpartの中で拡張する(方法はまた後で書く。)
UEFIブートのwindowsの場合
windowsのパーティションを好きなサイズまで縮小するだけでたぶん大丈夫。
前の手順で最小に縮小してあると思うけど、同じ画面で拡張するか、diskpartを使って拡張するか、EaseUS Partition Masterっていうソフトを使ってパーティションを拡張するかして、パーティションサイズを好きなサイズにする。
Ubuntuのインストール
インストールを始める
最初に作ったUbuntuのUSBからPCを起動。
インストールを始めると、途中で「インストールの種類」という画面が出てくるので、そこで「それ以外」を選択して次へ。
パーティション作成
ここではルートパーティションとスワップパーティションを作る。
一番大きい容量の「空き領域」を選択して、以下の設定でルートパーティションを作る。
ルートパーティション | |
サイズ | 任意のサイズ |
新しいパーティションのタイプ | 基本パーティション |
新しいパーティションの場所 | この領域の始点 |
利用方法 | ext4 ジャーなリングファイルシステム |
マウントポイント | / |
多分、/dev/sda2みたいにルートパーティションが作成される。
次にスワップパーティションを作る。残りの「空き領域」を選択して、以下の設定でスワップパーティションを作る。
スワップパーティション | |
サイズ | 任意のサイズ(2GBくらい?) |
新しいパーティションのサイズ | 基本パーティション |
新しいパーティションの場所 | この領域の始点 |
利用方法 | スワップ領域 |
多分、/dev/sda3のようにパーティションが作成される。
最後に「ブートローダをインストールするデバイス」では、「/dev/sda」みたいに、HDD自体を選択する。
一番でかいからわかりやすいと思う。
ここを選択するとwindowsと同じブートセクタが選択されるっぽい。
残りのインストール
あとはダイアログに従ってインストールするだけ。簡単。
PCを再起動して、Ubuntuが起動できるかどうか確認して、起動できれば完了。
共有ストレージを作成する
HDDの残りを共有ストレージにする。
僕はEaseUS Partition Masterというソフトでストレージパーティションを作った。
両方のOSからアクセスできるファイルシステムじゃないといけないので、ファイルシステムは「NTFS」でフォーマットする。
両方のOSからアクセスできることが確認できたら、無事デュアルブート化完了!!!
おわりに
結果的に、ものすごく時間かかってしまった・・・。
記事だとすんなりいくように書いてあるけど、実際は結構試行錯誤した。
色々とアクシデントに見舞われて何回HDDの中身空っぽにしたことやら。
イメージファイルのバックアップとってなかったらどうなってた事やら。
いや~、流石に2週間近くかけてしまったのは馬鹿だったと思う(笑)
もはや普通にパーティション仕切って、windows7をインスコし直してソフト入れ直した方がよっぽど早かった。
でも後悔してない。記事にやり方まとめたし、今後はこのサイトを見ればスパーンとデュアルブート化できるであろう!!
この記事へのコメントはこちら