Showing posts with label ntldrマルチブート. Show all posts
Showing posts with label ntldrマルチブート. Show all posts

2013-05-21

Mac OS Xの内蔵ディスクはそのままに、外付けUSBディスクのLinuxとデュアルブートする方法

WindowsマシンのWindowsとUbuntu Linuxをデュアルブートする方法は何度かこのブログでも取り上げました。
今度はMacのMac OS X Mountain LionとUbuntu Linuxをデュアルブート(マルチブート)する方法についてです。

Mac OS Xでデュアルブートと言えば、Boot Campが有名ですが、Macの内蔵ディスクを変更してしまうので、私はどうも好きになれません。
以下は、Macの内蔵ディスクにいっさい手をつけず、外付けUSBディスクにLinuxをインストールしてデュアルブートできるようにする方法です。
ブートローダーは rEFIt を使います。
  1. Linux用に使用したい外付けUSBディスクをMacに接続し、ディスクユーティリティを起動します。
  2. ディスクユーティリティで、外付けUSBディスクのパーティションを切ります。
    今回はブートローダーのrEFIt用の小さなパーティションと、Linux用に残りの2パーティションとします。
    rEFIt用のパーティションの名前は [refit]、フォーマットは [Mac OS拡張(ジャーナリング)]、サイズは [0.03GB] とします。
    残りの容量のパーティションはフォーマットしなくてもかまいません。
    (私の場合は実際にはここで、1TBのUSB 3.0ディスクを4つのパーティション構成にしました。Time Machine用に500GB、refit用にHFS+で3GB、データ共有用にFATで10GB、残りをLinux用です。)
  3. ディスクユーティリティでパーティションが切り終わったら、refitのパーティションがマウントされると思います。
  4. rEFIt をダウンロードし、.dmg をマウントします。その中の [efi] フォルダを外付けUSBディスクの refit のパーティションにコピーします。
  5. ターミナルを開いて次のおまじないを実行します(指定するマウントポイント名は外付けUSBディスクのrefitパーティションの方です)。
    cd  /Volumes/refit/efi/refit/
    ./enable.sh
  6. これでブートローダーの設定は終わりです 。
  7. 次にUbuntu Linuxのmac用のiosイメージをCDに焼いて、再起動します。CDから起動するには、再起同時に C のキーを押しながら起動します。
  8. Ubuntu Linuxのインストーラが起動するはずです。もしもたくさんのディスクを接続していたり、パーティションをたくさん切っている場合には、Ubuntuのインストーラがハングしてしまうことがあるようです。パーティションの数、ディスクの数は極力少なくしておく必要があるようです。
  9. Ubuntuのインストーラで(ここでは12.10の場合)、[コンピュータにはMac OS Xがインストールされています。どのようにしますか?] のところで [それ以外(Ubuntu向けに、自分でパーティションの作成やサイズ変更を行ったり、複数のパーティションを選択することも出来ます。)] を選びます(選択肢は3つで、他の選択肢は、[UbuntuをMac OS Xとは別にインストール] と [Mac OS XをUbuntuで置き換える] です)。
    外付けUSBディスクに / と swap のパーティションを切ります。
    次に、ここが重要ですが、Linuxのブートローダーのインストール先デバイスを外付けUSBディスクにします。
    なお、内蔵ディスクと外付けUSBディスクの2台の場合は、外付けUSBディスクの名前は /dev/sdb になるはずです。
  10. これ以外はUbuntuのインストーラに従ってインストールを行います。
これでMac OS XとUbuntu Linuxのデュアルブート環境の完成です。
Mac OS Xから起動したいときはそのまま起動します。
Ubuntu Linuxからブートしたい場合は、ブートローダを呼び出すために、Opt キーを押しながら起動し、Linux のパーティションを選んで起動します。

なお、私の場合は、Ubuntu 12.10でMac用のisoイメージではなく、単なる64bit用のiosイメージを選んでしまったためか、有線LANと無線LAN (Wi-Fi) が認識しませんでした。
再起動後、http://www.frozenindustries.com/2012/11/04/ubuntu-12-04-lts-on-an-apple-mac-mini-late-2012/ に従ってドライバを追加する必要がありました(この部分は、自動化ができないか、再度検証が必要と思っています)。
Ubuntuのisoイメージのダウンロード(特にMac用)は http://www.ubuntu.com/download/desktop のページからではなく、 http://releases.ubuntu.com/ からダウンロードするのが良さそうです(Unsupported Ubuntu Imagesのリンクの先にNexus 7用のイメージもありますね)。

2012-06-21

WindowsのブートローダーでLinuxとデュアルブートする方法 - Ubuntu 12.04の場合

Ubuntu 12.04 LTSでも11.04とほぼ同じ手順(ほんの少し楽に)でデュアルブート・マルチブートできます。
前回の記事にコメントを追記しておきましたので、そちらをご覧ください。

Windows上で作業する方がやはり楽ですね。
それにしても、Ubuntuのセットアップはだんだん時短されて、どんどん良くなって行きますね。
私のように半年 or 1年毎にクリーンインストールするのが一番良いのかもしれません。
Windowsもパッチが出るまでの間は良いのですが、OSのセットアップ+Windows Updateをすると時を経るほどにどんどん必要時間が延びて(特に .NET FrameworkとOfficeのパッチは時間がかかる)困り者です。

2011-05-03

WindowsのブートローダーでLinuxとデュアルブートする方法 - Ubuntu 11.04/12.04/12.10, Grub2の場合

Ubuntu 11.04/12.04/12.10はAppMenu (Global Menu) を採用し、よりMacに近い先進的なユーザインターフェースになりました。
インストーラもデュアルブート派(マルチブート派)により優しくなりました。
以前の投稿と同じく、Windowsのブートローダ(ntldr)でUbuntuとマルチブートするためのインストール手順を記します。

Windows 8/7/Vista/XPのブートローダで、Ubuntu Linux 11.04~12.10をデュアルブートする方法:
  1. Windowsを新規インストール、またはインストール済みのWindowsのパーティションを分けてUbuntuをインストールするエリアを作成します。
    ここでは3つのパーティション、つまりWindows用のNTFS、Ubuntu用の空きパーティション、共有用のFAT32を作成するものとします。
    容量は私の場合は80GBを40GB、20GB、10GBに分けました(テストマシンなので少なめ)。
    8/7/VistaではWindowsの管理ツールでパーティションの縮小、分割が簡単にできます。
  2. 次に、Ubuntuを真ん中のパーティションにインストールします。
    1. UbuntuのCDまたはUSBから起動し、最初のメニューで [Ubuntuを試す] を選びます。
    2. 起動後、必要であれば、
      無線LANなどネットワーク環境の設定を行います(必須ではない、インストール後じっくりやる方がよいかも)。
      また、Gpartedツール(システムメニューでgpartedと入力して検索、起動する)でパーティションの状態を確認することができます。必要であれば、過去にインストールしたUbuntuのパーティション(ブートローダ、本体、スワップ)を削除します(結果、ひとつの空き領域にします)。
    3. デスクトップにある [Install Ubuntu 11.04] を起動します。
      1. [言語の選択] で好きな言語(日本語)を選びます。
      2. [ディスク領域の割り当て] で [それ以外] を選びます
        (デフォルトの [UbuntuをWindows 7とは別にインストール] を選んでしまうと全自動インストールが走りブートローダが上書きされてしまうので、注意)。
      3. まず、スワップパーティションを作成します
        (スワップパーティションはなくてもLinuxは問題なく起動しますが、作成するのが一般的です)。
        表示されるパーティション一覧から、[空き領域] を選んで、[追加] を押します。サイズは4GB程度(Linuxサーバでは物理メモリの3倍程度と言っていましたが、昔話となりました)、場所は [後ろ]、マウントポイントは [swap] を選んで [OK] を押します。
      4. 次に、Ubuntu本体をインストールするパーティションを作成します。
        表示されるパーティション一覧から、[空き領域] を選んで、[追加] を押します。
        サイズはそのまま(全て)、マウントポイントは [/] を選んで [OK] を押します。
      5. ここで、[/] に設定したパーティションの名前を記録しておきます。
        私の場合は sda7 になりました(以前紹介した手順に比べて作成するパーティションがひとつ少なくすんでいます)。
      6. [Device for boot loader installation:] に先に記録したパーティション(私の場合sda7)を指定します。
        この手順を忘れる・間違うとWindowsのブートローダが上書きされるので、特に注意してください。
      7. [インストール] を押して、インストールを開始します。
  3. 再起動後、Ubuntuは起動しないので、今まで通りWindowで起動します。
  4. WindowsのブートローダからLinuxを起動するためのツールとしてgrub4dosを使用します(以下、設定済みの場合は4、5、6はスキップしてかまいません)。
    grldrとgrldr.mbrを c:\ に(Cドライブの直下に)コピーします。
  5. Linuxを起動するためのメニューを作成します。
    以下の内容で C:\ に menu.lst という名前のテキストファイルを作成します。
    2行目 hd0,6 の2番目の数字は、Ubuntu本体のパーティション番号マイナス1の数字です。
    sda7の場合は hd0,6 とします。
    title    Linux
    root (hd0,6)
    kernel /boot/grub/core.img
    
    ※ Ubuntu 12.10の場合は以下の内容とします。
    title    Linux
    root (hd0,6)
    kernel /boot/grub/i386-pc/core.img
  6. WindowsのブートメニューにUbuntuを追加します。
    Windows 7/Vistaの場合、管理者モードのDOS窓を開き、次のコマンドを実行します。
    2行目以降の {xxxx} は、1行目の実行結果で表示されるidを指定します。
    追加後、引数なしのbcdeditで「リアルモードブートセクター」のところに表示されることを確認します。
    bcdedit /create /d "Linux" /application bootsector
    bcdedit /set {xxxx} device partition=C:
    bcdedit /set {xxxx} path \grldr.mbr
    bcdedit /displayorder {xxxx} /addlast
    Windows XPの場合は、テキストエディタでC:\ にあるboot.iniに下記を追加します(システムファイル、隠しファイルになっている場合は解除してから)。
    C:\grldr="Linux"
  7. リブートして確認します。
    WindowsのブートメニューにLinuxの項目が追加されているはずです。
    Ubuntuを起動するときは、WindowsのブートメニューでLinuxを選んだ後、さらにLinuxを選び、次に表示されるUbuntuのブートローダーで一番上を選びます。
Linuxのブートローダ (Grub2) に比べてWindowsのブートローダ (ntldr) は融通が利かないので、安全のためWindows主体のブート方法をとりました。
こうすることで、Windowsを再インストールしたり、バージョンアップしたり、Linuxを入れ替える場合にも、ブートローダの上書きを気にせず安心して作業できます。

なお、Windowsのgrub4dosはgrubのバージョン1なので、(標準のインストール状態の)Ubuntu 11.04を直接ブートできません。
WindowsのgrubからUbuntuのgrub2をロードし、そこからUbuntuをブートしています(チェインロード)。

以前の投稿:

(Ubuntu 10.10/11.10はスキップしてしまいました。)

[2012-06-17] Ubuntu 12.04で確認しました。手順はほとんど同じで、ディスク領域を割り当てる2-3-3〜2-3-6までが一つの画面でできるように改良されています。
[2012-12-31] Ubuntu 12.10での手順を追加しました。コメントでの情報ありがとうございます、活用させていただきます。
[2013-02-23] Windows 8でもWindows 7と同様に設定できるとの情報をReatさんからもいただきました。ありがとうございます。

2010-08-10

WindowsのブートローダーでLinuxとデュアルブートする方法 - Ubuntu 10.04 LTS, Grub 2の場合

[2011-05-03] Ubuntu 11.04用の手順を作成しました。

以前、WindowsとUbuntu 9.04をWindowsのブートローダでデュアルブートする方法(初出)と、WindowsのブートローダーでLinuxとデュアルブートする方法 - Ubuntu 9.10, Grub 2の場合(Grub 2対応)を書きましたが、またしてもUbuntu 10.04 ではそのままの方法ではうまくできませんでした(いまさらながらで、すみません)。
Ubuntu 10.04では、インストールウィザードの一番最後にブートローダーのインストール先を指定するところで、すでに存在するパーティションからしか選択できなくなったためです。
そのため、Ubuntuのブートローダーのための小さなパーティションをあらかじめ作っておくようにしました。
以前の手順に今回の手順を追加して再録します。
Windows 7/Vista/XPのブートローダで、Ubuntu Linuxをデュアルブートする方法:
  1. Windowsを新規インストールします。
    パーティションはNTFS、Ubuntu用の空き、WindowsとUbuntuのデータ共有用のFAT32、の3つを作っておきます(FAT32のパーティションは結局ほとんど使うことはないかもしれません)。
    なお、パーティションを1つだけ作成して、後からパーティションを分けることも最近では可能ですが、間違いを少なくするために最初から分けておきます。
  2. 次にUbuntuを真ん中のパーティションにインストールします。
    1. CDからインストールする際、最初のメニューで「インストール」を選ぶのではなく、「インストールせずにUbuntuを使用する」を選びます。
    2. Gpartedツール(Administratorメニュー)で、真ん中の空きパーティションにUbuntuのブートローダ用の小さなパーティションを作成します。フォーマットはext4、サイズは最小限の512MB程度(100MB程度でよいですがGUIではこれ以上小さく指定できませんでした)。
      Gpartdで変更を適用します。そして、作成したパーティション名を覚えておきます(私の場合はsda6になりました、古いパーティションを何度も使っていると大きな数字になるようです)。
      (Ubuntuが既にインストールされている場合は、この段階でSwapも含めパーティションをきれいに削除してから作業します)
    3. インストールウィザードを起動します。
    4. Ubuntuのインストール先のパーティションの指定で、「空き領域を最大限利用する」を選択します。これで真ん中の空きパーティションが選ばれるはずです。
    5. インストールウィザードの最後の画面で、「拡張」ボタンを押して、ブートローダのインストール先を「sda6」(先ほど作成した小さなパーティションの名前を選ぶ)とします。
      この操作を忘れないでください。忘れるとWindowsのブートローダーが上書きされてしまいます。
    6. Ubuntuのインストールが終わったら、リブートしてWindowsを起動します。
      ブートメニューを設定していないので、この段階では、まだUbuntuは見えません。
  3. Windows上にgrub4dosをダウンロードし、grldrとgrldr.mbrの2つのファイルをC:\ (Cドライブ直下)にコピーします。
  4. チェインロードのためにメニューを作成します。
    以下の内容で C:\ にmenu.lstを作成します(2行目のhd0,6の数字をUbuntuのパーティションに合わせます。sda6は、ここではhd0,6になります ブートローダ用のパーティションの後ろにUbuntu本体のパーティションが作成され、そこに /boot/grub が格納されているはずです。ブートローダ用のパーティションがsda6の場合、/boot/grub のパーティションは sda7 となり、指定するのは hd0,6 となります。2番目の数字はパーティション番号マイナス1の数字です)。
    バックアップのために、grub4dosとmenu.lstはデータ共有パーティション(Dドライブ)にコピーしておくとよいです。
    title    Linux
    root (hd0,6)
    kernel /boot/grub/core.img
  5. WindowsのブートメニューにUbuntuを追加します。
    Windows 7/Vistaの場合、管理者モードのDOS窓を開き、次のコマンドを実行します。2行目以降の{xxxx}は、1行目の実行結果で表示されるidを指定します。
    追加後、引数なしのbcdeditで「リアルモードブートセクター」のところに表示されることを確認します。
    bcdedit /create /d "Linux" /application bootsector
    bcdedit /set {xxxx} device partition=C:
    bcdedit /set {xxxx} path \grldr.mbr
    bcdedit /displayorder {xxxx} /addlast
    Windows XPの場合は、テキストエディタでC:\ にあるboot.iniに下記を追加します(システムファイル、隠しファイルになっている場合は解除してから)。
    C:\grldr="Linux"
  6. リブートして確認。
    WindowsのブートメニューにLinuxの項目が追加されているはずです。
    Ubuntuを起動するときは、WindowsのブートメニューでLinuxを選んだ後、次に表示されるUbuntuのブートローダーで一番上を選びます。
Linuxに比べてWindowsのブートローダの方が融通が利かないので、私は、安全のためにWindows主体のブート方法をとっています。
こうすることで、Windowsを再インストールしたり、バージョン変更(XP=>7、7=>XPなど)で上書きする場合、Linuxを入れ替える場合にも、ブートローダの上書き順の制約を気にせず安心して作業できます。

[2011-05-03] パーティション番号の理解が間違っていたので訂正しました。Ubutu 11.04用の記事への参照を追加しました。

2010-01-11

WindowsのブートローダーでLinuxとデュアルブートする方法 - Ubuntu 9.10, Grub 2の場合

[2011-05-03] Ubuntu 11.04用の手順を作成しました。

以前、WindowsとUbuntu 9.04をWindowsのブートローダでデュアルブートする方法を書きましたが、Ubuntu 9.10ではそのままの方法ではうまくできませんでした。
Ubuntu 9.10はブートパーティションがext3からext4に、ブートローダがGrub 1 (Grub Legacy)からGrub 2に変わっています。
いろいろ試したところ、ext4はgrub4dosもサポートしているようなのですが、Grub 2をロードするには、いったんgrub4dosのgrub 1からGrub 2のブートイメージをロード(チェインロード)してやる必要があることが分かりました。
この操作は直接コマンドを入力しても可能ですが、今回はメニューに定義することで簡略化しました。
以前の手順に今回の手順を追加して再録します。
Windows Vista/7のブートローダで、Ubuntu 9.10 (Grub 2)をデュアルブートする方法:
  1. Windows Vista/7を新規インストールします。
    パーティションはNTFS、Ubuntu用の空き、共有用のFAT32の3つとしました(FAT32のパーティションは結局ほとんど使っていませんが)。
    Ubuntuを残して、Windowsを上書きしてクリーンインストールすることも問題なくできると思います。
  2. 次にUbuntuを真ん中の空きパーティションにインストールします。
    1. CDからインストールする際、最初のメニューで「インストール」を選ぶのではなく、「インストールせずにUbuntuを使用する」を選ぶのが良いです。Ubuntuを起動した後インストールできますし、他のツールを起動しながら並行してインストールできるからです。
    2. インストールウィザードを起動します。
    3. パーティション指定で、「空き領域を最大限利用する」を選択します。これで真ん中のパーティションが選ばれるはずです。
      Ubuntuが既にインストールされている場合は、事前にGPartedツール(Administratorメニュー)かWindowsからボリュームを削除しておきます。GPartedでの削除は、SwapパーティションのSwapを解除、Swapボリュームを削除、Ubuntuのパーティションを削除、操作を確定、の手順になります。
    4. インストールウィザードの最後の画面で「拡張」ボタンを押して、ブートローダのインストール先を「sda5」(正確なパーティション名は、インストールウィザードの最後の画面の表示を見るか、GPartedツールを横で起動して確認出来ます)とします。この操作を忘れないでください。
    5. Ubuntuのインストールが終わったら、リブートしてWindowsを起動します。
  3. Windows上にgrub4dosをダウンロードし、grldrとgrldr.mbrをCドライブの直下にコピーします。
  4. チェインロードのためのメニューを作成します【今回追加した手順】。
    以下の内容でmenu.lstを作成します(2行目のhd0,5の数字をUbuntuのパーティションに合わせます)。
    title    Linux
    root (hd0,5)
    kernel /boot/grub/core.img
  5. Vista/7 のブートメニューに次のコマンドでUbuntuを追加(管理者モードのDOS窓で)します。追加後、引数なしのbcdeditで「リアルモードブートセクター」のところに表示されることを確認します。
    bcdedit /create /d "Ubuntu 9.10" /application bootsector
    bcdedit /set {xxxx} device partition=C:
    bcdedit /set {xxxx} path \grldr.mbr
    bcdedit /displayorder {xxxx} /addlast
    XPの場合は、boot.iniに下記を追加します。
    C:\grldr="Linux"
  6. リブートして確認。
    Ubuntuを起動するときは、ブートメニューでLinuxを選んだ後、再度Ubuntuを選びます。
Linuxに比べてWindowsのブートローダの方が融通が利かないので、安全のためにWindows主体のブート方法をとっています。

[2010-01-16] パーティションエディタGPartedのtypoを修正
[2010-08-10] Ubuntu 10.04ではこの手順ではうまくいかないため、記事を更新し、作成しました。Ubuntu 10.04のインストーラはブートローダーの設定先に既存のフォーマット済みのパーティションからしか指定できなくなったようです。

2009-05-06

WindowsのブートローダーでLinuxとデュアルブートの方法

[2011-05-03] Ubuntu 11.04用の手順を作成しました。

Windows Vista SP2 RTM、Windows 7 RC、Ubuntu 9.04と新バージョンのリリースが忙しい4月でしたが、そんなにたくさん試せるマシンが手元にある訳がありません。
そこで、デュアルブート(Dual Boot)、トリプルブートをしたくなるのですが、Windows同士、Linux同士なら比較的楽でも、WindowsとLinuxの間では、ちょっと苦労します(しました)。
Windowsのほうが融通が利かないので、Windowsのブートローダーを使ったLinuxとのデュアルブートにしておいたほうが、後々安全そうです。
今回はかなり試行錯誤ののち、テスト用のマシンに下記のようにインストールしました。
  1. Windows 7を新規インストール(VistaやXPでもよい)。
    パーティションはNTFS(40GB)、空き(Ubuntu用20GB)、FAT32(データ用20GB)の3つを作成(FAT32のパーティションは必須ではなく、結局あまり使っていません)。
    なお、Windows 7は、フォーマットしていないパーティションもRAWディスクとしてドライブレターが付与されます。
  2. 次にUbuntuを真ん中の空きパーティションにインストール(ここでは9.04での動きを元に説明しています)。
    このとき、次の点に注意しました。
    1. パーティションの指定で、「独立したOSとしてインストール(Windowsは消さない)」をそのまま選ぶと、MBRがLinuxのブートローダ(Grub)で上書きされる(それでもデュアルブートにはしてくれるけれども、後々苦労しそうなので避ける)ので、「空き領域を最大限利用する」を選択。
    2. このときUbuntuのパーティションサイズがなぜか2.5GBの小さなものになり、先頭のWindowsのパーティションが35GB程度に拡張されるようになってしまうので、スライダーでWindowsのパーティションサイズを40GBに戻し、Ubuntuのパーティションを20GB確保する操作が必要でした。
    3. インストールウィザード最後の画面の「拡張」ボタンで、ブートローダのインストール先をsda5(今回Windows、Windowsのブート用の100MB、データの3つのパーティションがすでに存在するするので(それ+2))とします。
      これを忘れるとWindowsのブートローダが上書きされます。
      また、パーティション名は、パーティションエディタを横で起動して確認すると分かりやすいです。
    4. Ubuntuのインストールが終わったら、リブートしてWindowsで起動。
  3. WindowsのブートローダーからLinuxを起動するためのツールとして、grub4dosをダウンロードし、grldrとgrldr.mbrをC:\にコピー。
  4. Windows 7(Vistaでも同じ)のブートメニューに次のコマンドでUbuntuを追加(管理者モードのDOS窓で)。
    bcdedit /create /d "Ubuntu 9.04" /application bootsector
    bcdedit /set {xxxx} device partition=C:
    bcdedit /set {xxxx} path \grldr.mbr
    bcdedit /displayorder {xxxx} /addlast
      (XPの場合は、下記シノバーさんの記事の手順でブートメニューに追加します。)
  5. 引数なしのbcdeditで確認(「リアルモードブートセクター」のところに表示されること)。
  6. リブートして確認。
私も初めは、Ubuntuのインストーラでデュアルブート(GrubのメニューでWindowsを起動)を設定したほうが楽だと思って進めていたのですが、Ubuntuを再インストールしたくて、パーティションを間違った手順で削除してしまうと、WindowsのMBRを二度と復元できなくなった(Windowsの回復コンソールがどうやっても検出してくれない、bootsect f: /fixmbrがエラーする)ので、Windowsに優しい方法の方が良いと考えるようになりました。
また、Windowsでのデュアルブートの方法は、ケーズメモさんの「Windows VistaとUbuntu 7.10をデュアルブート」を参考に進めていたのですが、LinuxのMBRの抜き出しがうまくいかなかったことと、XPがない状態(ntldrがない状態)でやりたかったので、最終的には、grub4dosにたどり着きました(シノバーさんの「お家で使うLinux - WindowsからLinuxを起動する」が参考になりました)。
具体的なbcdeditの設定は、grub4dosのオンラインマニュアル「Load via bootmgr (Windows Vista/2008/7)」が決定打でした。

[2009-05-15] Windows 7専用の手順のような書き方だったので、VistaやXPに関するカッコ書きを追加しました。
[2010-01-11] Ubuntu 9.10の場合の手順を新しいエントリに書きました。Ubuntu 9.10はGrub 2になっているので、このままの手順ではブートできません。