web-dev-qa-db-ja.com

Windows 8 BIOS-外付けHDDからUbuntuを起動

私のラップトップには、Windows 8 64ビットがプリロードされています(ストレージデバイスのみが128 GB SSDです)。それは私の学校のラップトップなので、Windows 8と一緒にLinuxパーティションを作成することは、外付けハードドライブにUbuntuをインストールするのはあまり賢明ではないと聞きました。

次のパーティションを持つ500GBの外付けHDDがあります。

Main Partition - NFTS - ~400 GB
Extension Partition
    / - ext2 - ~25gb
    /home - ext2 - ~30gb
    swap - ext2 - 10gb
    /boot - ? - 10gb

? =パーティションがわからない

PenDriveLinuxインストーラーを使用して、4GBのUSBドライブにUbuntu 12.04(LTS)のLiveUSBバージョンを作成しました。それを使用して、Ubuntuを外付けハードドライブにインストールしましたが、エラーはありませんでした(または少なくとも通知されたものはありません)。

BIOS設定を使用して、OSのロード順序を次の順序に変更しました。

  1. 外付けUSB HDD
  2. Windowsブートローダー
  3. 他のこと

したがって、Ubuntuは最初にハードドライブからロードする必要がありますが、ロードしません。また、ハードドライブは正常に動作しており、BIOSの起動時に点灯します(ライトインジケーターがあります)。ラップトップを起動すると、直接Windows 8に移行します(高速起動設定も無効になっています)。

それで、私のHDDが接続されたときにUbuntuを自動的にロードするように設定する方法はありますか?前もって感謝します!

1
Rushy Panchal

UEFIマシンを持っているので、状況は少し変わっています。 64ビットバージョン12.04.2以降が必要です。残念ながら、これらの変更の一部は、まだgrubインストーラーで適切に処理されていません。ブートは、ディスク上の特別な場所ではなく、単なるファイルであるブートローダー専用の特別なパーティションを持っています。 EFIパーティションと呼ばれるハードディスク上のこのパーティションは、Ubuntuブートローダーを独自のEFIパーティションの外部ハードディスクに直接配置できるため、実際に変更する必要はありません。まず最初に、既存のEFIパーティションをバックアップします-それらは単なるファイルですが、バックアップUSBからそれらを復元することは、Windowsを復元するよりもはるかに簡単です。モードUEFI /レガシーを切り替えて外部のmsdosパーティションディスクを起動することは可能かもしれませんが、実行しているものに関係なく、UEFIモードのままにする方がはるかに便利です。外付けハードディスク上で(現在何もない場合は、最初にバックアップを行うと仮定して)すべてを削除し、パーティションテーブルをmsdosではなくgptパーティションテーブルとして再作成します。最初のパーティションは300M FAT(Meg、それは小さい!)EFIパーティションを作成します。 gptパーティショニングを理解するgpartedを使用します。次に、ブート、ルート、スワップ、ホームの順に配置します。 gptパーティションはすべてプライマリであるため、拡張/論理パーティションについて心配する必要はありません。 EFIブートファイルを手動で設定するか、gptディスクと実際のEFIターゲットパーティションを確認した後のインストーラーの動作を確認できます。 (以前に行ったように、ディスクの代わりに実際のEFIパーティションをブートローダーの場所として指定する必要がありますが、インストーラーはそれを無視してubuntuファイルをハードディスクのEFIに配置する場合があります。新しいファイルはすべて/ EFIの下にあります/ ubuntu。これが発生した場合、すべてをターゲットのEFIパーティションにコピーできます。ターゲットは「リムーバブルメディア」であるため、使用される実際のブートローダーは/ EFI/ubuntu内のものではなく、/ EFI/Boot /内にありますbootx64.efi。必要なブートローダーを選択します。shim.efi(セキュアブートの場合)、またはセキュアブートなしで実際にWindowsを起動できる場合はgrubx64.efiのいずれかを選択します。ブートローダーの名前を「bootx64.efi」に変更します。shimを使用している場合ブートローダーの場合、同じ/ EFI/Bootディレクトリにgrubx64.efiの(署名された)コピーも必要です(/ usr/lib/grub(?)でgrubの署名されたバージョンを探してください。これで、/ EFI/ubuntuにgrub.cfgファイルが必要になり、起動できるはずです。12.04がgrub.cfgファイルを取得していない可能性があります。維持されているgrub.cfgを/ boot/grubから取得する必要がありますが、作業を開始するには、ファイルの完全なコピーで十分です。ハードディスク上(またはNVRAM内)にubuntuのコピーがないため、grubインストーラーが行う他の悪いことは実際には起こらない可能性があります。幸運を

3
ubfan1